A skills-based workflow template for structured, AI-supported software development.
Language-agnostic. Works with GitHub Copilot CLI and Claude Code. Run
/install-workflow <target>from this repo to deploy.
"If you wish to make an apple pie from scratch, you must first invent the universe." β Carl Sagan
Before an agent can work meaningfully, it needs a universe β a precise model of the application, its constraints, and its stack. Undefined universe in β undefined output out.
This workflow makes defining the universe the first conscious step. Everything else then follows in four colors:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Phase 0: UNIVERSE β /axiom (starts every task) β
β Reads or defines: architecture Β· stack Β· constraints β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ per task:
π΄ RED β Problem space /analyze /discuss /research
π΅ BLUE β Solution options /conceptualize
π’ GREEN β Solution design /design /diaboli β /brief β design.md
β
βΌ
BUILD β QA β LEARNING
Red is the red spot β "this is exactly where the problem is." Blue are raw solution options that together cover the red spot. Green is the one chosen solution tailored to the universe β design.md. And then: "Build me exactly that."
graph TD
AX["π /axiom<br/>Read or define universe"]
A["π΄ /analyze"]
R["π΄ /research"]
DI["π΄ /discuss (optional)"]
C["π΅ /conceptualize or /deep-conceptualize"]
DE["π’ /design"]
DAB["π’ /diaboli (optional β challenge + completeness)"]
BR["π’ /brief β design.md"]
L["π οΈ Local: Sub-Agent"]
CL["π οΈ Cloud: Coding Agent"]
QA["β
/qa Fleet"]
RT["β©οΈ /retro"]
AX --> A
A --> DI
DI --> R
R --> C
C --> DE
DE --> DAB
DAB --> BR
BR --> L
BR --> CL
L --> QA
CL --> QA
QA --> RT
Every task begins with /axiom. The Skill reads docs/project.md + docs/architecture.md β if a universe is already there: great, context is set, continue. If nothing is there or it is incomplete: Socratic dialogue about stack, constraints, NFAs, out-of-scope β the result is written to docs/.
The universe belongs to the project, not the task. /axiom writes it, /retro improves the workflow, but the universe only changes when the stack or constraints fundamentally change.
If the universe is not well defined: The agent proposes solutions that collide with the actual constraints. The error only becomes visible during implementation β an expensive correction loop.
/analyze makes the red spot precise. Which concrete problem should be solved? Which components are affected?
/research fills knowledge gaps with external context. On Copilot CLI this is a built-in agent; on Claude Code a custom Skill is shipped (uses WebSearch + Explore + gh search).
/discuss (optional) clarifies gray areas and assumptions before conceptualization.
/conceptualize shows raw solution options. Condition: together, all options cover the entire red spot. The user chooses which options to pursue further.
/deep-conceptualize (alternative) β several options are analyzed in parallel by separate agents, and a meta-agent synthesizes the result.
/design details the approved options as ADRs + pseudocode. Every decision needs a source. The result is a collaborative artifact β not finished code, but discussion material that is iterated on together.
/diaboli (optional) serves a dual role for high-complexity / high-risk designs: Devil's Advocate (creatively attacks the design from 5 angles) AND completeness check (verifies the design is ready for implementation against 6 mechanical dimensions). One Skill, two parts.
/brief always generates design.md β the green figure, the only handoff artifact to Phase 4. Three paths: local (design.md β Sub-Agent), cloud (design.md β cloud coding agent), existing issue (becomes the green figure).
design.md β Sub-Agent (local) or GitHub Issue (cloud coding agent).
/qa dispatches all 5 review dimensions in parallel as a Fleet:
| Dimension | Workflow Skill | Built-in equivalent used |
|---|---|---|
| Simplification | /simplify (Copilot) |
Claude's /simplify |
| Test coverage (mathematical) | /test-review |
β (custom on both) |
| Code review | /review (Copilot built-in) |
Claude's /code-review |
| Security | /security-review (Copilot) |
Claude's /security-review (built-in) |
| Docs vs. code | /doc-review |
β (custom on both) |
After every review: discuss findings and fix them. /qa itself stays on subscription budget; if you want deep cloud review, run /code-review ultra manually outside the workflow.
/retro improves the workflow (rules, Skills) β not the universe. The universe is only changed through /axiom.
/upstream transfers generic Skill improvements from the retrospective back to this repo as a PR β other projects benefit.
/downstream pulls the latest version of the Skills from this repo into your project. Local adjustments are diffed against canonical; you decide per Skill.
| Skill | Phase | Purpose |
|---|---|---|
/axiom |
0 β Universe | Socratic dialogue + codebase analysis β docs/ |
/analyze |
1 β Red | Open up the problem space, red spot |
/research |
1 β Red | Fill knowledge gaps (Copilot: built-in; Claude: shipped Skill) |
/discuss |
1 β Red | Clarify gray areas + user preferences |
/conceptualize |
2 β Blue | Show solution options, checkpoint |
/deep-conceptualize |
2 β Blue | Multi-Agent concept exploration (alternative) |
/design |
3 β Green | ADRs + pseudocode as a collaborative artifact |
/diaboli |
3 β Green | Devil's Advocate + completeness check (optional) |
/brief |
3 β 4 | Generates design.md β the green figure |
/simplify |
5 β QA | Simplify code (Copilot only; Claude uses built-in) |
/test-review |
5 β QA | Test coverage (mathematical, with matrix) |
/review |
5 β QA | (Built-in on both harnesses) Code review |
/security-review |
5 β QA | Security review, mandatory STRIDE (Copilot only; Claude uses its built-in) |
/doc-review |
5 β QA | Documentation review |
/qa |
5 β QA | Meta-Skill: all 5 review dimensions in parallel |
/retro |
6 β Learning | Improve the workflow |
/upstream |
6 β Learning | Send improvements back to the Skill repo |
/downstream |
Setup | Pull the latest Skills |
/next |
Workflow | Read plan.md, start the next Skill |
/install-workflow |
Setup (this repo only) | Install agentic-workflow into a target project |
This repo distributes the methodology β it does not apply itself. To use the workflow in your own project:
git clone https://github.com/pesteph/agentic-workflow.git ~/tools/agentic-workflowGitHub Copilot CLI or Claude Code β /install-workflow is registered for both.
/install-workflow /path/to/your/project
Optional: --harness=copilot|claude|both (default both).
/install-workflow detects which harness(es) you're using, installs the right files in your target, and handles both:
- First install β fresh setup, no existing methodology in target
- Upgrade β existing install gets updated; locally modified Skills get diffed and you decide per Skill
After /install-workflow, open your target project and run:
/axiom
/axiom defines the universe (project, architecture, domain). Then /analyze to start your first task.
- GitHub Copilot CLI β installs to
.github/skills/; uses Copilot's/researchand/reviewbuilt-ins - Claude Code β installs to
.claude/skills/; uses Claude's/code-review,/security-review,/simplifybuilt-ins; ships a custom/researchSkill (no Claude built-in)
Skills with harness equivalents are intentionally NOT installed (skip-list in .github/skills/install-workflow/SKILL.md).
agentic-workflow/
βββ AGENTS.md # canonical workflow rules
βββ skills/ # canonical Workflow Skills (18)
β βββ axiom/SKILL.md
β βββ analyze/SKILL.md
β βββ β¦ 16 more
β βββ (no verify β merged into diaboli)
βββ harnesses/ # per-harness templates that /install-workflow copies
β βββ copilot/
β β βββ copilot-instructions.md
β βββ claude/
β βββ CLAUDE.md
β βββ settings.json
βββ .github/ # this repo's own Copilot setup
β βββ copilot-instructions.md # minimal: "this repo provides /install-workflow"
β βββ skills/install-workflow/SKILL.md # /install-workflow exposed for Copilot CLI
βββ .claude/ # this repo's own Claude setup
βββ CLAUDE.md # minimal: "this repo provides /install-workflow"
βββ skills/install-workflow/SKILL.md # /install-workflow exposed for Claude Code
your-project/
βββ AGENTS.md # workflow rules at root
βββ .github/ # if Copilot:
β βββ copilot-instructions.md
β βββ skills/<name>/SKILL.md Γ17 (research, review skipped β Copilot built-ins)
βββ CLAUDE.md # if Claude:
βββ .claude/
β βββ settings.json
β βββ skills/<name>/SKILL.md Γ16 (review, security-review, simplify skipped β Claude built-ins)
βββ docs/ # created by /axiom β project universe
β βββ project.md
β βββ architecture.md
β βββ domain.md
βββ plan.md # workflow state
From inside your target project:
/downstream # pull latest Skills from this repo, with diff review per file
/upstream # push your improvements back as a PR
These work in the target, not in this distribution repo.
Tip:
/downstreamat the start of a new workflow cycle,/upstreamafter/retro.
The full rules are in AGENTS.md. The most important ones:
| # | Rule |
|---|---|
| 1 | Minimum workflow: Phase 0 β Phase 1 β Phase 3 + /brief β Phase 4 β Phase 5 β Phase 6 |
| 2 | Delegate: Main Agent = manager. All tasks β Sub-Agents with fresh context windows |
| 3 | Plan mode: Plan first, then implement after approval |
| 4 | No commit without approval: Only if the user explicitly says "commit" or "push" |
| 13 | Fact-based: No assumptions β provide a source or ask |
| 18 | No placeholders: "TBD", "TODO", "details to follow" are forbidden |
| 28 | Output format: Pure info β Plain HTML. Interaction needed β disposable web app (HTML + JS, autosave to localStorage, export via clipboard) |
This template is meant to evolve through use. If you sharpen a rule, improve a Skill prompt, or build a new Skill that fills a real gap in the workflow: share it back.
The workflow ships with a Skill made exactly for this β /upstream:
- Run
/retroafter a workflow cycle to capture what worked and what didn't. - Run
/upstreamto package your improvements into a clean PR against this repo. - Open the PR β even a single sharpened rule or a typo fix is welcome.
What we love to see:
- π§ Sharper rules β when a rule misfired or had a blind spot in real use
- π§© New Skills β when a recurring need has no Skill yet
- πͺ Better Skill prompts β clearer instructions, better outputs, fewer placeholders
- π Harness adapters β making the workflow run cleanly on Cursor, Aider, β¦
- π Docs & examples β real-world experience reports help everyone
The workflow gets more precise with every cycle β and every contribution makes it more precise for the next person, too. No improvement is too small. See CONTRIBUTING.md for the details.
You don't have to open a PR to share your experience. GitHub Discussions is the right place for:
- π Questions β something unclear in a Skill, a rule, or the setup
- π‘ Ideas β a new Skill concept, a better output format, a rule you'd challenge
- π Show & tell β how you use the workflow, what surprised you, what worked well
- π Something broke β a Skill prompt that misfired in practice
Every piece of real-world feedback sharpens the workflow for everyone. You don't have to have a fix ready β just describe what happened.
MIT