Skip to content
Development
Skill

/subagent-driven-development

Use when executing a written implementation plan with independent tasks in the current session. For ad-hoc 2+ independent tasks without a plan, use dispatching-parallel-agents instead.

From plugin
aegis
97122 skills3 commands1 hook
Install
$ npx -y skills add GanyuanRan/Aegis --skill subagent-driven-development --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/subagent-driven-development

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when executing a written implementation plan with independent tasks in the current session. For ad-hoc 2+ independent tasks without a plan, use dispatching-parallel-agents instead.

SKILL.md

subagent-driven-development.SKILL.md
name: subagent-driven-development
description: "Use when executing a written implementation plan with independent tasks in the current session where delegation beats inline coordination cost; otherwise inline. Ad-hoc 2+ tasks without a plan use dispatching-parallel-agents."

Execute

→ Have an implementation plan with independent tasks? → **Fresh subagent per task + two-stage review.** 1. Read plan, extract all tasks, create TodoWrite 2. Per task: dispatch implementer → answer questions → implementer completes 3. Review stage 1 (spec compliance) → fix gaps → re-review until ✅ 4. Review stage 2 (code quality) → fix issues → re-review until ✅ 5. Coordinator verifies, commits the coherent task, updates checkpoint/drift → next task → All tasks done: final review → verification receipt; branch finishing only when needed.

Subagent-Driven Development

Execute plan by dispatching fresh subagent per task, with two-stage review after each: spec compliance review first, then code quality review.

**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 + two-stage review (spec then quality) = high quality, fast iteration

When to Use

Use when you have a written implementation plan with mostly independent tasks and want to stay in the current session. For cross-session execution, use executing-plans instead.

The Process

1. Read plan, extract all tasks with full text, create TodoWrite 2. Per task: dispatch implementer with task text + baseline refs + checkpoint + non-goals 3. Implementer completes → dispatch spec compliance reviewer → fix gaps → re-review until ✅ 4. Dispatch code quality reviewer → fix issues → re-review until ✅ 5. Coordinator runs fresh verification, stages only task-owned paths, commits the coherent task, reads back Git state, updates checkpoint/drift → next task 6. All tasks done → final code reviewer → completion verification; use branch finishing only for a task-created branch/worktree or requested integration

Before the first repo write, the coordinating agent records `TaskStartSnapshot`. Same-task agents share the current workspace. The coordinator is the only default Git mutation owner for staging, commits, branches, and worktrees; implementers and reviewers edit/verify/report but do not mutate Git lifecycle state. Task complexity, TDD, planning, subagents, or a `main`/`master` name does not justify isolation by itself.

Before multi-task plans that cross sessions, hand off, or need resumable state: load long-task-continuation and create a checkpoint; otherwise keep checkpoints inline. Include the checkpoint in every implementer prompt.

Before dispatching an implementer, build a `SubagentContextPacket` instead of passing full conversation history. Include:

  • task
  • goal and stop condition
  • relevant baseline refs and files
  • known facts and unknowns
  • non-goals
  • expected output and verification
  • must-read excerpts
  • unsafe assumptions

The packet is a compact handoff, not a substitute for evidence. Give raw excerpts or file refs for facts the subagent must verify.

Do not paste full chat transcripts, full session history, or unbounded logs into `SubagentContextPacket`. Prefer must-read excerpts, file refs, line/window hints, and explicit unsafe assumptions.

Model Selection

Use the least powerful model per role: mechanical (1-2 files, complete spec) → fast/cheap. Integration (multi-file, pattern matching) → standard. Architecture/design/review → most capable.

Handling Implementer Status

Each implementer prompt must include:

  • active task text
  • `SubagentContextPacket` when goal framing, long-task, or multi-agent work is active
  • relevant baseline refs
  • latest `TodoCheckpointDraft`
  • any `ResumeStateHint`
  • explicit non-goals
  • verification expected for the task

The implementer may update task-local evidence, but the controller owns the consolidated checkpoint. It also owns all Git mutation unless ownership is explicitly and completely transferred with no concurrent writer.

Implementer subagents report one of four statuses. Handle each appropriately:

**DONE:** Proceed to spec compliance review.

**DONE_WITH_CONCERNS:** The implementer completed the work but flagged doubts. Read the concerns before proceeding. If the concerns are about correctness or scope, address them before review. If they're observations (e.g., "this file is getting large"), note them and proceed to review.

**NEEDS_CONTEXT:** The implementer needs information that wasn't provided. Provide the missing context and re-dispatch.

**BLOCKED:** The implementer cannot complete the task. Assess the blocker: 1. If it's a context problem, provide more context and re-dispatch with the same model 2. If the task requires more reasoning, re-dispatch with a more capable model 3. If the task is too large, break it into smaller pieces 4. If the plan itself is wrong, escalate to the human

**Never** ignore an escalation or force the same model to retry without changes. If the implementer said it's stuck, something needs to change.

Prompt Templates

  • `./implementer-prompt.md` - Dispatch implementer subagent
  • `./spec-reviewer-prompt.md` - Dispatch spec compliance reviewer subagent
  • `./code-quality-reviewer-prompt.md` - Dispatch code quality reviewer subagent

Red Flags

**Never:**

  • Skip reviews (spec compliance OR code quality)
  • Proceed with unfixed issues
  • Dispatch multiple implementation subagents in parallel (conflicts)
  • Make subagent read plan file (provide full text instead)
  • Skip scene-setting context (subagent needs to understand where task fits)
  • Ignore subagent questions (answer before letting them proceed)
  • A
Read more
Ships withaegis

Aegis Method Pack Make your AI coding agent trustworthy: fewer reworks, safer changes, proof before "done". English · 中文 · Fast-Track Playbook · 速通秘籍 Stop babysitting your agent.

Get the whole plugin