exec-plan

Installation
SKILL.md

Exec Plan

执行 plan.md,或对小型明确任务直接实施代码修改。

核心原则

  • 优先做最小正确修改。
  • 有计划时按计划执行;无计划的小任务先形成内部简短执行说明,必要时再向用户简述。
  • 遇到阻塞问题才暂停;非阻塞不确定点记录为 Assumptions 并继续。
  • 修改后必须验证;无法验证时说明原因。
  • 功能新增、删除、行为变化、重构、关键 bug 修复后必须检查是否需要 route-sync
  • 根据任务复杂度决定是否调用子代理;根据任务相关性决定哪些任务合并交给同一个子代理执行。
  • 主线程负责子代理任务划分、集成、最终判断和用户交付。
  • 完成实现后必须执行一次任务审查,优先发现遗漏、回归风险和验证缺口。

工作流

  1. 读取上下文:
    • 有任务目录时读取 design.mdplan.md、最新 plan-fix{n}.md
    • plan-fix{n}.md 按编号最大值判定最新;执行前检查 plan.md 和所有 plan-fix*.md 的未完成项,实际执行以最新修复计划和未关闭问题为准。
    • 小型直接改动时读取 route-lookup 结果和相关代码。
  2. 读取 plan.md 中的任务相关性;无 plan.md 的小任务按默认主线程执行,除非实际发现复杂度需要拆分。
  3. 根据任务复杂度判断是否调用子代理,并根据任务相关性制定子代理任务分组。
  4. 输出或维护简短任务列表,仅覆盖本次要做的修改和验证;小任务默认内部维护,除非用户需要或任务风险值得说明。
  5. 执行代码修改,保持原有风格,不顺手重构。
  6. 运行相关验证:优先测试、类型检查、lint 或能证明改动正确的最小命令。
  7. 执行任务审查:对照 design.mdplan.md、实际 diff 和验证结果,检查遗漏、风险和测试缺口。
  8. 检查结果:
    • 通过:进入完成摘要。
    • 明确 bug 或遗漏:直接修复并再次验证。
    • 多轮仍无法解决:有任务目录时写入 unresolved-issues.md;小任务无任务目录时在摘要中说明阻塞原因。
  9. 判断 route-sync:yes / no / uncertain。如为 yesuncertain,继续加载 route-sync 完成同步检查;如为 no,说明无需同步的原因。

子代理执行规则

先按任务复杂度决定是否调用子代理:

  • 默认不为小型、局部、单文件或强连续判断的任务调用子代理。
  • 当任务数量多、涉及多模块、多验证入口、需要大量探索或可并行补测试时,优先考虑调用子代理。
  • 当任务边界不清、会频繁修改同一文件、需要主线程持续决策或存在高概率编辑冲突时,不调用或减少子代理。

再根据任务相关性决定分组:

  • 强相关任务应合并给同一个子代理,或由主线程连续执行,避免上下文割裂。
  • 弱相关任务可按文件范围、功能链路或验证入口合并,减少子代理数量和集成成本。
  • 无直接相关且可独立验证的任务可以拆给不同子代理并行执行。
  • 存在冲突风险的任务不得并行编辑同一文件;如仍需子代理处理,必须串行执行并由主线程复核 diff。
  • 探索、实现、补测试和审查可以拆分,但同一行为链路的实现与测试通常应合并,除非测试边界完全独立。

子代理任务必须包含清晰的输入文件、修改范围、禁止触碰范围、预期输出和验证方式。子代理只能负责探索、局部实现、补测试、验证或审查建议;主线程必须复核其结果、处理集成冲突、运行最终验证,并承担最终交付责任。

小任务执行说明

# 简短执行说明

## 目标
- ...

## 修改范围
- ...

## 验证方式
- ...

## 执行策略
- 子代理使用:默认不使用 / 计划使用(复杂度原因)
- 任务分组:无 / ...

## RouteSync
- Need route-sync: yes / no / uncertain

任务审查

实现和验证后必须进行一次审查,审查重点按优先级排列:

  1. 需求覆盖:plan.md 中每个任务是否完成,未完成项是否有明确原因。
  2. 行为风险:是否引入未计划的行为变化、边界遗漏、兼容性问题或错误处理缺口。
  3. 代码范围:是否修改了无关文件,是否顺手重构,是否触碰用户已有无关改动。
  4. 验证充分性:测试、类型检查、lint 或手动验证是否覆盖本次风险;无法验证时原因是否可信。
  5. 路由图影响:是否涉及需要 route-sync 的功能入口、核心实现或关键测试入口变化。

审查发现明确问题时,优先直接修复并再次验证;只在计划遗漏、验收不满足、明确回归风险或测试缺口需要单独跟踪时生成 plan-fix{n}.md

规模升级

执行过程中发现改动范围显著超出预期(例如涉及新模块、新架构、跨多文件行为变化)时:

  1. 暂停当前执行。
  2. 向用户说明升级原因:原本预期的影响范围 vs 实际发现的影响范围。
  3. 建议先加载 design 技能确认方案,再加载 plan 技能生成 plan.md 后继续。

小范围波动(多改 1-2 个文件、补充少量边界处理)不需要升级,直接执行并说明即可。

修复计划规则

  • 只有在存在 plan.md 且发现计划遗漏、验收不满足、明确回归风险或测试缺口时,才生成 plan-fix{n}.md
  • plan-fix{n}.md 必须引用 plan.md 中的稳定任务 ID;新增修复任务可继续使用 F1F2 等稳定 ID。
  • 小任务通常不生成 fix plan,直接修复并在摘要中说明。
  • 修复上限默认 3 轮。用户可通过"放宽修复上限"或指定具体轮数来覆盖默认值。有任务目录时必须记录到 unresolved-issues.md,小任务无任务目录时记录在摘要中。

完成检查

完成前确认:

  • 计划或执行说明中的任务已完成,或明确列出未完成原因。
  • 有任务目录时,已同步维护 plan.md 或最新 plan-fix{n}.md 中的任务完成状态。
  • 已按复杂度判断子代理使用情况,按任务相关性完成分组,并复核所有子代理结果。
  • 已完成任务审查,审查发现的问题已修复或记录。
  • 相关验证已运行,或说明无法运行原因。
  • 本次改动是否需要 route-sync 已判断;如为 yesuncertain,已继续加载 route-sync 完成同步检查。
  • 如执行了 route-sync,最终摘要必须包含实际同步结果和修改的路由图文件;如未能完成,说明失败原因或未确认内容。
  • 未修改无关文件,未回退用户已有改动。

输出格式

# 执行摘要

## 结果
- 完成 / 部分完成 / 未完成

## 变更文件
- `path/to/file`:修改说明

## 验证
- 命令:...
- 结果:通过 / 失败 / 未运行(原因)

## 执行策略
- 子代理使用:未使用 / 已使用(原因)
- 任务分组:无 / ...
- 复核结果:...

## 任务审查
- 结论:通过 / 发现并已修复 / 存在遗留问题
- 关注点:...

## RouteSync
- Need route-sync: yes / no / uncertain
- 影响功能:...
- 同步结果:未执行 / 已更新 / 无需更新 / partial / uncertain / 失败(原因)
- 路由图文件:无 / `docs/routespec/...`

## 遗留问题
- 无 / ...
Related skills
Installs
6
First Seen
6 days ago