Skip to content

kimtth/agent-artifact-driven-consulting

Repository files navigation

Artifact-Driven Development with GitHub Copilot

Turn any documentation URL into structured software artifacts — Architecture Decision Records (ADRs), Product Requirements Documents (PRDs), Technical Design Documents (TDDs), or Task Lists — using GitHub Copilot agent mode or a reproducible multi-agent Python pipeline.

Inspired by The importance of artifacts in AI-assisted programming: AI has no long-term memory, so artifacts become the only traceability mechanism — and the primary inputs that guide AI toward correct implementations.

1. GitHub Copilot (GHCP)

GitHub Copilot is an AI pair-programmer embedded in VS Code. In this project it is used in agent mode — Copilot reads .github/skills/ instruction files to gain domain knowledge and orchestrates multi-step tasks autonomously: fetching documentation, extracting structured artifacts, and writing output files, all within the editor.

Key files that shape Copilot's behaviour:

File Purpose
.github/skills/adr-normalization/SKILL.md Canonical ADR format & validation rules
.github/skills/prd-normalization/SKILL.md Canonical PRD format & validation rules
.github/skills/tdd-normalization/SKILL.md Canonical TDD format & validation rules
.github/skills/task-normalization/SKILL.md Canonical Task format & sequencing rules
AGENTS.md Agent roster and pipeline overview

sample output: sample_artifacts/github_copilot/*.md

2. Reproducible Agent Framework Approach

The pipeline is implemented with the Microsoft Agent Framework (agent-framework) and runs end-to-end from a single URL to a finished artifact file. Four document types are supported via --type:

ADR pipeline (default)

DocIngestAgent → ADRExtractionAgent → StubParserNode → BestPracticeAgent → ReportWriterNode → ADR.md
Stage Class / Factory Output
Fetch docs create_doc_ingest_agent raw page text
Extract stubs create_adr_extraction_agent ADRStubList (JSON)
Parse & relay StubParserNode formatted prompt
Expand entries create_best_practice_agent ADREntryList (JSON)
Write report ReportWriterNode ADR.md

PRD / TDD / Task pipelines

DocIngestAgent → {PRD|TDD|Task}ExtractionAgent → {PRD|TDD|Task}WriterNode → {PRD|TDD|TASKS}.md
--type Extraction Agent Writer Node Output
prd create_prd_extraction_agent PRDWriterNode PRD.md
tdd create_tdd_extraction_agent TDDWriterNode TDD.md
tasks create_task_extraction_agent TaskWriterNode TASKS.md

sample output: sample_artifacts/python_agent/*.md

Quick start

cp .env.example .env          # set AZURE_AI_PROJECT_ENDPOINT and AZURE_AI_MODEL_DEPLOYMENT_NAME
az login
uv sync
# ADR (default)
uv run python main.py https://learn.microsoft.com/en-us/power-platform/alm/pipelines ADR.md
# PRD
uv run python main.py https://example.com/spec PRD.md --type prd
# TDD
uv run python main.py https://example.com/design TDD.md --type tdd
# Task list
uv run python main.py https://example.com/design TASKS.md --type tasks

Tests

uv run pytest tests/ -v

About

Artifacts (PDR, ADR, TDD, TASK)-driven consulting agent

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages