SuperAPI AI 工具集

executing-plans

编程与开发

查看项目

更新于 10-30 16:19

技能介绍

用途

Executing Plans 用于在当前会话中由执行者本人逐任务执行一份实现计划。适用场景包括:人类伙伴在交接时选择了内联执行;当前工具环境没有子代理工具;任务大多相互独立。它不适用于需要每个任务都有审查关卡,或计划长到后续任务会在压缩上下文中运行的情况——那时应优先选择子代理驱动开发。

主要能力

  • 内联执行:不设每任务的实现者子代理和审查者子代理,只在整个分支末尾做一次全新上下文审查。
  • 账本记录:用账本文件而非仅靠待办事项跟踪进度,因为对话记忆无法在压缩后存活。
  • 持续执行:任务之间不暂停向人类伙伴确认,一次性执行完计划中的所有任务。
  • 裁决而非停滞:遇到冲突、歧义、计划缺陷时自行裁决,并以“Ruling: <决定> — <原因> — <出错代价>”格式记入账本。
  • 四种停止条件:不可逆或破坏性操作;安全敏感操作;工作树之外的副作用(合并、推送到共享分支、发布);计划彻底损坏以致每条前进路径都是猜测。

使用方式

  1. 设置:使用 using-git-worktrees 创建或验证隔离工作区,未经人类伙伴明确同意不得在 main/master 分支上开始实现。运行 ../subagent-driven-development/scripts/sdd-workspace PLAN_FILE 获取本计划专属的 git 忽略目录。检查 <workspace>/progress.md 账本,若首行指向本计划文件,则已有“Task <N>: complete”行的任务视为已完成,从第一个没有该行的任务继续。账本首行写“# SDD ledger — plan: <plan file path>”。读取计划一次,记录上下文与全局约束,为每个任务创建待办。若计划指定了 Spec,也需读取。在任务 1 之前加载 test-driven-development 子技能,并扫描任务间冲突。
  2. 任务循环:运行 scripts/task-start PLAN_FILE N 获取简报路径和 BASE 提交。按 RED-GREEN 顺序执行步骤,每个运行命令的步骤都有 Expected 行,需运行并比对输出。代码错误用 systematic-debugging;计划错误则裁决并记账。按计划的提交步骤提交。
  3. 完成契约:任务账本行之前,简报中每个测试都需存在并在本任务中运行且读取输出;最终测试运行通过;每个 Expected 行都与真实输出比对;每个偏离都有 Ruling 行。由 verification-before-completion 子技能约束。运行 scripts/task-done PLAN_FILE N BASE -- <test command>,仅在测试通过时追加完成行。
  4. 最终审查:运行 ../subagent-driven-development/scripts/review-package PLAN_FILE MERGE_BASE HEAD 并据此审查。有子代理工具时,用最强模型派发审查者,使用 requesting-code-review 的 code-reviewer.md,指定模型,附上包路径、计划与规格路径、计划的 Review Focus 原文、账本 Ruling 行指针。无子代理工具时,自行按 code-reviewer.md 做一次独立审查,并在账本写“Final review: self-review (no subagent tool)”。
  5. 修复:Critical 和 Important 进入一次修复,每个修复用 TDD 验证(写复现测试、看其失败、使其通过、跑全套件),记录为“Final: fixed <finding> — <test name> RED→GREEN, suite <N>/<N>”。Minor 记入账本“Final: minor (deferred): <one-liner>”并列入最终消息的“Deferred minors”。不进行第二次修复。
  6. 收尾:删除本计划工作区目录,使用 finishing-a-development-branch。最终消息中按顺序列出所有 Ruling 行及其出错代价,以及所有 deferred minor。

适用场景

  • 已有来自 writing-plans 的计划,且人类伙伴在交接时选择内联执行。
  • 工具环境没有子代理工具。
  • 任务大多相互独立。
  • 计划已完全指定,内联执行相当于转录加测试,适合中等能力会话模型运行,最强模型的价值体现在最终审查。

限制

  • 放弃每任务的新鲜上下文和每任务第二双眼睛,靠简报、账本、TDD 和最终审查弥补。
  • 长计划下后续任务会在压缩上下文中运行,最后几个任务得到的最少。
  • 账本首行指向其他计划文件时,不得读写,需另起新账本。
  • git clean -fdx 会销毁工作区,需从 git log 恢复。
  • 未记账的偏离视为秘密决定。
  • 最终消息是裁决和未处理发现到达人类伙伴的唯一途径。