con un clic
subagent-driven-development
当需要在当前会话内执行包含独立任务的实现计划,并为每个任务分派全新子代理时,必须使用此技能。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
当需要在当前会话内执行包含独立任务的实现计划,并为每个任务分派全新子代理时,必须使用此技能。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Update Kimi Code CLI user documentation after meaningful code changes that affect product behavior or user experience.
Map systematic debugging onto Ganymede Code native Debug / 排障 surfaces (probes, user verification bar, TodoList).
Map KimiCodeBoost engineering workflows onto Ganymede Code native UI and host tools (AskUserQuestion, TodoList, Agent, Plans panel, GanymedeBrowser, Worktree, Review).
在开展任何创造性工作之前必须使用:创建功能、构建组件、添加能力或修改行为。在动手实现前,先探索用户意图、需求并制定设计。
当同时面对 2 个及以上相互独立、无共享状态且无顺序依赖的任务时必须使用本技能
当需要在一个独立会话中执行已撰写的实现计划,并通过检查点进行复核时必须使用
| name | subagent-driven-development |
| description | 当需要在当前会话内执行包含独立任务的实现计划,并为每个任务分派全新子代理时,必须使用此技能。 |
通过为每个任务分派一个全新的实现子代理、在每次任务后进行任务评审(规格合规 + 代码质量),并在最后进行一次宽泛的全分支评审,来执行计划。
为什么使用子代理: 你将任务委派给具有独立上下文的专门代理。通过精确构造它们的指令和上下文,可确保它们保持专注并完成任务。它们不应继承你当前会话的上下文或历史——你只为它们构建所需信息。这也让你能保留自己的上下文用于协调工作。
核心原则: 每个任务都使用全新子代理 + 任务评审(规格 + 质量)+ 宽泛的最终评审 = 高质量、快速迭代
说明: 在工具调用之间,最多用一句话进行说明——台账和工具结果会记录一切。
持续执行: 不要在任务之间停下来与人类伙伴确认。不间断地执行计划中的所有任务。唯一可停止的原因是:遇到无法解决的 BLOCKED 状态、确实会阻碍进度的歧义,或所有任务均已完成。“是否继续?”这类提示和进度总结会浪费时间——他们要求你执行计划,你就执行它。
digraph when_to_use {
"Have implementation plan?" [shape=diamond];
"Tasks mostly independent?" [shape=diamond];
"Stay in this session?" [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?" -> "Stay in this session?" [label="yes"];
"Tasks mostly independent?" -> "Manual execution or brainstorm first" [label="no - tightly coupled"];
"Stay in this session?" -> "subagent-driven-development" [label="yes"];
"Stay in this session?" -> "executing-plans" [label="no - parallel session"];
}
与 executing-plans(并行会话)的对比:
digraph process {
rankdir=TB;
subgraph cluster_per_task {
label="Per Task";
"Dispatch implementer subagent (./implementer-prompt.md)" [shape=box];
"Implementer subagent asks questions?" [shape=diamond];
"Answer questions, provide context" [shape=box];
"Implementer subagent implements, tests, commits, self-reviews" [shape=box];
"Write diff file, dispatch task reviewer subagent (./task-reviewer-prompt.md)" [shape=box];
"Task reviewer reports spec ✅ and quality approved?" [shape=diamond];
"Dispatch fix subagent for Critical/Important findings" [shape=box];
"Mark task complete in todo list and progress ledger" [shape=box];
}
"Read plan, note context and global constraints, create todos" [shape=box];
"More tasks remain?" [shape=diamond];
"Dispatch final code reviewer subagent (../requesting-code-review/code-reviewer.md)" [shape=box];
"Use finishing-a-development-branch" [shape=box style=filled fillcolor=lightgreen];
"Read plan, note context and global constraints, create todos" -> "Dispatch implementer subagent (./implementer-prompt.md)";
"Dispatch implementer subagent (./implementer-prompt.md)" -> "Implementer subagent asks questions?";
"Implementer subagent asks questions?" -> "Answer questions, provide context" [label="yes"];
"Answer questions, provide context" -> "Dispatch implementer subagent (./implementer-prompt.md)";
"Implementer subagent asks questions?" -> "Implementer subagent implements, tests, commits, self-reviews" [label="no"];
"Implementer subagent implements, tests, commits, self-reviews" -> "Write diff file, dispatch task reviewer subagent (./task-reviewer-prompt.md)";
"Write diff file, dispatch task reviewer subagent (./task-reviewer-prompt.md)" -> "Task reviewer reports spec ✅ and quality approved?";
"Task reviewer reports spec ✅ and quality approved?" -> "Dispatch fix subagent for Critical/Important findings" [label="no"];
"Dispatch fix subagent for Critical/Important findings" -> "Write diff file, dispatch task reviewer subagent (./task-reviewer-prompt.md)" [label="re-review"];
"Task reviewer reports spec ✅ and quality approved?" -> "Mark task complete in todo list and progress ledger" [label="yes"];
"Mark task complete in todo list and progress ledger" -> "More tasks remain?";
"More tasks remain?" -> "Dispatch implementer subagent (./implementer-prompt.md)" [label="yes"];
"More tasks remain?" -> "Dispatch final code reviewer subagent (../requesting-code-review/code-reviewer.md)" [label="no"];
"Dispatch final code reviewer subagent (../requesting-code-review/code-reviewer.md)" -> "Use finishing-a-development-branch";
}
在分派任务 1 之前,先快速扫描一遍计划,检查是否存在冲突:
把你发现的所有问题一次性向人类伙伴提出——每个问题旁边附上要求它的计划原文,并询问应以哪个为准——在执行开始前就问,而不是执行过程中每发现一个就打断一次。如果扫描没有发现问题,则无需说明,直接继续。评审循环仍会兜底那些只有在实现后才显现的冲突。
为每个角色选择能胜任的最低能力模型,以节约成本并提升速度。
机械性实现任务(独立函数、明确规格、涉及 1–2 个文件):使用快速、便宜的模型。大多数实现任务在计划明确时都属于机械性任务。
集成与判断任务(多文件协调、模式匹配、调试):使用标准模型。
架构与设计任务:使用可用的最强模型。最终全分支评审属于此类——应使用可用的最强模型分派,而不是会话默认模型。
评审任务:选择与判断需求相匹配的模型,按 diff 的大小、复杂度和风险进行缩放。小的机械性 diff 不需要最强模型;微妙的并发变更则需要。
分派子代理时务必显式指定模型。 如果省略模型,子代理会继承你当前会话的模型——通常是最强也最贵的模型——这会悄然抵消本节的意义。
回合数胜过 token 价格。 耗时和上下文成本随子代理回合数增长,而最便宜的模型在多步骤工作上往往要多花 2–3 倍回合——总体反而更贵。因此,评审者和基于文字描述进行实现的实现者,至少应使用中等模型。当任务的计划文本已包含要写的完整代码时,实现只是转录加测试:对该实现者使用最便宜档位。单文件机械性修复也使用最便宜档位。
任务复杂度信号(实现任务):
实现子代理会报告以下四种状态之一。分别按对应方式处理:
DONE: 生成评审包(scripts/review-package BASE HEAD,从本技能目录运行——它会打印写入的唯一文件路径;BASE 是你分派实现者之前记录的提交,绝不要使用 HEAD~1,这会静默丢弃多提交任务中除最后一次提交外的所有提交),然后使用打印出的路径分派任务评审者。
DONE_WITH_CONCERNS: 实现者完成了工作,但提出了疑虑。在继续前阅读这些疑虑。如果疑虑涉及正确性或范围,先处理再评审。如果只是观察(例如“这个文件越来越大了”),记下来并继续评审。
NEEDS_CONTEXT: 实现者需要未提供的信息。提供缺失的上下文后重新分派。
BLOCKED: 实现者无法完成任务。评估阻塞原因:
绝对不要忽视升级或在未做任何改变的情况下强制相同模型重试。如果实现者表示卡住了,一定有什么需要改变。
任务评审者可能会报告“⚠️ 无法从 diff 中验证”的项——这些需求位于未变更的代码中,或跨越多个任务。它们不会阻塞评审的其余部分,但你在将任务标记为完成之前,必须亲自解决每一项:你掌握着计划以及评审者缺乏的跨任务上下文。如果你确认某项确实是遗漏,则将其视为规格评审失败——退回给实现者并重新评审。
每个任务评审都是任务范围内的关卡。宽泛评审只发生一次,即在最终全分支评审时。填写评审者模板时:
scripts/review-package BASE HEAD,并把打印出的路径传给评审者(如果不使用 bash:将 git log --oneline、git diff --stat 和 git diff -U10 的输出重定向到一个唯一命名的文件)。该输出不会进入你自己的上下文,而评审者可以在一次 Read 调用中看到提交列表、统计摘要和带上下文的完整 diff。使用你在分派实现者之前记录的 BASE——绝不要使用 HEAD~1,这会静默截断多提交任务。scripts/review-package MERGE_BASE HEAD(MERGE_BASE = 分支起始的提交,例如 git merge-base main HEAD),并将打印出的路径包含在最终评审分派中,这样最终评审者只需读取一个文件,而不必用 git 命令重新推导分支 diff。你粘贴到分派提示中的所有内容——以及子代理打印返回的所有内容——都会在你的上下文中驻留整个会话,并在每次后续回合中被重新读取。因此应将工件以文件形式交接:
scripts/task-brief PLAN_FILE N——它会将任务的完整文本提取到一个唯一命名的文件并打印路径。构造分派时让简报作为需求的唯一来源。你的分派应包含:(1) 一句话说明该任务在项目中的位置;(2) 简报路径,并说明“请先读这个——它是你的需求,包含要原样使用的精确值”;(3) 简报无法知晓的、来自前面任务的接口和决策;(4) 你对简报中任何歧义的解决方案;(5) 报告文件路径和报告契约。精确值(数字、魔法字符串、签名、测试用例)只出现在简报中。…/task-N-brief.md → 报告 …/task-N-report.md),并在分派提示中指定。实现者将完整报告写入该文件,仅返回状态、提交、一行测试摘要和疑虑。对话记忆在上下文压缩后不会保留。在真实会话中,丢失位置的主控代理曾重新分派整个已完成的任务序列——这是观察到的最昂贵的失败。因此除了待办事项外,还要在台账文件中跟踪进度。
cat "$(git rev-parse --show-toplevel)/.kimicodeboost/sdd/progress.md"。其中标记为已完成的任务视为 DONE——不要重新分派;从第一个未标记完成的任务恢复。Task N: complete (commits <base7>..<head7>, review clean)。git log,而不是你自己的记忆。git clean -fdx 会销毁台账(它是被 git 忽略的临时文件);如果发生这种情况,请从 git log 恢复。You: I'm using Subagent-Driven Development to execute this plan.
[Read plan file once: docs/kimicodeboost/plans/feature-plan.md]
[Create todos for all tasks]
Task 1: Hook installation script
[Run task-brief for Task 1; dispatch implementer with brief + report paths + context]
Implementer: "Before I begin - should the hook be installed at user or system level?"
You: "User level (~/.config/kimicodeboost/hooks/)"
Implementer: "Got it. Implementing now..."
[Later] Implementer:
- Implemented install-hook command
- Added tests, 5/5 passing
- Self-review: Found I missed --force flag, added it
- Committed
[Run review-package, dispatch task reviewer with the printed path]
Task reviewer: Spec ✅ - all requirements met, nothing extra.
Strengths: Good test coverage, clean. Issues: None. Task quality: Approved.
[Mark Task 1 complete]
Task 2: Recovery modes
[Run task-brief for Task 2; dispatch implementer with brief + report paths + context]
Implementer: [No questions, proceeds]
Implementer:
- Added verify/repair modes
- 8/8 tests passing
- Self-review: All good
- Committed
[Run review-package, dispatch task reviewer with the printed path]
Task reviewer: Spec ❌:
- Missing: Progress reporting (spec says "report every 100 items")
- Extra: Added --json flag (not requested)
Issues (Important): Magic number (100)
[Dispatch fix subagent with all findings]
Fixer: Removed --json flag, added progress reporting, extracted PROGRESS_INTERVAL constant
[Task reviewer reviews again]
Task reviewer: Spec ✅. Task quality: Approved.
[Mark Task 2 complete]
...
[After all tasks]
[Dispatch final code-reviewer]
Final reviewer: All requirements met, ready to merge
Done!
与手动执行相比:
与 executing-plans 相比:
效率提升:
质量关卡:
成本:
绝对不要:
scripts/task-brief 提供任务简报)scripts/review-package BASE HEAD 生成,并在提示中命名打印出的路径git log)如果子代理提问:
如果评审者发现问题:
如果子代理任务失败:
必需的工作流技能:
子代理应使用的技能:
替代工作流: