| name | easy-codex-executing-plans |
| description | 当已有经用户批准且审核通过或剩余风险已被接受的实现计划,需要用子代理逐阶段执行实现、做规格符合审查和代码质量审查时使用。 |
Easy Codex 执行计划
子代理驱动执行已批准且审核已处理的计划:按计划拓扑串行或并行执行;写代码实现子代理可复用;先规格符合审查,再代码质量审查;每阶段完成后提交一次。
用户选择
- “选择功能”指:可点击选择可用时必须用控件;工具不可用时用文本降级,给每个选项编号,列 2-3 个互斥选项,推荐项第一,要求用户回复编号数字、完整选项名或
其他: <自定义>;开放答案用“其他”,并允许用户直接输入自定义内容;禁止要求用户输入关键词或技能名。
强制门禁
- 只执行用户批准且审核通过或剩余风险已被接受的
docs/plans/ 计划。
- 必须在计划字段
绝对 worktree 路径 内工作;禁止在 main worktree 写入。
- 计划缺失、
计划批准记录 缺失、审核状态 缺失、下一阶段许可 未许可、缺少绝对 worktree 路径、相对路径、未通过 <主项目根>/<显示路径> realpath 校验,或存在明确阻止规格落地的问题时,禁止实现,返回 $easy-codex-writing-plans 或 $easy-codex-spec。
- 必须用 sub-agent 工具;没有子代理能力则停止。
控制器职责
- 主会话只协调、分派、整合、处理阻塞;不亲自实现。
- 子代理不继承会话历史;给它完整阶段文本、必要背景、worktree 工作目录和边界。
- 只有计划明确并行组且写集不重叠时,才可并行派多个写代码实现子代理;否则串行。
- 不让子代理读完整计划;控制器提取阶段全文后传入。
- 串行执行时写代码实现子代理在整个执行流程中保持打开并复用;并行组内每个并行分支使用各自的写代码实现子代理。
- 每个写代码实现子代理在负责的阶段/分支内保持打开并复用;审查修复和验证修复发回同一个实现子代理。
- 流程全部完成或停止时关闭所有仍打开的写代码实现子代理。
- 只有本技能创建的写代码实现子代理可以保留;规格/计划文档子代理、审核子代理、审查子代理、预审子代理都用完即关闭。
- 审查和预审子代理返回后,读完结果必须立即
close_agent;重审派新审查子代理。
- 不在阶段间询问是否继续;除非阻塞、歧义或全部完成。
子代理配置
- 按阶段类型默认指定
model 和 reasoning_effort:
- 机械实现,1-2 文件、阶段清楚:
gpt-5.4-mini + medium
- 常规实现,多文件但边界清楚:
gpt-5.5 + medium
- 复杂实现、调试、迁移、跨模块契约:
gpt-5.5 + high
- 规格符合审查:
gpt-5.5 + high
- 代码质量审查:
gpt-5.5 + high
- 高风险安全、数据、架构审查:
gpt-5.5 + xhigh
- 不默认指定
service_tier。
- 默认不询问用户。若用户要求覆盖默认,用选择功能提供:
使用默认、提高能力、降低成本;同时提供“其他”输入入口。
提高能力:该阶段及其审查统一升到 gpt-5.5 + high。
降低成本:仅机械实现可降到 gpt-5.4-mini + medium;审查不降级。
- “其他”:允许直接输入 model/effort。
- 只使用当前环境支持的 model/effort。
工作流
- 声明使用本技能。
- 读取计划字段
绝对 worktree 路径、主项目根、显示路径;相对路径直接阻塞。用 realpath 验证它等于 <主项目根>/<显示路径>、不是 main worktree,并出现在 git worktree list --porcelain 后切入;git status --short,确认用户改动。
- 读取计划、规格、相关代码和测试。
- 检查计划:流程状态、基准、明确阻塞、会阻止规格落地的范围冲突、缺失文件、不可运行命令;轻微漂移留给实现审查,不在执行入口扩大审计。
- 若计划不可执行,禁止实现;用选择功能请求:回到计划、回到规格、停止。
- 提取所有阶段全文和
执行拓扑,建立阶段清单;并行组缺少写集/依赖/独立验证证据时降级串行。
- 按拓扑执行阶段;串行段复用一个写代码实现子代理,并行组内按分支并行派写代码实现子代理:
- 发送当前阶段全文、分支写集和依赖给对应实现子代理。
- 处理
DONE、DONE_WITH_CONCERNS、NEEDS_CONTEXT、BLOCKED。
- 派规格符合审查子代理,使用
prompts/spec-reviewer.md;不通过则复用同一实现子代理修复并复审。
- 规格通过后,派代码质量审查子代理,使用
prompts/code-quality-reviewer.md;不通过则复用同一实现子代理修复并复审。
- 两轮审查都通过后,运行阶段验证,提交本阶段相关改动;未提交禁止进入下一阶段;并行组全部分支提交完成后才能进入依赖阶段。
- 全部阶段完成后,派整体集成预审子代理,使用
prompts/integration-pre-reviewer.md;该预审不等于代码最终审查,也不满足交付门禁。
- 预审有开放问题时禁止进入代码最终审查;必须回
$easy-codex-writing-plans 只改 docs/plans/ 追加 follow-up 阶段或指定归属阶段,重新审核并获用户批准后回 $easy-codex-executing-plans;已有阶段提交保持不改。
- 流程完成或停止时关闭写代码实现子代理;汇报改动文件、阶段提交、验证结果、偏离计划处、剩余风险;用选择功能请求下一步:进入代码最终审查、停止。
子代理状态
DONE:进入规格符合审查。
DONE_WITH_CONCERNS:先读疑虑;涉及正确性或范围则解决后审查。
NEEDS_CONTEXT:补充上下文,重新派发。
BLOCKED:补上下文、换更强模型、拆小任务;并行冲突则降级串行;计划或规格有问题则返回对应流程。
同一阻塞重复出现:展示证据,用选择功能选择回到计划、回到规格或停止。
审查门禁
- 规格符合审查未通过,禁止进入代码质量审查。
- 任一审查有开放问题,禁止进入下一阶段。
- 实现子代理自检不能替代审查。
- 审查发现问题后,必须修复并复审;任何审查后代码变更,必须重新跑规格符合审查和代码质量审查。
执行规则
- 保留用户改动;不运行
reset、checkout 或覆盖无关工作。
- 子代理手工编辑也必须用
apply_patch;子代理禁止提交,提交由控制器执行。
- 并行实现子代理必须拥有互不重叠写集;发现同文件或共享生成物冲突时停止并行,关闭多余实现子代理,改为串行。
- 只做计划内最小完整改动;新增范围回到计划或规格流程。
- 每个阶段必须运行计划指定验证;失败且在范围内则修复并重跑。
- 每阶段完成后必须
git add 仅本阶段相关文件并 git commit 一次;不推送,不合并,不提交无关用户改动。
输出
- 完成阶段:
- 修改文件:
- 运行验证:
- 审查结果:
- 失败或跳过验证及原因:
- 偏离计划:
- 剩余风险:
- 阶段提交:
- 下一步选择:
$easy-codex-review 做代码最终审查,或停止