SuperAPI AI 工具集

executing-plans

编程与开发

查看项目

更新于 10-16 07:44

技能介绍

用途

executing-plans 是一个用于在当前会话中执行已写好的实现计划的技能。它的整体流程是:加载计划、批判性审查、分批执行并设置检查点、验证、交接。开始时应声明:“I'm using the executing-plans skill to implement this plan.”

该技能建议在条件允许时优先使用 subagent-driven-development。因为每个任务使用全新上下文,并分阶段审查(规格、质量,以及安全相关任务的安全审查),其结果可测量地优于内联执行。当子代理不可用、任务耦合过紧无法隔离,或计划规模小到调度开销超过收益时,才使用本技能。

核心原则

铁律:没有先对计划进行批判性审查,就不执行。忠实执行一个有缺陷的计划,只会高效地产生一个有缺陷的实现。审查不是形式,它是坏计划只花费几分钟而非数小时的唯一节点。如果已经开始执行却没有审查,应立即停止并审查。在任务 2 时审查比在任务 9 时更便宜。

主要能力与流程

技能提供一份清单,每项创建一个 todo:验证工作区(隔离分支或 worktree、干净基线);加载并批判性审查计划(开始前提出疑虑);构建 todo 列表(每个任务一条);分批执行(2-3 个任务后检查点);在每个检查点验证(运行实际命令);最终验证(完整测试套件、计划覆盖检查);交接(finishing-a-development-branch)。

步骤 1:验证工作区

必需子技能:开始前使用 using-git-worktrees。未经明确同意,绝不在 main/master 上开始实现。先检查:

git branch --show-current git status --porcelain # must be clean before starting

工作区不干净意味着审查时无法区分自己的改动与既有改动。

步骤 2:批判性审查计划

写任何代码前先读完整份计划。检查以下红旗:占位符(“TBD”“add error handling”“write tests for the above”“similar to Task 3”);类型一致性(Task 3 用 clearLayers(),Task 7 用 clearFullLayers());未定义引用(某任务使用了没有任何任务定义的类型或函数);文件路径(路径不存在且没有任务创建它);验证(步骤没有命令,或命令没有预期输出);顺序(Task 5 依赖 Task 8 构建的东西);范围(多个独立子系统本应拆成单独计划)。

如果发现问题:在开始前一次性全部提出。不要静默修复计划,也不要整个会话中一次发现一个。

步骤 3:分批执行

一次做 2-3 个任务,然后检查点。分批保持势头,同时不让错误在九个任务间累积。每个任务:标记 in_progress;严格遵循步骤(计划的粒度是刻意的);运行步骤指定的验证并阅读输出;按计划指示提交;标记 completed。

“严格遵循计划的步骤”意味着当计划要求时先写失败测试,并在实现前运行它看它失败。跳过“运行并看它失败”这一步是计划执行静默退化的最常见方式。不要批量提交。按任务提交才能使检查点可审查、错误可回退。

步骤 4:检查点

每批之后报告并暂停,报告实际命令输出而非“应该能工作”。可选在每个检查点派发审查者。如果该批触及安全相关代码,派发 security-reviewer,并将 Critical 或 High 发现视为阻塞。

步骤 5:处理偏差

计划会遇到现实。分类处理:步骤代码有笔误/明显小错误——修复并在检查点注明;步骤方法可行但有更好方法——遵循计划,注明替代方案,不要单方面改进;步骤按写法不可能——停止,报告原因,提出替代方案,等待;步骤对代码库的假设错误——停止,计划需要更新而非绕过;某任务变得不必要——停止并询问,不要静默跳过;发现无关 bug——注明,不要修复,执行中的范围蔓延会让计划失去意义。绝不静默偏差。每个偏差都在下一个检查点报告,无论多小。

何时停止并询问

出现阻塞(缺少依赖、环境问题、基线失败);指令确实不清楚;同一验证失败两次;计划对代码库的假设被证明错误;实现某步骤需要重构计划未预料到的代码。要问而不是猜。任务 3 的错误猜测会污染其后每个任务。如果验证反复失败:停止并使用 systematic-debugging。不要一个接一个地修复——三次失败修复意味着问题不在你以为的地方。

步骤 6:最终验证

交接前,必需子技能:使用 verifying-before-completion。检查:计划中每个任务都已勾选;本条消息中运行了完整测试套件——读取输出,0 失败;linter 和构建干净运行;重读计划目标:实现是否达成;每个偏差都已报告给用户;git status 干净,每个改动都已提交。计划覆盖检查:遍历计划需求并指出实现每项的代码。测试套件通过只证明测试通过,不证明计划被完成。

步骤 7:交接

必需子技能:使用 finishing-a-development-branch 验证测试、呈现 merge/PR/keep/discard 选项并清理。

常见错误

执行前不审查;跳过“看它失败”;静默偏差;最后批量提交所有提交;强行突破阻塞;顺手改动;凭记忆声称完成。

集成

必需工作流技能:using-git-worktrees(开始前必需)、writing-plans(创建本技能执行的计划)、test-driven-development、verifying-before-completion(任何完成声明前必需)、finishing-a-development-branch(所有任务后必需)。出错时:systematic-debugging、receiving-code-review。替代方案:subagent-driven-development(子代理可用时优先)。