用途 该技能用于驱动一个路线图检查点从“找到它”到“勾掉它”的完整流程:定位路线图、选出第一个未完成的检查点、正确分支、确认实现模式,完成后关闭检查点(勾选复选框并清理产物)。
依赖背景 依赖 roadmap-conventions(下文使用的文件位置与命名,包括每步的 steps/<step-slug>/ 文件夹)。实现本身委托给 writing-prd、superpowers:writing-plans、superpowers:subagent-driven-development/superpowers:executing-plans、codex-implement 或 superpowers:using-git-worktrees——本技能只负责排序调度,不替代它们。
主要能力与使用方式
- 查找路线图:用户指定功能/路线图时用 docs/<slug>/-roadmap.md,否则 glob docs//*-roadmap.md。恰好一个匹配则使用;零个则告知未找到并停止;多个则通过 AskUserQuestion 让用户选择,不猜测。
- 查找下一个检查点:自上而下收集所有未勾选的 - [ ] <TICKET> <name> 行,按文档顺序;对每个检查点检查其 (depends: <id>...) 标签,对照 docs/<slug>/roadmap-state.json 判断是否就绪(标签缺失/为空或所列 id 全部为 status: "closed" 即就绪,否则阻塞)。若无 roadmap-state.json,则直接在路线图 Markdown 中检查各依赖 id 的复选框(- [x] 即满足)。无未勾选行时路线图已全部完成,报告并询问是否删除(非本次刚完成的工作不主动删除)。恰好一个就绪检查点则选它;多个就绪则通过 AskUserQuestion 让用户选择。无就绪但仍有未勾选项时,报告各检查点被什么阻塞后停止。票据为占位符 TBD 时询问是否创建真实票据或直接无票据推进。
- 分支:获取当前分支名,唯一判断信号是当前分支名是否包含检查点票据 ID(不区分大小写)。匹配则从当前分支创建新的独立工作分支;不匹配则通过 AskUserQuestion 询问基于哪个分支。分支命名优先遵循仓库自身规则(CLAUDE.md/AGENTS.md/.claude/rules),否则默认使用裸 <ticket>。绝不在基础分支直接提交,即使当前分支匹配也必须新建分支。
- 确认实现模式:若存在 roadmap-state.json 先读取该检查点条目。写代码前确认该检查点有独立步骤文件夹 docs/<slug>/steps/<step-slug>/,其中包含步骤级 PRD(缺失则先用 writing-prd 编写)与实现计划(PRD 之后用 superpowers:writing-plans 编写;写好后若存在状态文件则设为 plan-drafted 并记录 planPath)。该文件夹中的设计文档为可选,原样保留不重新生成。除非用户明确表示检查点足够简单可直接写代码,否则 PRD 与计划均为必需。随后用一次 AskUserQuestion 提两个问题:Q1 实现方法(inline / subagent-driven-development 或 executing-plans / codex-implement),Q2 是否使用工作树(using-git-worktrees)。
- 实现:驱动所选技能组合,本技能不写代码,交接给第 4 步所选模式并等待其最终验证通过。
- 关闭检查点:仅在实现自身最终验证通过后,更新状态为 implemented,将路线图中该行 - [ ] 改为 - [x](只动这一行),只删除该检查点的实现计划文件,保留 PRD 与设计文档作为永久历史;若步骤文件夹因此为空则一并删除空文件夹。状态文件设为 closed、planPath 置空。若这是路线图最后一个未勾选项,则删除路线图文件及空 docs/<slug>/ 文件夹。不做 git add/commit,除非用户明确要求。最后告知用户勾掉了什么、删除了什么。
适用场景 按既有路线图逐步推进开发任务、需要规范化分支与实现流程、需要保证每个检查点都有 PRD 与实现计划的团队协作场景。
限制 本技能不直接实现代码;依赖 roadmap-conventions 及其他外部技能;路线图文件位置与命名、状态文件结构有约定要求;票据、分支命名等细节在资料未覆盖处未提供。