SuperAPI AI 工具集

executing-plans

编程与开发

查看项目

更新于 10-14 19:06

技能介绍

用途

executing-plans 用于在当前会话中,由执行者本人逐任务执行一份实现计划。它对应的是“内联执行”模式:不为每个任务派发独立的实现子智能体,也不为每个任务派发独立的审查子智能体,而是在全部任务完成后,对整个分支做一次全新上下文的审查。

该技能适用于以下情形:

  • 你有一份来自 superpowers:writing-plans 的计划,且人类伙伴在交接时选择了内联执行。
  • 你的运行环境没有子智能体工具(参见 ../using-superpowers/references/ 中的各平台参考)。此时绝不伪造派发,直接在此处运行计划。
  • 任务大多是相互独立的——这与 superpowers:subagent-driven-development 的前提相同。

当人类伙伴希望每个任务都有审查关卡,或计划长到后续任务会在被压缩的上下文中运行时,应优先选择 superpowers:subagent-driven-development。

主要能力

  • 内联执行:执行者本人按计划逐任务执行,不派发实现者与审查者子智能体。
  • 账本(ledger)记录:进度记录在账本文件中,而不仅记录在待办事项里。账本与 superpowers:subagent-driven-development 共享同一目录与格式,因此计划可以在执行中途更换执行者,新执行者从同一账本继续。
  • TDD 作为每任务关卡:每个步骤按 RED-GREEN 顺序执行,测试先写先跑,亲眼看到失败再实现使其通过。
  • 裁决(Ruling)机制:遇到冲突、歧义、计划缺陷时做出裁决并记入账本,格式为 Ruling: <决定> — <原因> — <若错误代价>,然后继续。
  • 预检扫描:在 Task 1 之前扫描任务之间的接口冲突,对每个消费前序任务产物的任务记录一行。
  • 完成契约:任务完成前必须满足若干条件,包括测试存在并运行、最终测试通过、每个 Expected 行都与真实输出比对、每个偏离都有 Ruling 行。
  • 最终整分支审查:使用 review-package 脚本生成审查包,由最有能力的模型进行审查;无子智能体工具时由执行者本人作为独立一遍进行自审。

使用方式

设置

  1. 确保工作在隔离的工作区中进行:使用 superpowers:using-git-worktrees 创建或验证现有工作区。未经人类伙伴明确同意,绝不在 main/master 分支上开始实现。
  2. 每个计划拥有一个工作区:在技能开始时运行 ../subagent-driven-development/scripts/sdd-workspace PLAN_FILE,它会打印该计划的 git 忽略目录(<repo-root>/.superpowers/sdd/<plan-basename>/)。
  3. 检查该计划的账本 <workspace>/progress.md。若其第一行指明你的计划文件,则带有 Task <N>: complete 行的任务已完成,不要重做,从第一个没有该行的任务继续。
  4. 创建账本,第一行为身份标识:# SDD ledger — plan: <plan file path>。
  5. 阅读一次计划,记录其上下文与 Global Constraints,为每个任务创建一个待办。若计划指定了 Spec,也阅读它:spec 是计划所依据的权威,计划内部的冲突以 spec 为准。
  6. 必需子技能:在 Task 1 之前加载 superpowers:test-driven-development。
  7. 在 Task 1 之前扫描任务之间的冲突,对每个冲突做出裁决并记录。

任务循环

  1. 接取任务:运行 scripts/task-start PLAN_FILE N,它会打印 brief 路径与 BASE(任务范围切出的提交)。阅读每个任务的 brief。将任务待办标记为 in_progress。
  2. 执行步骤:按计划中已有的 RED-GREEN 顺序执行,遵循 superpowers:test-driven-development。每个运行命令的步骤都有 Expected 行,运行命令、读取输出并比对。三种结果:匹配则进入下一步;代码错误则使用 superpowers:systematic-debugging;计划错误则做出裁决并记入账本。按计划的提交步骤提交。
  3. 完成契约:在写入任务的账本行之前,以下条件必须为真且有本次会话中的证据:brief 中每个测试都存在并在本任务中运行且读取了输出;任务的最终测试运行通过;brief 中每个 Expected 行都与真实输出比对;每个偏离都有 Ruling 行。由 superpowers:verification-before-completion 管辖该声明。
  4. 完成任务:运行 scripts/task-done PLAN_FILE N BASE -- <test command>,它会运行测试、保留完整输出、打印尾部,仅在通过时向账本追加完成行:Task <N>: complete (commits <base7>..<head7>, tests: <command> → <result>)。

最终审查

运行 ../subagent-driven-development/scripts/review-package PLAN_FILE MERGE_BASE HEAD 并从其打印的文件进行审查。有子智能体工具时,在最有能力的可用模型上派发审查者,使用 superpowers:requesting-code-review 的 code-reviewer.md,并明确指定模型。无子智能体工具时,阅读 code-reviewer.md 并自行执行该审查,向账本写入 Final review: self-review (no subagent tool)。

对发现的问题按影响重新分级:Critical 与 Important 进入修复环节;Minor 记入账本并列入最终消息的“Deferred minors”。Critical 与 Important 由执行者本人在一次修复中完成,每个修复由 TDD 验证(写复现测试、看其失败、使其通过、运行整个套件),记录为 Final: fixed <finding> — <test name> RED→GREEN, suite <N>/<N>。不进行第二次修复。

完成

在删除任何内容之前,收集所有含 Ruling: 的账本行到最终消息的“Rulings I made”下,按做出顺序排列,每条附上若错误的代价;所有 minor(deferred)行列入“Deferred minors”。当最终审查干净且其修复已提交后,删除该计划的工作区目录。使用 superpowers:finishing-a-development-branch。

适用场景

  • 人类伙伴选择内联执行,希望花费更少而非每个任务都回答“是否继续”。
  • 运行环境没有子智能体工具。
  • 任务大多相互独立。
  • 一份完全指定的计划使内联执行成为“转录加测试”,可在中等能力的会话模型上良好运行,而最有能力的模型在最终审查环节才体现其价值。

限制

  • 只有四类情况允许停下询问:不可逆或破坏性操作;安全敏感操作;工作树之外、按规范应先询问的副作用(合并、推送到共享分支、发布);以及计划彻底损坏以致每条前进路径都是猜测。
  • 内联执行放弃了每任务的全新上下文与每任务的第二双眼睛,改由 brief 作为规范、账本作为记忆、TDD 作为每任务关卡、最终审查者作为第二双眼睛来弥补。
  • 长计划上的内联执行仍然可行(账本使其可恢复),但最后几个任务得到的执行者注意力最少。
  • 作者自审弱于全新审查者,是否足够由人类伙伴在合并前决定。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。