subagent-driven-development
Use when executing implementation plans with independent tasks in the current session
Skill by basnijholt
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/basnijholt-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: not checked yet.
What's inside
- Skill name
subagent-driven-development- Description
- Use when executing implementation plans with independent tasks in the current session
- License
- MIT
- Instructions
- 569 lines in SKILL.md · view on GitHub
Before installing
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Agent Skills spec issues
- body: 569 lines (spec recommends under 500)
Files (7)
- SKILL.md
- implementer-prompt.md
- re-review-prompt.md
- 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 even after baspowers:consulting-cross-model. For those, stop and ask.
## When to Use
```dot
digraph when_to_use {
"Have implementation plan?" [shape=diamond];
"Tasks mostly independent?" [shape=diamond];
"Native selected, 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?" -> "Native selected, or no subagent tool?" [label="yes"];
"Tasks mostly independent?" -> "Manual execution or brainstorm first" [label="no - tightly coupled"];
"Native selected, or no subagent tool?" -> "executing-plans" [label="yes"];
"Native selected, 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];
"Finding conflicts with plan text?" [shape=diamond];
"Rule on the conflict, ledger the ruling" [shape=box];
"Fix round R of 5: R≤3 resume implementer; R≥4 fresh implementer, more capable model" [shape=box];
"Dispatch scoped re-review (./re-review-prompt.md)" [shape=box];
"All findings addressed?" [shape=diamond];
"R = 5?" [shape=diamond];
"Adjudicate each open finding" [shape=box];
"Any load-bearing finding?" [shape=diamond];
"Rule and continue; stop only if every path forward is a guess" [shape=box];
"Park findings in ledger with rulings" [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];
"Dispatch final code reviewer (../requesting-code-review/code-reviewer.md)" [shape=box];
"Final findings? ONE fix dispatch, one scoped re-review, adjudicate residuals" [shape=box];
"Final review clean: delete this plan's workspace" [shape=box];
"Use baspowers: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?" -> "Finding conflicts with plan text?" [label="no"];
"Finding conflicts with plan text?" -> "Rule on the conflict, ledger the ruling" [label="yes"];
"Rule on the conflict, ledger the ruling" -> "Fix round R of 5: R≤3 resume implementer; R≥4 fresh implementer, more capable model";
"Finding conflicts with plan text?" -> "Fix round R of 5: R≤3 resume implementer; R≥4 fresh implementer, more capable model" [label="no"];
"Fix round R of 5: R≤3 resume implementer; R≥4 fresh implementer, more capable model" -> "Dispatch scoped re-review (./re-review-prompt.md)";
"Dispatch scoped re-review (./re-review-prompt.md)" -> "All findings addressed?";
"All findings addressed?" -> "Append completion to ledger, mark todo complete" [label="yes"];
"All findings addressed?" -> "R = 5?" [label="no"];
"R = 5?" -> "Fix round R of 5: R≤3 resume implementer; R≥4 fresh implementer, more capable model" [label="no - next round"];
"R = 5?" -> "Adjudicate each open finding" [label="yes - breaker trips"];
"Adjudicate each open finding" -> "Any load-bearing finding?";
"Any load-bearing finding?" -> "Rule and continue; stop only if every path forward is a guess" [label="yes"];
"Any load-bearing finding?" -> "Park findings in ledger with rulings" [label="no"];
"Park findings in ledger with rulings" -> "Append completion to ledger, mark todo complete";
"Append completion to ledger, mark todo complete" -> "More tasks remain?";
"More tasks remain?" -> "Dispatch implementer subagent (./implementer-prompt.md)" [label="yes"];
"More tasks remain?" -> "Dispatch final code reviewer (../requesting-code-review/code-reviewer.md)" [label="no"];
"Dispatch final code reviewer (../requesting-code-review/code-reviewer.md)" -> "Final findings? ONE fix dispatch, one scoped re-review, adjudicate residuals";
"Final findings? ONE fix dispatch, one scoped re-review, adjudicate residuals" -> "Final review clean: delete this plan's workspace";
"Final review clean: delete this plan's workspace" -> "Use baspowers:finishing-a-development-branch";
}
```
## SetupFrom basnijholt/baspowers, MIT.
More from basnijholt/baspowers
- 0.592score
diagnosing-baspowers
basnijholt
Use when a baspowers 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★ 1Claude Code +9 - 0.592score
executing-plans
basnijholt
Use when executing an implementation plan in the current session as the implementer yourself — Native (inline) execution was selected for the plan, or no…
SkillAFreshness: A★ 1Claude Code +9 - 0.591score
using-baspowers
basnijholt
Use when starting a new conversation or task, or when the task changes enough that different skills may apply
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
merging-when-approved
basnijholt
Use when asked to review a pull request and merge it only if approved, or before merging a pull request you wrote or changed
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
consulting-cross-model
basnijholt
Use when a hard technical decision remains ambiguous after inspecting relevant evidence and choosing incorrectly would cause meaningful rework
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
stopping-runaway-prs
basnijholt
Use when a pull request has grown well past its estimate, review rounds keep finding new defects, fixes keep spawning more fixes, or a change that claims to…
SkillAFreshness: A★ 1Claude Code +9 - 0.586score
scoring-pull-requests
basnijholt
Use when asked whether a pull request or change is good, clean, big, risky, over-engineered, or worth merging
SkillAFreshness: A★ 1Claude Code +9 - 0.586score
triaging-pr-backlogs
basnijholt
Use when asked to clean up, triage, or prune a backlog of open pull requests or issues
SkillAFreshness: A★ 1Claude Code +9 - 0.582score
reporting-status
basnijholt
Use when asked where things stand, what is left, or whether work is done or stuck, and when ending a turn after work on several items
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
wait-what
basnijholt
Use when the last message did not land and needs a simpler re-pitch with the missing context
SkillAFreshness: A★ 1Claude Code +9 - 0.564score
brainstorming
basnijholt
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
SkillAFreshness: A★ 1Claude Code +9 - 0.562score
using-git-worktrees
basnijholt
Use when starting feature work that needs isolation from the current workspace, or before executing implementation plans
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 8, 2026 (20 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/basnijholt/baspowers
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from basnijholt
- 0.592score
executing-plans
basnijholt
Use when executing an implementation plan in the current session as the implementer yourself — Native (inline) execution was selected for the plan, or no…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
diagnosing-baspowers
basnijholt
Use when a baspowers 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★ 1Claude Code +9 - 0.591score
using-baspowers
basnijholt
Use when starting a new conversation or task, or when the task changes enough that different skills may apply
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
merging-when-approved
basnijholt
Use when asked to review a pull request and merge it only if approved, or before merging a pull request you wrote or changed
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
consulting-cross-model
basnijholt
Use when a hard technical decision remains ambiguous after inspecting relevant evidence and choosing incorrectly would cause meaningful rework
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
stopping-runaway-prs
basnijholt
Use when a pull request has grown well past its estimate, review rounds keep finding new defects, fixes keep spawning more fixes, or a change that claims to…
SkillAFreshness: A★ 1Claude Code +9
Cite this page
subagent-driven-development skill. Agent Mart. https://agentmart.dev/skills/basnijholt-subagent-driven-development (last updated 2026-10-24)