关于 execute-plan
execute-plan 用于按已批准计划执行任务,并遵守范围、顺序和验证要求。它在计划中记录进度与决策,遇到歧义或阻塞时暂停,并生成完成报告供最终确认。
主要功能
- 01读取计划和相关项目背景
- 02按顺序执行各阶段
- 03在计划中记录进度与决策
- 04依据阶段标准验证工作
- 05遇到歧义或阻塞时暂停
- 06生成执行完成报告
适用场景
- 01实施已批准的多阶段计划
- 02跟踪执行期间的验证与决策
- 03需求或范围不明确时暂停执行
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ buiducnhat/ cobrew --skill execute-plan安装后在 Claude Code 中输入/execute-plan确认已加载。
附带文件references/execution-report-template.md
详细介绍
执行计划
概述
严格遵循范围、顺序和验证要求,执行已获批准的计划。将计划视为一份持续更新的文档,在执行过程中记录进度、发现、决策和结果。
输入通常为:execute-plan docs/.plans/YYMMDD-HHmm-<plan-slug>/SUMMARY.md
执行过程中不要重新设计计划。如果出现歧义或阻碍,请停止并询问。
工作流
步骤 1:初始化
-
定位计划
- 确认计划路径存在且可读取。
- 如果提供的是目录,请在其中查找
SUMMARY.md。
-
加载执行上下文
- 仅加载与计划相关的项目上下文:
- 如果
docs/SUMMARY.md存在,请先阅读。 - 仅加载与任务相关的详细文档。
- 优先参考
Code Standard文档中的实现约定。 - 如果文档与代码或用户意图冲突,请依据现有输入或提问后再进行大范围更改。
- 如果
- 查看计划的阶段文件、上下文/方向说明、依赖项、验收标准、幂等性/恢复说明、决策日志和未解决问题。
- 如果旧计划缺少持续更新计划所需的章节(
Progress、Surprises & Discoveries、Decision Log、Outcomes & Retrospective),且计划整体明确,请在执行前补上这些章节。
- 仅加载与计划相关的项目上下文:
-
选择执行模式(明确规则)
- 默认模式:批处理
- 满足以下任一条件时,使用 交互式 模式:
- 高风险更改(身份验证、支付、迁移、安全关键逻辑)
- 不可逆操作(数据迁移、破坏性脚本)
- 验收标准不明确
- 用户明确要求设置检查点
- 如果模式不明确,请询问一次,并按照用户的选择继续。
-
查找下一个待处理阶段
- 查找第一个
[ ]阶段。 - 如果没有,则查找第一个
[-]阶段。 - 如果没有待处理或进行中的阶段,则进入最终验证。
- 查找第一个
-
关键计划合理性检查
- 确保每个阶段都包含:
- 明确的目标
- 目标文件
- 验证命令
- 可观察的验收标准
- 如果缺少可观察的验收标准,但可以根据明确的阶段验证方式和退出标准推断得出,请在执行前将其补入该阶段。
- 如果缺少关键细节或内容相互矛盾,请停止并请求澄清。
- 确保每个阶段都包含:
第 2 步:执行各阶段循环
按顺序处理每个阶段:
-
跳过已完成的阶段
- 如果状态为
[x],则继续处理下一阶段。
- 如果状态为
-
标记为进行中
- 在进行更改之前,将阶段状态更新为
[-]。 - 在
SUMMARY.md中添加带时间戳的Progress条目,描述阶段开始情况。
- 在进行更改之前,将阶段状态更新为
-
严格按要求执行
- 仅实现该阶段定义的任务。
- 未经批准,不得扩大范围。
- 编写满足阶段要求所需的最少代码。不要添加推测性功能,不要为只使用一次的代码创建抽象,也不要处理不可能发生的错误场景。参见下方的 Simplicity first 和 Surgical changes 规则。
- 如果实现过程中发现重大意外,请将其记录在
SUMMARY.md的Surprises & Discoveries下。 - 如果需要做出决定才能不超出范围,请先在
Decision Log下记录决定及理由,然后再继续。
-
验证阶段
- 运行计划中针对该阶段的验证命令。
- 至少运行与已修改文件相关的测试和检查。
- 在
SUMMARY.md的Progress下或该阶段要求的证据位置,简要记录验证证据。
-
处理失败
- 如果验证失败:
- 在该阶段范围内尝试有针对性的修复。
- 重新运行验证。
- 如果仍然失败或根本原因超出范围,请停止并报告阻碍因素。
- 如果验证失败:
-
标记为已完成
- 只有验证通过后,才能将阶段状态更新为
[x]。 - 添加带时间戳的
Progress条目,记录验证结果以及该阶段修改的文件。
- 只有验证通过后,才能将阶段状态更新为
-
进度报告
- 交互模式: 报告进度,并等待确认后再进入下一阶段。
- 批处理模式: 简要报告后立即继续。
第 3 步:最终验证
所有阶段完成后:
-
项目级验证
- 运行完整的 lint 和类型检查套件。
- 运行所有相关测试(如果计划有要求,则运行完整测试套件)。
- 如适用,运行构建验证。
-
稳定化
- 修复执行过程中引入的回归问题。
- 重新运行失败的检查,直至全部通过或确认受阻。
-
人工验证检查点
- 如果需要用户或人工 QA,请明确提出并暂停:
- 回复
Verified表示接受 - 或提供反馈以进行后续迭代
- 回复
- 如果需要用户或人工 QA,请明确提出并暂停:
-
更新结果
- 在
SUMMARY.md中填写Outcomes & Retrospective,记录最终结果、验证摘要、获批的偏离项以及后续事项。
- 在
第 4 步:完成产物
-
同步文档
- 如果行为、架构或代码库预期发生变化,请更新
docs文档。
- 如果行为、架构或代码库预期发生变化,请更新
-
创建执行报告
- 文件:
docs/.plans/YYMMDD-HHmm-<plan-slug>/EXECUTION-REPORT.md - 包含下方列出的所有必需章节。
- 文件:
-
准备最终确认
- 在获得用户最终确认前,不要归档。用户可能选择
Need verify,执行必须继续使用同一个计划路径。
- 在获得用户最终确认前,不要归档。用户可能选择
第 5 步:最终确认关卡
完成产物后,使用输入/提问工具向用户请求最终确认,选项必须严格如下:
Confirm: End sessionNeed verify
根据所选选项执行以下操作:
-
Confirm: End session- 将计划文件夹归档到
docs/.plans/archived/。 - 通知:
Execution complete. Report archived at docs/.plans/archived/YYMMDD-HHmm-<plan-slug>/EXECUTION-REPORT.md. - 结束执行会话。
- 将计划文件夹归档到
-
Need verify- 允许用户提供验证反馈或详情。
- 不要归档。
- 继续执行循环以处理反馈,然后根据需要重新运行验证并完成后续步骤。
执行报告规范
EXECUTION-REPORT.md 必须使用以下模板:references/execution-report-template.md
规则
- 遵循项目标准:遵循
docs/和相关项目文档。 - 严格遵循计划:不得悄然更改范围。
- 遇到阻碍时停止:缺少依赖、指令相互矛盾或出现无法解释的失败时,应停止。
- 不作猜测:不确定时,请求澄清。
- 完成前验证:检查未通过时,绝不标记阶段已完成。
- 持续更新计划:执行过程中,在
SUMMARY.md中更新进度、发现、决策和结果。重要的执行状态不要只留在聊天记录中。 - 幂等性:优先采用安全且可重复执行的操作。
- 先求简洁:只实现满足阶段退出标准所需的最少代码。不要添加计划未要求的功能。单次使用的代码不要抽象化。不要添加未提出要求的可配置项。如果写了 200 行,而 50 行就能实现,应重写。
- 精准修改:只改动本阶段要求的内容。不要顺手“改进”相邻代码、注释或格式。不要重构未损坏的内容。即使你会采用不同写法,也要遵循现有风格。只有当你的改动导致导入项、变量或函数变得无用时,才删除它们;除非计划有要求,否则不要删除原有的无用代码。每一处改动都必须对应某项阶段任务。
- 使用与当前会话相同的语言编写产物。
评论
支持 Markdown