一键导入
subagent-driven-development
Use when executing an implementation plan with 3+ independent tasks in the current session
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when executing an implementation plan with 3+ independent tasks in the current session
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | subagent-driven-development |
| description | Use when executing an implementation plan with 3+ independent tasks in the current session |
Type: Technique | Discipline: Rigid
通过 dispatch 独立 subagent 执行 plan 中的每个任务,每个任务完成后进行两阶段审查(规格合规 → 代码质量)。
为什么用 subagent: 你是控制器,负责调度和协调。将实现任务委派给独立 subagent,每个 subagent 有隔离的上下文。你精心构造它们需要的指令和上下文,确保它们专注完成任务。它们不继承你的会话历史——你构造它们需要的一切。这也保护了你自己的上下文窗口用于协调工作。
核心原则: 每任务一个新鲜 subagent + 两阶段审查(规格 → 质量)= 高质量、快迭代
有 plan 文件?
├─ NO → writing-plans 先产出 plan(或判断是否应该手动实施)
└─ YES → 任务数 ≥ 3 且任务大部分独立?
├─ NO → 手动实施(模式 B)+ 按 sdk-code-review 流程审查
└─ YES → 希望留在当前会话连续执行?
├─ NO → 改用手动实施 + 完整审查
└─ YES → 本 skill(subagent-driven-development)
docs/plans/)writing-plans → plan-document-review 产出合规 plan读取 plan,提取所有任务全文
↓
[Per Task]
↓
记录 BASE_SHA
↓
Dispatch 实现者 subagent(./implementer-prompt.md)
↓
实现者提问? ──yes──→ 回答问题 → 重新 dispatch
│no
↓
实现者实现、测试、提交、自审
↓
返回状态(见"处理实现者状态")
↓
记录 HEAD_SHA
↓
Dispatch 规格审查者 subagent(./spec-reviewer-prompt.md)
↓
规格合规? ──no──→ 实现者修复 → 重新规格审查
│yes
↓
Dispatch 质量审查者 subagent(./code-quality-reviewer-prompt.md)
↓
质量通过? ──no──→ 实现者修复 → 重新质量审查
│yes
↓
标记任务完成
↓
[/Per Task]
↓
更多任务? ──yes──→ 下一个任务
│no
↓
Dispatch 全局 code-reviewer(sdk-code-review skill)
↓
全局审查通过? ──no──→ receiving-code-review → 修复 → 重新全局审查
│yes
↓
verification-before-completion
↓
finishing-a-development-branch ← 终态
用能胜任的最轻量模型,节省成本和时间。
机械实现任务(独立函数、清晰规格、1-2 文件):用 haiku。规划明确时大多数 SDK 实现任务属于此类。
集成和判断任务(多文件协调、模式匹配、调试):用 sonnet。
架构、设计和审查任务:用 opus。
判断依据:
haikusonnetopus实现者 subagent 返回四种状态之一:
DONE: 进入规格合规审查。
DONE_WITH_CONCERNS: 实现者完成了但标记了疑虑。先读疑虑再决定:
NEEDS_CONTEXT: 实现者缺少必要信息。补充上下文,重新 dispatch。
BLOCKED: 实现者无法完成。评估阻塞原因:
绝不忽略升级信号或让同一模型无变化地重试。实现者说卡住了,就是有东西需要改变。
./implementer-prompt.md — dispatch 实现者 subagent./spec-reviewer-prompt.md — dispatch 规格合规审查 subagent./code-quality-reviewer-prompt.md — dispatch 代码质量审查 subagent粘贴全文,不让 subagent 读文件:
提供场景设置:
我使用 Subagent-Driven Development 执行这个 plan。
[读取 plan: docs/plans/2026-04-13-on-page-end.md]
[提取 3 个任务的完整文本]
Task 1: 新增 onPageEnd 接口定义
BASE_SHA=$(git rev-parse HEAD) # a7981ec
[Dispatch 实现者 subagent,model: haiku]
→ 任务全文 + GrowingAnalyticsInterface 上下文
实现者:"开始前有个问题——onPageEnd 的 attributes 参数是 AttributesType 还是 Record<string, string>?"
我:"用 AttributesType,和 track() 保持一致。"
[重新 dispatch 实现者]
实现者:
- 实现了 onPageEnd(pageName, attributes?) 接口
- 更新了 obfuscation-rules.txt
- 自审:无遗漏
- Status: DONE
HEAD_SHA=$(git rev-parse HEAD) # 3df7661
[Dispatch 规格审查者]
规格审查者:✅ 合规 — 所有需求已实现,无多余工作
[Dispatch 质量审查者]
质量审查者:通过。Suggestion: 考虑给 pageName 加空字符串校验。
[标记 Task 1 完成]
Task 2: 实现 Hybrid 模块中的 onPageEnd 逻辑
...
[所有任务完成后]
[Dispatch 全局 code-reviewer(通过 sdk-code-review skill)]
全局审查:通过,可合并。
完成!
绝不:
如果实现者提问:
如果审查者发现问题:
如果 subagent 失败:
| Excuse | Reality |
|---|---|
| "任务独立性我判断过了不用走 subagent" | 本 skill 的隔离是为了防 context 污染,不只是为了并行 |
| "一个 subagent 并行多任务能快" | 明确禁止——会冲突;一次只 dispatch 一个实现者 |
| "subagent 可以自己读 plan 文件" | 必须粘贴全文进 prompt,不让它读文件,避免 context 污染 |
| "自审过就不用 spec-reviewer 了" | 自审替代不了独立审查;两阶段都要走 |
| "spec-reviewer 有问题先质量审了,回头再改" | 顺序不可颠倒,规格不合规时做质量审查纯浪费 |
| "实现者报 BLOCKED 再让它用更强模型重试一次" | BLOCKED 必须更换上下文/模型/任务粒度;不允许无变化重试 |
| "reviewer 提了 Critical 我修了就不用重新 review 了" | 修完必须重新 dispatch 同审查者,不可自判 |
writing-plans 产出 plan 文件(前置)plan-document-review 通过独立审查(前置)./implementer-prompt.md — 实现者 subagent 调度模板./spec-reviewer-prompt.md — 规格合规审查 subagent 调度模板./code-quality-reviewer-prompt.md — 代码质量审查 subagent 调度模板test-driven-development — 核心路径走 Red-Green-Refactorgrowingio-arkts-coding-style — ArkTS 编码规范systematic-debugging — 实现者遇错时的调试纪律sdk-code-review(全局审查)receiving-code-reviewverification-before-completion → finishing-a-development-branchsdk-code-review 独立审查Use when a feature, bugfix, or refactoring step is completed and needs review, or before merging to main, or when user says "review", "审查", "帮我看看代码"
Use when receiving an ambiguous feature request, when scope is unclear, or before writing any plan
Use after verification-before-completion passes and code review is clean, to close out the development branch
Use when executing git commit, creating or naming branches, writing PR titles/descriptions, or asking about commit message format, branch naming, or version numbering in this project
Use when writing or reviewing .ets/.ts files in this project, or when seeing any, unknown, obj['key'] index access, destructuring assignment, var declarations,
Use when user asks to create a version release ticket, says "帮我建个发版任务", "建个 Jira", "创建发版单", or needs to track an SDK release in Jira