Skip to main content

subagent-driven-development

3-role pipeline (Implementer -> Spec Reviewer -> Quality Reviewer) for plan-driven multi-task implementation. Supports subagent dispatch (Agent tool) and Agent Teams (TeamCreate). Use when a plan file exists in docs/plans/ and work spans 3+ tasks.

Quellinformationen

Repository
kumaran-is/claude-code-onboarding
Letzte Quellaktivität
29. März 2026 um 13:29
Erkannte Sprache von SKILL.md
Englisch
Sterne
36
Forks
21

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
7 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
subagent-driven-development
description
3-role pipeline (Implementer -> Spec Reviewer -> Quality Reviewer) for plan-driven multi-task implementation. Supports subagent dispatch (Agent tool) and Agent Teams (TeamCreate). Use when a plan file exists in docs/plans/ and work spans 3+ tasks.
allowed-tools
Read, Glob, Bash
metadata
{"triggers":"subagent, SDD pipeline, multi-agent, agent teams, parallel agents, plan-driven implementation, TeamCreate","related-skills":"plan-mode-review, writing-skills, test-driven-development","domain":"workflow","role":"architect","scope":"design","output-format":"document"}
last-reviewed
2026-03-14
## Iron Law **NO AGENT DISPATCH WITHOUT A COMMITTED PLAN FILE IN `docs/plans/` — agents without a written plan produce unreviewed, unverifiable output** # Subagent-Driven Development (SDD) Turns an approved plan into working, reviewed code using a 3-role pipeline: **Implementer → Spec Reviewer → Quality Reviewer**. Works in two dispatch modes: subagent (Agent tool, sequential) and team (TeamCreate, concurrent). --- ## When to Use Prerequisites — both must be true: - A plan file exists at `docs/plans/YYYY-MM-DD-<feature>.md` (created via `/plan-review`) - The plan has 3 or more distinct implementation tasks Mode selection: | Condition | Use | |-----------|-----| | ≤5 tasks OR tech stack has no specialized implementer agent | **Subagent mode** | | 6+ tasks OR Java / NestJS / Flutter / Python with tech-specific implementer adds value | **Team mode** | Present to the developer at start: ``` Plan: [file]. [N] tasks detected. 1. Subagent mode — Agent tool, general-purpose agents, best for ≤5 tasks 2. Team mode — TeamCreate with tech-specific agents, best for 6+ tasks ``` --- ## The Pipeline This pipeline runs identically in both modes — only the dispatch mechanism differs. ### Step -1 — Research Phase (optional) Use when the feature touches an unfamiliar external API, a new compliance domain, or a third-party service the team hasn't integrated before. Dispatch a `general-purpose` agent with: - The feature name and the specific unknown (e.g., "Stripe Connect payouts API — we haven't used this before") - Output target: `docs/research/<feature>.md` - **Mandatory constraint in prompt:** "Your role is RESEARCH ONLY. Describe what exists — APIs, constraints, auth model, rate limits, SDK options, gotchas. Do NOT propose improvements, suggest refactors, or recommend implementation approaches. If you notice problems in the existing code, note them as observations only — not as suggestions. The Spec agent will decide what to build." The research agent should produce: API capabilities, key constraints, auth model, rate limits, SDK options, and gotchas. Save to `docs/research/<feature>.md` and commit before starting Step 0. The spec reviewer in Step 2 receives this file path inline — include it in the spec reviewer prompt so it can verify the implementer's API usage against the research findings. **Skip when:** the tech stack is familiar, no external unknowns, or the plan was produced from a previous research session. **Context Isolation:** After the Research agent completes and `docs/research/<feature>.md` is committed, issue `/clear` before dispatching the Spec/Implementer. Pass the research doc path as the only context carry-forward — do NOT carry the Research agent's conversation into Step 0. ### Step 0-PRE — Plan Validation Gate Before parsing tasks, validate the plan structure. This runs ONCE before any dispatch. **PR-Sizing Check:** Every task in the plan must be bounded to ≤1 PR. Flag any task that: - Touches more than 3 services simultaneously (e.g. NestJS + Flutter + Spring Boot in one task) - Modifies more than 15 files - Spans more than one tech-stack layer without a clear seam (split at the layer boundary) If any task fails the PR-sizing check: ``` PLAN VALIDATION FAILED: Task N: "[task title]" is too large for a single PR. Touches: [list services/files] Required split: [suggested sub-tasks A, B] → Update the plan file before continuing. ``` **Context Brief Check:** Every task must have a `## Context Brief` section (see `docs/plans/TEMPLATE.md`). If missing: ``` PLAN VALIDATION FAILED: Task N: "[task title]" is missing ## Context Brief section. Required fields: affected_files, preconditions, verification_command → Add the context brief to the plan file before continuing. ``` **Rollback Check:** Every task must have a `rollback_strategy` field. If missing: ``` PLAN VALIDATION FAILED: Task N: "[task title]" is missing rollback_strategy. → Add rollback strategy before continuing. ``` Skip validation only for plans with a single task (≤1 task = trivial, no gate needed). ### Step 0 — Parse the Plan Once Read the full plan file once. Extract every task as a structured object: ``` Task N: title: [task title from plan] full_text: [complete task description including acceptance criteria] tech_stack: [inferred from context — Java / NestJS / Python / Flutter / Angular / General] files_affected: [list if stated] ``` Create a `TaskCreate` entry for each task before starting any implementation. ### Step 1 — Per-Task Implementer Dispatch the implementer with: - Full task text (do NOT tell implementer to read the plan — provide it inline) - Tech-stack skill reference (e.g., "consult `.claude/skills/java-spring-api/`") - The implementer-prompt.md template content Implementer flow: 1. Implementer may ask clarifying questions → answer them → re-dispatch 2. Implementer implements, writes tests (TDD per `leverage-patterns.md` test-first), self-reviews 3. Implementer returns: what was built, tests, files changed, self-review findings 4. Implementer writes the **implementer handoff tag** at the end of its response — read [reference/handoff-tags.md](reference/handoff-tags.md) for the exact format 5. Orchestrator extracts the tag block verbatim for use in Step 2 — do NOT summarize it ### Step 2 — Spec Compliance Review Dispatch the spec reviewer with: - The task's full_text from Step 0 (the spec) - The implementer's full response from Step 1 - The implementer handoff tag block verbatim (from `reference/handoff-tags.md` format) - The spec-reviewer-prompt.md template content Spec reviewer flow: - Issues found → implementer fixes → spec review re-runs (no cap on iterations) - No issues → advance to Step 3 - Spec reviewer writes the **spec-reviewer handoff tag** at the end of its response — format in [reference/handoff-tags.md](reference/handoff-tags.md) - `CONDITIONAL PASS` = implementer must fix open issues before Step 3 starts ### Step 3 — Quality Review Dispatch the quality reviewer (routed by tech stack — see routing table below) with: - The files changed by the implementer (from implementer tag `FILES_CHANGED`) - The implementer handoff tag block verbatim - The spec-reviewer handoff tag block verbatim - Tech-stack reviewer instructions Quality reviewer flow: - Issues found → implementer fixes → quality review re-runs (not spec review — only quality) - No issues → mark `TaskUpdate: completed` → advance to next task - Quality reviewer writes the **quality-reviewer handoff tag** at the end of its response — format in [reference/handoff-tags.md](reference/handoff-tags.md) - After all tasks: collect all `DEFERRED:` entries from implementer tags → add to PR body as **Known Gaps / Deferred** ### Step 4 — Final Pass and PR After all tasks complete: 1. Dispatch `code-reviewer` agent on all changed files for a final cross-task consistency check 2. Create PR per CLAUDE.md git workflow (conventional commits, branch naming, squash merge target) --- ## Tech-Stack Routing Table (Quality Reviewer) | Tech Stack | Agent | |------------|-------| | Java / Spring Boot | `spring-reactive-reviewer` | | NestJS | `nestjs-reviewer` | | Python / FastAPI | `code-reviewer` | | Flutter | `riverpod-reviewer` | | Agentic AI | `agentic-ai-reviewer` | | Angular / General | `code-reviewer` | --- ## Subagent Mode Dispatch All agents dispatched via the `Agent` tool. **Implementer:** ``` Agent tool: subagent_type: general-purpose prompt: [implementer-prompt.md content] + [task full_text] + [tech-stack skill reference] ``` **Spec Reviewer:** ``` Agent tool: subagent_type: general-purpose prompt: [spec-reviewer-prompt.md content] + [task spec] + [implementer output] ``` **Quality Reviewer:** ``` Agent tool: subagent_type: [from routing table above] prompt: "Review the following files for [tech stack] quality, patterns, and standards. Files changed: [list]. Focus on: correctness, error handling, test coverage, naming, and adherence to project conventions in .claude/rules/." ``` Do NOT dispatch implementer and spec reviewer in parallel — spec review depends on implementer output. Do NOT dispatch multiple implementers in parallel — file conflicts are guaranteed. --- ## Team Mode Dispatch Use when 6+ tasks or when a tech-specific implementer agent provides meaningful leverage. ### Setup ``` 1. TeamCreate — name the team after the feature (e.g., "auth-service") 2. Spawn agents: - implementer: subagent_type = tech-specific developer agent (java-spring-api | nestjs-api | python-dev | agentic-ai-dev | angular-spa | flutter-mobile) - spec-reviewer: subagent_type = general-purpose - quality-reviewer: subagent_type = from routing table above 3. Assign tasks via TaskUpdate (owner field) + SendMessage with full task context ``` ### Coordination - Use `TaskList` to track progress across all tasks - Assign tasks to implementer one at a time (pipeline is sequential per task) - After implementer completes → SendMessage to spec-reviewer with task spec + output - After spec-reviewer approves → SendMessage to quality-reviewer with changed files - After quality-reviewer approves → mark TaskUpdate: completed → assign next task - When all tasks complete → SendMessage shutdown_request to all agents → TeamDelete ### Message format to teammates Always send full task context in the message body — never tell teammates to "read the plan". Include: task title, acceptance criteria, files affected, and any prior reviewer findings. --- ## Parallel Dispatch — Independence Check Before dispatching agents in parallel, verify independence first. Read [reference/parallel-dispatch-checklist.md](reference/parallel-dispatch-checklist.md) for the decision tree, pre-dispatch checklist, post-completion conflict check, and examples. **Rule:** If tasks share files, config, or have ordering dependencies → sequential only. --- ## Context Isolation Protocol Context contamination is the #1 silent failure in multi-phase pipelines. A Research agent that mentions "the auth layer is messy" will cause a Spec agent to include auth cleanup in scope — work that was never requested. ### Why It Matters ``` Without isolation: Research agent → analyzes codebase → notices auth is messy → mentions it → Spec agent absorbs the mention → adds auth refactor to spec → Implementer touches auth it was never asked to touch → Scope creep introduced silently, never caught With isolation: Research agent → outputs ONLY facts to docs/research/<feature>.md /clear → Spec/Implementer starts fresh with only the research doc → Scope stays exactly what was planned ``` ### The Three Rules **1. Research mandate — "NO improvement suggestions"** The Research agent prompt MUST include: *"Describe what exists. Do NOT propose changes."* Violations: suggesting refactors, flagging tech debt for fixing, recommending alternatives. Allowed: noting constraints, documenting gotchas, describing current behavior. **2. `/clear` between Research and Step 0** After `docs/research/<feature>.md` is committed: - Issue `/clear` (or equivalent context reset between agent dispatches) - The ONLY carry-forward is the research doc file path - The Research agent's conversation, opinions, and analysis do NOT pass to Step 0 **3. Per-phase context containment** Each phase receives exactly what it needs — no more: | Phase | What to pass in | What NOT to pass in | |-------|----------------|---------------------| | Step -1 Research | Plan file path, specific unknowns | Nothing else | | Step 0–1 Implementer | Task full_text + research doc path (if exists) | Research agent conversation | | Step 2 Spec Reviewer | Task spec + implementer output + handoff tag | Research agent opinions | | Step 3 Quality Reviewer | Files changed + handoff tags | Prior reviewer conversations | --- ## Red Flags — Never Do These - **Never carry Research agent conversation into Step 0** — `/clear` after research, pass only the doc path - **Never let Research agent propose improvements** — Research describes what exists; Spec decides what to build - **Never dispatch parallel implementers** — file conflicts are guaranteed - **Never skip the independence checklist** before parallel dispatch — assumption of independence is not sufficient - **Never skip spec review** — quality review does not check spec compliance - **Never reverse pipeline order** — spec compliance before quality review, always - **Never skip a review loop** — reviewer found issues = implementer fixes = re-review required - **Never let implementer self-review replace spec/quality review** — both are required - **Never tell implementer or reviewer to read the plan file** — provide full task text inline - **Never declare a task complete while a reviewer has open issues** - **Never skip the post-completion conflict check** after parallel agent dispatch --- ## Integration References | When | Reference | |------|-----------| | Implementer hits a bug during implementation | `systematic-debugging` skill | | Before marking any task complete | `verification-before-completion` skill | | Creating the PR | CLAUDE.md git workflow (conventional commits, feature branch, squash merge) | | Plan file must exist | `docs/plans/` convention — `/plan-review` creates it | | Writing a new plan | `docs/plans/TEMPLATE.md` — required format for context briefs, rollback, and mutations | | Security findings during review | `security-reviewer` agent | | Passing context between pipeline stages | [reference/handoff-tags.md](reference/handoff-tags.md) — structured tag format | --- ## Error Handling **No plan file found:** ``` BLOCKED: No plan file found in docs/plans/. Run /plan-review to generate and save a plan before invoking SDD. ``` **Implementer asks questions before starting:** Answer them directly. Do not dispatch another implementer — respond to the current one and let it proceed. **Review loop exceeds 3 iterations on same issue:** ``` STOPPED: [reviewer] has flagged [issue] 3 times without resolution. Options: A) Escalate — bring in the human to resolve the design conflict B) Waive — mark issue as known gap with explicit approval C) Redesign — scrap this task's implementation and start fresh ``` **Team mode: teammate goes unresponsive:** Check `TaskList` for stuck in_progress tasks. Send a follow-up `SendMessage`. If still unresponsive after one retry, stop and notify the developer.
Auf GitHub ansehen