| name | subagent-driven-development |
| description | Use when executing implementation plans with independent tasks in the current session |
Subagent-Driven Development
Execute plan by dispatching fresh subagent per task, with two-stage review after each: spec compliance review first, then code quality review.
Why subagents: Delegate tasks to specialized agents with isolated context. By precisely crafting their instructions, you ensure they stay focused. They should never inherit your session's context or history — you construct exactly what they need. This also preserves your own context for coordination work.
Core principle: Fresh subagent per task + two-stage review (spec then quality) = high quality, fast iteration
Continuous execution: Do not pause to check in with your human partner between tasks. Execute all tasks from the plan without stopping. The only reasons to stop are: BLOCKED status you cannot resolve, ambiguity that genuinely prevents progress, or all tasks complete.
When to Use
digraph when_to_use {
"Have implementation plan?" [shape=diamond];
"Tasks mostly independent?" [shape=diamond];
"Stay in this session?" [shape=diamond];
"subagent-driven-development" [shape=box];
"executing-plans" [shape=box];
"Manual execution or brainstorm first" [shape=box];
"Have implementation plan?" -> "Tasks mostly independent?" [label="yes"];
"Have implementation plan?" -> "Manual execution or brainstorm first" [label="no"];
"Tasks mostly independent?" -> "Stay in this session?" [label="yes"];
"Tasks mostly independent?" -> "Manual execution or brainstorm first" [label="no - tightly coupled"];
"Stay in this session?" -> "subagent-driven-development" [label="yes"];
"Stay in this session?" -> "executing-plans" [label="no - parallel session"];
}
The Process
digraph process {
rankdir=TB;
subgraph cluster_per_task {
label="Per Task";
"Dispatch implementer subagent" [shape=box];
"Implementer asks questions?" [shape=diamond];
"Answer questions" [shape=box];
"Implementer implements, tests, commits, self-reviews" [shape=box];
"Dispatch spec reviewer subagent" [shape=box];
"Spec reviewer: code matches spec?" [shape=diamond];
"Implementer fixes spec gaps" [shape=box];
"Dispatch code quality reviewer subagent" [shape=box];
"Code quality reviewer approves?" [shape=diamond];
"Implementer fixes quality issues" [shape=box];
"Mark task complete in TodoWrite" [shape=box];
}
"Read plan, extract all tasks, create TodoWrite" [shape=box];
"More tasks remain?" [shape=diamond];
"Dispatch final code reviewer for entire implementation" [shape=box];
"Use finishing-a-development-branch skill" [shape=box style=filled fillcolor=lightgreen];
"Read plan, extract all tasks, create TodoWrite" -> "Dispatch implementer subagent";
"Dispatch implementer subagent" -> "Implementer asks questions?";
"Implementer asks questions?" -> "Answer questions" [label="yes"];
"Answer questions" -> "Dispatch implementer subagent";
"Implementer asks questions?" -> "Implementer implements, tests, commits, self-reviews" [label="no"];
"Implementer implements, tests, commits, self-reviews" -> "Dispatch spec reviewer subagent";
"Dispatch spec reviewer subagent" -> "Spec reviewer: code matches spec?";
"Spec reviewer: code matches spec?" -> "Implementer fixes spec gaps" [label="no"];
"Implementer fixes spec gaps" -> "Dispatch spec reviewer subagent" [label="re-review"];
"Spec reviewer: code matches spec?" -> "Dispatch code quality reviewer subagent" [label="yes"];
"Dispatch code quality reviewer subagent" -> "Code quality reviewer approves?";
"Code quality reviewer approves?" -> "Implementer fixes quality issues" [label="no"];
"Implementer fixes quality issues" -> "Dispatch code quality reviewer subagent" [label="re-review"];
"Code quality reviewer approves?" -> "Mark task complete in TodoWrite" [label="yes"];
"Mark task complete in TodoWrite" -> "More tasks remain?";
"More tasks remain?" -> "Dispatch implementer subagent" [label="yes"];
"More tasks remain?" -> "Dispatch final code reviewer for entire implementation" [label="no"];
"Dispatch final code reviewer for entire implementation" -> "Use finishing-a-development-branch skill";
}
Model Selection
Use the least powerful model that can handle each role:
- Mechanical tasks (isolated functions, clear specs, 1-2 files): cheap/fast model
- Integration tasks (multi-file coordination, pattern matching): standard model
- Architecture/review tasks: most capable model
Handling Implementer Status
DONE: Proceed to spec compliance review.
DONE_WITH_CONCERNS: Read concerns before proceeding. If about correctness/scope, address first.
NEEDS_CONTEXT: Provide missing context and re-dispatch.
BLOCKED: Assess the blocker:
- Context problem → provide more context, re-dispatch
- Needs more reasoning → re-dispatch with more capable model
- Task too large → break into smaller pieces
- Plan is wrong → escalate to the human
Implementer Prompt Template
Brief the implementer subagent with:
- Full task text (extracted from plan — never make them read the plan file)
- Scene-setting context: which codebase, what's been built so far, where this task fits
- TDD requirement: write failing test first, then implement
- Self-review requirement before reporting done
- Report status: DONE / DONE_WITH_CONCERNS / NEEDS_CONTEXT / BLOCKED
Reviewer Prompt Templates
Spec reviewer: Given the task spec and git diff, does the implementation cover everything in the spec with nothing extra? Report: ✅ compliant or ❌ with specific gaps/extras.
Code quality reviewer: Review code quality against standards. Use requesting-code-review skill's template for full checklist. Report: ✅ approved or issues (Critical / Important / Minor).
Red Flags
Never:
- Start implementation on main/master branch without explicit user consent
- Skip reviews (spec compliance OR code quality)
- Proceed with unfixed issues
- Dispatch multiple implementation subagents in parallel (conflicts)
- Make subagent read plan file (provide full text instead)
- Skip scene-setting context
- Accept "close enough" on spec compliance
- Start code quality review before spec compliance is ✅ (wrong order)
- Move to next task while either review has open issues
Integration
- using-git-worktrees — ensures isolated workspace
- writing-plans — creates the plan this skill executes
- requesting-code-review — code review template for reviewer subagents
- finishing-a-development-branch — complete development after all tasks