Use when executing decomposed plans with parallel batches - dispatches up to 2 fresh subagents per batch with code review between batches, enabling fast parallel iteration with quality gates
Execute decomposed plan by dispatching fresh subagent(s) per batch (up to 2 parallel), with code review after each batch.
Core principle: Fresh subagent per task + up to 2 parallel when safe + review between batches = high quality, fast iteration
vs. Subagent-Driven Development:
vs. Executing Plans:
When to use:
When NOT to use:
REQUIRED: Must have run decomposing-plans skill first to create:
docs/plans/tasks/<plan-name>/<feature>-task-NN.mddocs/plans/tasks/<plan-name>/<feature>-manifest.jsonWhere <plan-name> is the full plan filename (e.g., 2025-01-18-user-auth)
Read manifest file from docs/plans/tasks/<feature>-manifest.json.
Create TodoWrite with all batches:
- [ ] Execute batch 1 (tasks X, Y)
- [ ] Review batch 1
- [ ] Execute batch 2 (task Z)
- [ ] Review batch 2
...
For each batch in parallel_batches array:
If batch has 1 task:
Dispatch fresh subagent (same as original):
Task tool (general-purpose):
description: "Implement Task N: [task name]"
prompt: |
You are implementing Task N from the decomposed plan.
Read the task file: docs/plans/tasks/<plan-name>/<feature>-task-NN.md
Your job is to:
1. Read that task file carefully
2. Implement exactly what the task specifies
3. Write tests (following TDD if task says to)
4. Verify implementation works
5. Commit your work
6. Report back
Work from: [directory]
Report: What you implemented, what you tested, test results, files changed, any issues
If batch has 2 tasks:
Dispatch TWO fresh subagents IN SINGLE MESSAGE (parallel execution):
<function_calls>
<invoke name="Task">
<parameter name="subagent_type">general-purpose</parameter>
<parameter name="description">Implement Task N: [task name]</parameter>
<parameter name="prompt">
You are implementing Task N from the decomposed plan.
Read the task file: docs/plans/tasks/<plan-name>/<feature>-task-NN.md
Your job is to:
1. Read that task file carefully
2. Implement exactly what the task specifies
3. Write tests (following TDD if task says to)
4. Verify implementation works
5. Commit your work
6. Report back
Work from: [directory]
Report: What you implemented, what you tested, test results, files changed, any issues
</parameter>
</invoke>
<invoke name="Task">
<parameter name="subagent_type">general-purpose</parameter>
<parameter name="description">Implement Task M: [task name]</parameter>
<parameter name="prompt">
You are implementing Task M from the decomposed plan.
Read the task file: docs/plans/tasks/<plan-name>/<feature>-task-MM.md
Your job is to:
1. Read that task file carefully
2. Implement exactly what the task specifies
3. Write tests (following TDD if task says to)
4. Verify implementation works
5. Commit your work
6. Report back
Work from: [directory]
Report: What you implemented, what you tested, test results, files changed, any issues
</parameter>
</invoke>
</function_calls>
CRITICAL: Both Task tools in SINGLE message = true parallel execution.
Subagent(s) report back with summary of work.
Get git SHAs:
Dispatch code-reviewer subagent:
If batch had 1 task:
Task tool (superpowers:code-reviewer):
Use template at requesting-code-review/code-reviewer.md
WHAT_WAS_IMPLEMENTED: [from subagent's report]
PLAN_OR_REQUIREMENTS: Task N from docs/plans/tasks/<plan-name>/<feature>-task-NN.md
BASE_SHA: [commit before batch]
HEAD_SHA: [current commit]
DESCRIPTION: [task summary]
If batch had 2 tasks:
Task tool (superpowers:code-reviewer):
Use template at requesting-code-review/code-reviewer.md
WHAT_WAS_IMPLEMENTED: |
Task N: [from subagent 1's report]
Task M: [from subagent 2's report]
PLAN_OR_REQUIREMENTS: |
Task N: docs/plans/tasks/<plan-name>/<feature>-task-NN.md
Task M: docs/plans/tasks/<plan-name>/<feature>-task-MM.md
BASE_SHA: [commit before batch]
HEAD_SHA: [current commit]
DESCRIPTION: Batch with tasks N and M - [summary of both]
Code reviewer returns: Strengths, Issues (Critical/Important/Minor), Assessment
Important: When reviewing 2 tasks, code-reviewer also checks:
If issues found:
Dispatch follow-up subagent if needed:
If issues in 1 task:
Task tool (general-purpose):
description: "Fix issues from code review in Task N"
prompt: |
Fix issues from code review for Task N.
Issues to fix: [list issues]
Original task: docs/plans/tasks/<feature>-task-NN.md
Fix the issues, verify tests pass, commit, report back.
If issues in both tasks:
<function_calls>
<invoke name="Task">
<parameter name="subagent_type">general-purpose</parameter>
<parameter name="description">Fix issues in Task N</parameter>
<parameter name="prompt">
Fix issues from code review for Task N.
Issues to fix: [list issues for task N]
Original task: docs/plans/tasks/<plan-name>/<feature>-task-NN.md
Fix the issues, verify tests pass, commit, report back.
</parameter>
</invoke>
<invoke name="Task">
<parameter name="subagent_type">general-purpose</parameter>
<parameter name="description">Fix issues in Task M</parameter>
<parameter name="prompt">
Fix issues from code review for Task M.
Issues to fix: [list issues for task M]
Original task: docs/plans/tasks/<plan-name>/<feature>-task-MM.md
Fix the issues, verify tests pass, commit, report back.
</parameter>
</invoke>
</function_calls>
Update manifest.json:
Mark batch complete in TodoWrite
Move to next batch, repeat steps 2-5.
After all batches complete, dispatch final code-reviewer:
Task tool (superpowers:code-reviewer):
Use template at requesting-code-review/code-reviewer.md
WHAT_WAS_IMPLEMENTED: [summary of ALL tasks from manifest]
PLAN_OR_REQUIREMENTS: Original plan file + all task files
BASE_SHA: [initial commit before all work]
HEAD_SHA: [current commit after all work]
DESCRIPTION: Complete implementation of [feature name]
Final reviewer:
After final review passes:
You: I'm using Parallel Subagent-Driven Development to execute this decomposed plan.
[Load manifest, create TodoWrite with batches]
Batch 1 (Tasks 1 & 2 - parallel):
[Dispatch 2 implementation subagents IN SINGLE MESSAGE]
Subagent 1: Implemented user model with tests, 5/5 passing
Subagent 2: Implemented logger with tests, 3/3 passing
[Get git SHAs, dispatch code-reviewer]
Reviewer:
Strengths: Both well-tested, clean separation
Issues: None
Ready.
[Update manifest: tasks 1,2 done]
[Mark Batch 1 complete]
Batch 2 (Task 3 - sequential):
[Dispatch 1 implementation subagent]
Subagent: Added user validation, 8/8 tests passing
[Dispatch code-reviewer]
Reviewer:
Strengths: Good validation logic
Issues (Important): Missing edge case for empty email
[Dispatch fix subagent]
Fix subagent: Added empty email check, test added, passing
[Verify fix, update manifest: task 3 done]
[Mark Batch 2 complete]
Batch 3 (Tasks 4 & 5 - parallel):
[Dispatch 2 implementation subagents IN SINGLE MESSAGE]
Subagent 1: Implemented API endpoint, 6/6 passing
Subagent 2: Implemented CLI command, 4/4 passing
[Dispatch code-reviewer]
Reviewer:
Strengths: Both implementations solid
Issues: None
Ready.
[Update manifest: tasks 4,5 done]
[Mark Batch 3 complete]
[After all batches]
[Dispatch final code-reviewer]
Final reviewer: All requirements met, no integration issues, ready to merge
Done! Using finishing-a-development-branch...
vs. Original Subagent-Driven Development:
vs. Manual execution:
vs. Executing Plans:
Cost:
Never:
If subagent fails task:
If both parallel subagents fail:
Required prerequisite:
Required workflow skills:
Subagents must use:
Alternative workflow:
See code-reviewer template: requesting-code-review/code-reviewer.md
Update manifest.json after each batch:
{
"tasks": [
{
"id": 1,
"status": "done",
"completed_at": "2025-01-18T10:30:00Z"
},
{
"id": 2,
"status": "done",
"completed_at": "2025-01-18T10:30:00Z"
},
{
"id": 3,
"status": "in_progress"
}
]
}
This allows resuming if interrupted and tracking overall progress.