subagent-driven-development
Use when executing implementation plans with independent tasks in the current session
Skill by obra
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/obra-subagent-driven-development
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/subagent-driven-development
What's inside
- Skill name
subagent-driven-development- Description
- Use when executing implementation plans with independent tasks in the current session
- License
- MIT
- Instructions
- 333 lines in SKILL.md · view on GitHub
Files (14)
- SKILL.md
- implementer-prompt.md
- re-review-prompt.md
- batching.md · references/
- cannot-verify.md · references/
- final-review.md · references/
- fix-loop.md · references/
- handling-reports.md · references/
- preflight.md · references/
- resuming.md · references/
- review-package · scripts/
- sdd-workspace · scripts/
- task-brief · scripts/
- task-reviewer-prompt.md
SKILL.md (first lines)
# Subagent-Driven Development
Execute plan by dispatching a fresh implementer subagent per task, a task review (spec compliance + code quality) after each, and a broad whole-branch review at the end.
**Why subagents:** You delegate tasks to specialized agents with isolated context. By precisely crafting their instructions and context, you ensure they stay focused and succeed at their task. 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 + task review (spec + quality) + broad final review = high quality, fast iteration
**Narration:** between tool calls, narrate at most one short line — the
ledger and the tool results carry the record.
**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 the four named below, or all tasks complete. "Should I continue?" prompts and progress summaries waste their time — they asked you to execute the plan, so execute it.
**Rulings, not stalls.** A running plan does not wait on a human. Conflicts,
ambiguities, plan defects, a cap you would have asked to exceed — decide
them. The spec is the binding authority, the plan is its argument, and your
judgment settles what neither answers. Record every decision in the ledger as
`Ruling: <what you decided> — <why> — <what it costs if wrong>`, and keep
going. A wrong ruling costs rework your human partner can see and undo; a
session parked on a question costs their whole day and buys nothing.
Four things stop you, and only these: an irreversible or destructive
operation; a security-sensitive action; a side effect outside this worktree
that norms say you ask about first (a merge, a push to a shared branch, a
publish); and a plan so broken that every path forward is a guess. For those,
stop and ask.
## When to Use
```dot
digraph when_to_use {
"Have implementation plan?" [shape=diamond];
"Tasks mostly independent?" [shape=diamond];
"Partner chose inline, or no subagent tool?" [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?" -> "Partner chose inline, or no subagent tool?" [label="yes"];
"Tasks mostly independent?" -> "Manual execution or brainstorm first" [label="no - tightly coupled"];
"Partner chose inline, or no subagent tool?" -> "executing-plans" [label="yes"];
"Partner chose inline, or no subagent tool?" -> "subagent-driven-development" [label="no"];
}
```
**vs. Executing Plans (inline):**
- Fresh subagent per task (no context pollution) instead of one context doing every task
- Review after each task (spec compliance + code quality) instead of only at the end
- Costs a fresh context per task and per review; inline costs one context plus one final reviewer
- Both run in this session, share the same plan workspace and ledger, and never pause between tasks
## The Process
```dot
digraph process {
rankdir=TB;
subgraph cluster_per_task {
label="Per Task";
"Dispatch implementer subagent (./implementer-prompt.md)" [shape=box];
"Implementer asks questions?" [shape=diamond];
"Answer questions, provide context" [shape=box];
"Implementer implements, tests, commits, self-reviews" [shape=box];
"Generate review package, dispatch task reviewer (./task-reviewer-prompt.md)" [shape=box];
"Spec ✅ and quality approved?" [shape=diamond];
"Fix loop: read references/fix-loop.md before every round" [shape=box];
"Append completion to ledger, mark todo complete" [shape=box];
}
"Setup: worktree, ledger check, read plan, pre-flight review" [shape=box];
"More tasks remain?" [shape=diamond];
"Final review and finish: read references/final-review.md" [shape=box];
"Final review clean: delete this plan's workspace" [shape=box];
"Use superpowers:finishing-a-development-branch" [shape=box style=filled fillcolor=lightgreen];
"Setup: worktree, ledger check, read plan, pre-flight review" -> "Dispatch implementer subagent (./implementer-prompt.md)";
"Dispatch implementer subagent (./implementer-prompt.md)" -> "Implementer asks questions?";
"Implementer asks questions?" -> "Answer questions, provide context" [label="yes"];
"Answer questions, provide context" -> "Implementer implements, tests, commits, self-reviews";
"Implementer asks questions?" -> "Implementer implements, tests, commits, self-reviews" [label="no"];
"Implementer implements, tests, commits, self-reviews" -> "Generate review package, dispatch task reviewer (./task-reviewer-prompt.md)";
"Generate review package, dispatch task reviewer (./task-reviewer-prompt.md)" -> "Spec ✅ and quality approved?";
"Spec ✅ and quality approved?" -> "Append completion to ledger, mark todo complete" [label="yes"];
"Spec ✅ and quality approved?" -> "Fix loop: read references/fix-loop.md before every round" [label="no"];
"Fix loop: read references/fix-loop.md before every round" -> "Append completion to ledger, mark todo complete" [label="addressed, or parked at the cap"];
"Append completion to ledger, mark todo complete" -> "More tasks remain?";
"More tasks remain?" -> "Dispatch implementer subagent (./implementer-prompt.md)" [label="yes"];
"More tasks remain?" -> "Final review and finish: read references/final-review.md" [label="no"];
"Final review and finish: read references/final-review.md" -> "Final review clean: delete this plan's workspace";
"Final review clean: delete this plan's workspace" -> "Use superpowers:finishing-a-development-branch";
}
```
## Setup
Ensure the work happens in an isolated workspace: use
superpowers:using-git-worktrees to create one or verify the existing one.
Never start implementation on a main/master branch without your human
partner's explicit consent.
Conversation memory does not survive compaction. In real sessions,
controllers that lost their place have re-dispatched entire completed task
sequences — the single most expensive failure observed. Track progress in
a ledger file, not only in todos.
- Each plan owns a workspace: at skill start, run this skill's
`bash scripts/sdd-workspace PLAN_FILE` — it prints the plan's git-ignored
directory (under `<repo-root>/.superpowers/sdd/`), home to
every artifact for THIS plan: ledger, briefs, reports, review packages.
Another plan's directory is never yours to read or write.
- Check for this plan's ledger at `<workspace>/progress.md`. If one exists,
read [references/resuming.md](references/resuming.md) before anything
else: it says whose ledger it is and where to resume.
- Create the ledger with its identity as the first line:
`# SDD ledger — plan: <plan file path>`.
- The ledger is your recovery map: the commits it names exist in git even
when your context no longer remembers creating them. After compaction,From obra/superpowers, MIT.
More from obra/superpowers
- 0.891score
executing-plans
obra
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.891score
diagnosing-superpowers
obra
Use when a superpowers session went wrong and your human partner wants to know why — repeated work, ignored plans, stumbles, poor results, a skill that didn't…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.750score
using-superpowers
obra
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.750score
AGENTS.md · obra/superpowers
obra
AGENTS.md from obra/superpowers: 122 lines covering If You Are an AI Agent, Pull Request Requirements, What We Will Not Accept, New Harness Support and more.
TemplateAFreshness: A★ 304.6KCodex +5 - 0.747score
brainstorming
obra
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.745score
writing-skills
obra
Use when creating new skills, editing existing skills, or verifying skills work before deployment
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.745score
verification-before-completion
obra
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.745score
receiving-code-review
obra
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.745score
using-git-worktrees
obra
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.744score
dispatching-parallel-agents
obra
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.744score
finishing-a-development-branch
obra
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.744score
systematic-debugging
obra
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
SkillAFreshness: A★ 304.6KClaude Code +9
Compare and alternatives
Signals
- Stars
- 304,566
- Forks
- 27,135
- Open issues
- 185
- Contributors
- 44
- Last commit (this folder)
- Oct 21, 2026 (5 days ago)
- Last release
- Oct 21, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/obra/superpowers
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from obra
- 0.891score
diagnosing-superpowers
obra
Use when a superpowers session went wrong and your human partner wants to know why — repeated work, ignored plans, stumbles, poor results, a skill that didn't…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.891score
executing-plans
obra
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.750score
using-superpowers
obra
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.750score
AGENTS.md · obra/superpowers
obra
AGENTS.md from obra/superpowers: 122 lines covering If You Are an AI Agent, Pull Request Requirements, What We Will Not Accept, New Harness Support and more.
TemplateAFreshness: A★ 304.6KCodex +5 - 0.747score
brainstorming
obra
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.745score
receiving-code-review
obra
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires…
SkillAFreshness: A★ 304.6KClaude Code +9
Cite this page
subagent-driven-development skill. Agent Mart. https://agentmart.dev/skills/obra-subagent-driven-development (last updated 2026-10-24)