ワンクリックで
subagent-driven-development
Use when executing implementation plans with independent tasks in the current session
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when executing implementation plans with independent tasks in the current session
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | subagent-driven-development |
| description | Use when executing implementation plans with independent tasks in the current session |
Execute a plan by dispatching fresh named team subagents per task, with two-stage review after each: spec compliance review first, then code quality review.
Why named agents: Named subagents can receive follow-up instructions via SendMessage without losing their context. Anonymous subagents are fire-and-forget — if the reviewer finds issues, you have to dispatch an entirely new agent. Named agents allow iterative review loops with the same agent.
Core principle: Fresh named subagent per task + two-stage review (spec then quality) = high quality, fast iteration
Named agents and beads are complementary — beads tracks what to do, naming enables how they coordinate.
.beads/: Use /beads-execution for the dispatch loop (bd ready → claim → dispatch → review → bd close). Agents dispatched by beads-execution MUST still have a name.For each task in the plan:
Dispatch named final-reviewer on the team for entire implementation.
MANDATORY: Every subagent MUST have a name. The hook will block anonymous agents.
Agent(
name="impl-task1",
description="Implement hook installation script",
prompt="[Full task text from plan]
[Scene-setting context: where this fits in the overall plan]
[Constraints, patterns to follow, files to touch]
Use SendMessage to ask questions.
Before modifying or recommending any file path, verify it exists with Glob or Read. Never assume a path exists based on convention.
Begin by making an explicit plan. List the steps you will take, then execute them one by one, checking off each step.
Follow TDD: write tests first, then implement.
Report status: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED"
)
Agent(
name="spec-reviewer-task1",
description="Review spec compliance for task 1",
prompt="Review the implementation by impl-task1 against this spec:
[Full spec text]
Before reviewing any file path, verify it exists with Glob or Read. Never assume a path exists based on convention.
Check: Does the code match the spec exactly?
- Missing requirements?
- Extra features not in spec?
- Incorrect behavior?
Report: ✅ Spec compliant OR ❌ with a numbered list of specific failures."
)
Use the adversarial-reviewer agent type for quality review — it is hostile, expert, and personally motivated to find failures.
Agent(
name="quality-reviewer-task1",
subagent_type="adversarial-reviewer",
description="Review code quality for task 1",
prompt="Review code quality for the commits by impl-task1.
[Git SHAs or file paths for the relevant changes]
Before reviewing any file path, verify it exists with Glob or Read. Never assume a path exists based on convention.
Check: Is the code well-written?
- Test coverage adequate?
- Clean, readable code?
- Following project patterns?
Report: ✅ Approved OR ❌ with a numbered list of specific issues."
)
When a reviewer finds issues, send fixes back to the implementer:
SendMessage(
to="impl-task1",
message="Spec reviewer found these issues:
1. Missing progress reporting (spec says 'report every 100 items')
2. Added --json flag that wasn't requested — remove it
Fix both and commit."
)
The implementer retains its full context and can fix efficiently.
Use the least powerful model that can handle each role:
Match depth of work to task type. Do not converge on an answer before reaching the expected effort level:
DONE: Proceed to spec compliance review.
DONE_WITH_CONCERNS: Read concerns. If about correctness or scope, use SendMessage to address. If observations, note and proceed.
NEEDS_CONTEXT: Use SendMessage to provide missing context — agent retains full state.
BLOCKED: Assess: context problem → SendMessage more context. Too hard → dispatch new agent with more capable model. Too large → break into pieces. Plan wrong → escalate to user.
You: I'm using Subagent-Driven Development to execute this plan.
[Read plan file, extract all tasks]
Task 1: Hook installation script
Agent(name="impl-hooks", prompt="[full task text]")
impl-hooks via SendMessage: "Should hooks install at user or system level?"
You: SendMessage(to="impl-hooks", message="User level (~/.config/myapp/hooks/)")
impl-hooks: DONE — implemented, 5/5 tests passing, committed
Agent(name="spec-review-hooks", prompt="Review against spec...")
spec-review-hooks: ✅ Spec compliant
Agent(name="quality-review-hooks", subagent_type="adversarial-reviewer", prompt="Review quality...")
quality-review-hooks: ✅ Approved
[Mark Task 1 complete. If beads: bd close <task-id>]
Task 2: Recovery modes
Agent(name="impl-recovery", prompt="[full task text]")
impl-recovery: DONE — 8/8 tests passing
Agent(name="spec-review-recovery", prompt="Review against spec...")
spec-review-recovery: ❌ Missing progress reporting, extra --json flag
SendMessage(to="impl-recovery", message="Fix: remove --json, add progress reporting")
impl-recovery: Fixed, committed
Agent(name="spec-review-recovery-2", prompt="Re-review...")
spec-review-recovery-2: ✅ Spec compliant
Agent(name="quality-review-recovery", subagent_type="adversarial-reviewer", prompt="Review quality...")
quality-review-recovery: Issue: magic number (100)
SendMessage(to="impl-recovery", message="Extract PROGRESS_INTERVAL constant")
impl-recovery: Done, committed
[Mark Task 2 complete]
[After all tasks]
Agent(name="final-reviewer", subagent_type="adversarial-reviewer", prompt="Final review...")
final-reviewer: All requirements met, ready to merge
Done!
For the coordinator (you):
DO NOT STOP after a task completes. Check More tasks remain? and KEEP GOING.
If a reviewer finds issues, loop until they're fixed — do not report "issues found"
and stop. If the final reviewer finds problems, dispatch agents to fix them. The
process ends when ALL tasks are done AND the final review passes AND verification
confirms the outcome end-to-end. Anything short of that is not done.
For every implementer prompt, append this block:
CONTINUATION DISCIPLINE: DO NOT wind down prematurely. DO NOT summarize remaining work and stop. If you find additional problems while implementing, FIX THEM. If a test fails, debug and fix it — do not report the failure and stop. If you hit an obstacle, investigate and work around it. You are done when your implementation works end-to-end, tests pass, and you've self-reviewed. "I made good progress" is not DONE. "Tests pass and the feature works" is DONE.
For every reviewer prompt, append this block:
CONTINUATION DISCIPLINE: DO NOT rubber-stamp incomplete work. Read the ACTUAL code, not just the report. If you find issues, report ALL of them — do not stop after finding the first one. Your job is complete when you have verified every requirement against the actual implementation code.
Never:
name (they're anonymous and unaddressable)Before starting:
/discovery to produce a design doc and walking skeleton tasks. For bugs and chores, a task list or notes are sufficient.git checkout -b <branch-name>Final code review:
/code-review for a diff-level pass, or dispatch an adversarial-reviewer agent against the branch as the final gate before merge.Merging:
git push -u origin <branch-name>gh pr create --fillWith beads:
/beads-execution which wraps this skill with bd status tracking. Named agents are still required.Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when adding or modifying a hook, gate, denial/permission message, or waiver/exemption/override path; when deciding whether to keep, revise, or retire a rule or gate; or when auditing a gate or triaging a complaint that a gate causes friction. The implementation manual for building gates that are enabling not coercive — escape paths, persistent signal, value-not-presence validation, with audit-validated reference designs and anti-patterns.
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.