用途
Executing Plans 用于把一份已写好的计划驱动为实际执行。它适合在计划已获批准、需要按特定顺序应用多文件变更、用户希望在关键决策点进行监督、变更带有风险需要回滚能力、执行跨越多个会话或智能体、以及需要进度跟踪以保证透明度的场景中使用。
主要能力
- 按步骤顺序执行计划,每一步在继续前进行验证。
- 在指定检查点暂停,等待人工确认。默认每 3 步设置一个检查点,并在任何破坏性操作之前设置检查点。
- 进度跟踪:报告完成百分比、已用时间和剩余估算。
- 回滚能力:应用每步前记录变更前状态;若某步验证失败,可自动回退到上一个已知良好检查点,或向人工提供选项。
- 为每一步维护状态机:pending、in-progress、verified、failed、rolled-back。
- 失败处理:当某步失败时,回滚到该步,并向人工提供 retry(重试)、modify(修改后重试)、skip(跳过并继续)、abort(完全停止)等选项。
使用方式
该技能以类 PlanExecutor 的形式实现,接收计划与检查点间隔(默认 3)。执行流程为:加载计划 → 对第 N 步记录变更前状态 → 应用变更 → 运行验证 → 若验证通过则判断是否为检查点步骤(是则暂停等待人工审查,否则更新进度)→ 更新进度 → 判断是否还有更多步骤(有则回到第 N 步,无则执行完成);若验证不通过则进入回滚判断(自动回退到上一个检查点,或手动向人工展示选项)。
实现中提供了 execute、handle_failure、rollback_to、report_progress 等方法。report_progress 会打印形如 Progress: completed/total (pct%) | Elapsed: ... | Remaining: ~... 的进度信息。
适用场景
- 已有书面计划并获批准执行。
- 多文件变更必须按特定顺序应用。
- 用户希望在执行期间的关键决策点进行监督。
- 变更带有风险,需要回滚能力。
- 执行跨越多个会话或智能体。
- 需要进度跟踪以保证透明度。
最佳实践
- 开始执行前始终确认计划已获批准。
- 每次修改前捕获文件状态,以保证回滚安全。
- 在破坏性操作(删除、迁移、部署)之前放置检查点。
- 每一步之后都报告进度,而不仅仅在结束时报告。
- 如果某步失败两次,升级给人工,而不是无限重试。
- 每个已验证的步骤后提交,以在版本控制中创建恢复点。
平台兼容性
- Cursor:完全支持,使用 Shell + TodoWrite 进行进度跟踪。
- VS Code:完全支持,基于终端的执行。
- Windsurf:完全支持,Cascade 步骤执行。
- Claude Code:完全支持,Shell + 检查点提示。
- Cline:完全支持,任务运行器集成。
- aider:部分支持,无原生检查点支持。
相关技能
- Writing Plans:计划编写,产出本技能所执行的逐步规格。
- Subagent-Driven Development:并行任务分派,将计划步骤委托给隔离的子智能体。
- Git Worktrees:隔离工作区,为验证每个执行步骤提供干净的基线。
限制
资料未提供关于收费、价格、具体效果或额外使用步骤的信息。aider 平台仅部分支持,无原生检查点支持。