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.
Core principle: Fresh subagent per task + two-stage review (spec then quality) = high quality, fast iteration
When to Use
mermaid
flowchart LR
have_plan{"Have implementation plan?"}
tasks_independent{"Tasks mostly independent?"}
stay_session{"Stay in this session?"}
subagent["subagent-driven-development"]
executing["executing-plans"]
manual["Manual execution or brainstorm first"]
have_plan -->|yes| tasks_independent
have_plan -->|no| manual
tasks_independent -->|yes| stay_session
tasks_independent -->|"no - tightly coupled"| manual
stay_session -->|yes| subagent
stay_session -->|"no - parallel session"| executing
vs. Executing Plans (parallel session):
- •Same session (no context switch)
- •Fresh subagent per task (no context pollution)
- •Two-stage review after each task: spec compliance first, then code quality
- •Faster iteration (no human-in-loop between tasks)
The Process
mermaid
flowchart TB
subgraph cluster_per_task["Per Task"]
d_impl["Dispatch implementer subagent (./implementer-prompt.md)"]
q_impl{"Implementer subagent asks questions?"}
ans["Answer questions, provide context"]
impl["Implementer subagent implements, tests, commits, self-reviews"]
d_spec["Dispatch spec reviewer subagent (./spec-reviewer-prompt.md)"]
spec_ok{"Spec reviewer subagent confirms code matches spec?"}
fix_spec["Implementer subagent fixes spec gaps"]
d_quality["Dispatch code quality reviewer subagent (./code-quality-reviewer-prompt.md)"]
quality_ok{"Code quality reviewer subagent approves?"}
fix_quality["Implementer subagent fixes quality issues"]
mark["Mark task complete in TodoWrite"]
end
read_plan["Read plan, extract all tasks with full text, note context, create TodoWrite"]
more_tasks{"More tasks remain?"}
final_review["Dispatch final code reviewer subagent for entire implementation"]
finish["Use superpowers:finishing-a-development-branch"]
read_plan --> d_impl
d_impl --> q_impl
q_impl -->|yes| ans
ans --> d_impl
q_impl -->|no| impl
impl --> d_spec
d_spec --> spec_ok
spec_ok -->|no| fix_spec
fix_spec --> d_spec
spec_ok -->|yes| d_quality
d_quality --> quality_ok
quality_ok -->|no| fix_quality
fix_quality --> d_quality
quality_ok -->|yes| mark
mark --> more_tasks
more_tasks -->|yes| d_impl
more_tasks -->|no| final_review
final_review --> finish
Prompt Templates
- •
./implementer-prompt.md- Dispatch implementer subagent - •
./spec-reviewer-prompt.md- Dispatch spec compliance reviewer subagent - •
./code-quality-reviewer-prompt.md- Dispatch code quality reviewer subagent
Example Workflow
code
You: I'm using Subagent-Driven Development to execute this plan. [Read plan file once: docs/plans/feature-plan.md] [Extract all 5 tasks with full text and context] [Create TodoWrite with all tasks] Task 1: Hook installation script [Get Task 1 text and context (already extracted)] [Dispatch implementation subagent with full task text + context] Implementer: "Before I begin - should the hook be installed at user or system level?" You: "User level (~/.config/superpowers/hooks/)" Implementer: "Got it. Implementing now..." [Later] Implementer: - Implemented install-hook command - Added tests, 5/5 passing - Self-review: Found I missed --force flag, added it - Committed [Dispatch spec compliance reviewer] Spec reviewer: ✅ Spec compliant - all requirements met, nothing extra [Get git SHAs, dispatch code quality reviewer] Code reviewer: Strengths: Good test coverage, clean. Issues: None. Approved. [Mark Task 1 complete] Task 2: Recovery modes [Get Task 2 text and context (already extracted)] [Dispatch implementation subagent with full task text + context] Implementer: [No questions, proceeds] Implementer: - Added verify/repair modes - 8/8 tests passing - Self-review: All good - Committed [Dispatch spec compliance reviewer] Spec reviewer: ❌ Issues: - Missing: Progress reporting (spec says "report every 100 items") - Extra: Added --json flag (not requested) [Implementer fixes issues] Implementer: Removed --json flag, added progress reporting [Spec reviewer reviews again] Spec reviewer: ✅ Spec compliant now [Dispatch code quality reviewer] Code reviewer: Strengths: Solid. Issues (Important): Magic number (100) [Implementer fixes] Implementer: Extracted PROGRESS_INTERVAL constant [Code reviewer reviews again] Code reviewer: ✅ Approved [Mark Task 2 complete] ... [After all tasks] [Dispatch final code-reviewer] Final reviewer: All requirements met, ready to merge Done!
Advantages
vs. Manual execution:
- •Subagents follow TDD naturally
- •Fresh context per task (no confusion)
- •Parallel-safe (subagents don't interfere)
- •Subagent can ask questions (before AND during work)
vs. Executing Plans:
- •Same session (no handoff)
- •Continuous progress (no waiting)
- •Review checkpoints automatic
Efficiency gains:
- •No file reading overhead (controller provides full text)
- •Controller curates exactly what context is needed
- •Subagent gets complete information upfront
- •Questions surfaced before work begins (not after)
Quality gates:
- •Self-review catches issues before handoff
- •Two-stage review: spec compliance, then code quality
- •Review loops ensure fixes actually work
- •Spec compliance prevents over/under-building
- •Code quality ensures implementation is well-built
Cost:
- •More subagent invocations (implementer + 2 reviewers per task)
- •Controller does more prep work (extracting all tasks upfront)
- •Review loops add iterations
- •But catches issues early (cheaper than debugging later)
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 (subagent needs to understand where task fits)
- •Ignore subagent questions (answer before letting them proceed)
- •Accept "close enough" on spec compliance (spec reviewer found issues = not done)
- •Skip review loops (reviewer found issues = implementer fixes = review again)
- •Let implementer self-review replace actual review (both are needed)
- •Start code quality review before spec compliance is ✅ (wrong order)
- •Move to next task while either review has open issues
If subagent asks questions:
- •Answer clearly and completely
- •Provide additional context if needed
- •Don't rush them into implementation
If reviewer finds issues:
- •Implementer (same subagent) fixes them
- •Reviewer reviews again
- •Repeat until approved
- •Don't skip the re-review
If subagent fails task:
- •Dispatch fix subagent with specific instructions
- •Don't try to fix manually (context pollution)
Integration
Required workflow skills:
- •superpowers:using-git-worktrees - REQUIRED: Set up isolated workspace before starting
- •superpowers:writing-plans - Creates the plan this skill executes
- •superpowers:requesting-code-review - Code review template for reviewer subagents
- •superpowers:finishing-a-development-branch - Complete development after all tasks
Subagents should use:
- •superpowers:test-driven-development - Subagents follow TDD for each task
Alternative workflow:
- •superpowers:executing-plans - Use for parallel session instead of same-session execution