exec-plan
Installation
SKILL.md
Exec Plan
执行 plan.md,或对小型明确任务直接实施代码修改。
核心原则
- 优先做最小正确修改。
- 有计划时按计划执行;无计划的小任务先形成内部简短执行说明,必要时再向用户简述。
- 遇到阻塞问题才暂停;非阻塞不确定点记录为 Assumptions 并继续。
- 修改后必须验证;无法验证时说明原因。
- 功能新增、删除、行为变化、重构、关键 bug 修复后必须检查是否需要
route-sync。 - 根据任务复杂度决定是否调用子代理;根据任务相关性决定哪些任务合并交给同一个子代理执行。
- 主线程负责子代理任务划分、集成、最终判断和用户交付。
- 完成实现后必须执行一次任务审查,优先发现遗漏、回归风险和验证缺口。
工作流
- 读取上下文:
- 有任务目录时读取
design.md、plan.md、最新plan-fix{n}.md。 plan-fix{n}.md按编号最大值判定最新;执行前检查plan.md和所有plan-fix*.md的未完成项,实际执行以最新修复计划和未关闭问题为准。- 小型直接改动时读取
route-lookup结果和相关代码。
- 有任务目录时读取
- 读取
plan.md中的任务相关性;无plan.md的小任务按默认主线程执行,除非实际发现复杂度需要拆分。 - 根据任务复杂度判断是否调用子代理,并根据任务相关性制定子代理任务分组。
- 输出或维护简短任务列表,仅覆盖本次要做的修改和验证;小任务默认内部维护,除非用户需要或任务风险值得说明。
- 执行代码修改,保持原有风格,不顺手重构。
- 运行相关验证:优先测试、类型检查、lint 或能证明改动正确的最小命令。
- 执行任务审查:对照
design.md、plan.md、实际 diff 和验证结果,检查遗漏、风险和测试缺口。 - 检查结果:
- 通过:进入完成摘要。
- 明确 bug 或遗漏:直接修复并再次验证。
- 多轮仍无法解决:有任务目录时写入
unresolved-issues.md;小任务无任务目录时在摘要中说明阻塞原因。
- 判断 route-sync:
yes/no/uncertain。如为yes或uncertain,继续加载route-sync完成同步检查;如为no,说明无需同步的原因。
子代理执行规则
先按任务复杂度决定是否调用子代理:
- 默认不为小型、局部、单文件或强连续判断的任务调用子代理。
- 当任务数量多、涉及多模块、多验证入口、需要大量探索或可并行补测试时,优先考虑调用子代理。
- 当任务边界不清、会频繁修改同一文件、需要主线程持续决策或存在高概率编辑冲突时,不调用或减少子代理。
再根据任务相关性决定分组:
- 强相关任务应合并给同一个子代理,或由主线程连续执行,避免上下文割裂。
- 弱相关任务可按文件范围、功能链路或验证入口合并,减少子代理数量和集成成本。
- 无直接相关且可独立验证的任务可以拆给不同子代理并行执行。
- 存在冲突风险的任务不得并行编辑同一文件;如仍需子代理处理,必须串行执行并由主线程复核 diff。
- 探索、实现、补测试和审查可以拆分,但同一行为链路的实现与测试通常应合并,除非测试边界完全独立。
子代理任务必须包含清晰的输入文件、修改范围、禁止触碰范围、预期输出和验证方式。子代理只能负责探索、局部实现、补测试、验证或审查建议;主线程必须复核其结果、处理集成冲突、运行最终验证,并承担最终交付责任。
小任务执行说明
# 简短执行说明
## 目标
- ...
## 修改范围
- ...
## 验证方式
- ...
## 执行策略
- 子代理使用:默认不使用 / 计划使用(复杂度原因)
- 任务分组:无 / ...
## RouteSync
- Need route-sync: yes / no / uncertain
任务审查
实现和验证后必须进行一次审查,审查重点按优先级排列:
- 需求覆盖:
plan.md中每个任务是否完成,未完成项是否有明确原因。 - 行为风险:是否引入未计划的行为变化、边界遗漏、兼容性问题或错误处理缺口。
- 代码范围:是否修改了无关文件,是否顺手重构,是否触碰用户已有无关改动。
- 验证充分性:测试、类型检查、lint 或手动验证是否覆盖本次风险;无法验证时原因是否可信。
- 路由图影响:是否涉及需要
route-sync的功能入口、核心实现或关键测试入口变化。
审查发现明确问题时,优先直接修复并再次验证;只在计划遗漏、验收不满足、明确回归风险或测试缺口需要单独跟踪时生成 plan-fix{n}.md。
规模升级
执行过程中发现改动范围显著超出预期(例如涉及新模块、新架构、跨多文件行为变化)时:
- 暂停当前执行。
- 向用户说明升级原因:原本预期的影响范围 vs 实际发现的影响范围。
- 建议先加载
design技能确认方案,再加载plan技能生成plan.md后继续。
小范围波动(多改 1-2 个文件、补充少量边界处理)不需要升级,直接执行并说明即可。
修复计划规则
- 只有在存在
plan.md且发现计划遗漏、验收不满足、明确回归风险或测试缺口时,才生成plan-fix{n}.md。 plan-fix{n}.md必须引用plan.md中的稳定任务 ID;新增修复任务可继续使用F1、F2等稳定 ID。- 小任务通常不生成 fix plan,直接修复并在摘要中说明。
- 修复上限默认 3 轮。用户可通过"放宽修复上限"或指定具体轮数来覆盖默认值。有任务目录时必须记录到
unresolved-issues.md,小任务无任务目录时记录在摘要中。
完成检查
完成前确认:
- 计划或执行说明中的任务已完成,或明确列出未完成原因。
- 有任务目录时,已同步维护
plan.md或最新plan-fix{n}.md中的任务完成状态。 - 已按复杂度判断子代理使用情况,按任务相关性完成分组,并复核所有子代理结果。
- 已完成任务审查,审查发现的问题已修复或记录。
- 相关验证已运行,或说明无法运行原因。
- 本次改动是否需要 route-sync 已判断;如为
yes或uncertain,已继续加载route-sync完成同步检查。 - 如执行了 route-sync,最终摘要必须包含实际同步结果和修改的路由图文件;如未能完成,说明失败原因或未确认内容。
- 未修改无关文件,未回退用户已有改动。
输出格式
# 执行摘要
## 结果
- 完成 / 部分完成 / 未完成
## 变更文件
- `path/to/file`:修改说明
## 验证
- 命令:...
- 结果:通过 / 失败 / 未运行(原因)
## 执行策略
- 子代理使用:未使用 / 已使用(原因)
- 任务分组:无 / ...
- 复核结果:...
## 任务审查
- 结论:通过 / 发现并已修复 / 存在遗留问题
- 关注点:...
## RouteSync
- Need route-sync: yes / no / uncertain
- 影响功能:...
- 同步结果:未执行 / 已更新 / 无需更新 / partial / uncertain / 失败(原因)
- 路由图文件:无 / `docs/routespec/...`
## 遗留问题
- 无 / ...
Related skills
More from gmwenterprise/route-spec
route-sync
同步、废弃或审计功能路由图;仅在用户明确要求整理归档时执行归档。适用于核心功能新增或删除、功能入口变化、核心实现迁移、关键测试入口变化,以及用户要求检查路由图是否过期时触发。
6route-lookup
查询功能路由图,定位相关功能、入口文件、核心代码和测试。当用户提出编码、修改、新增、删除功能等需求时触发。所有规模编码任务均需先加载。
6route-init
首次创建功能路由图,定义格式模板并写入初始条目。仅当功能路由图不存在且当前任务需要代码定位时触发。
2design-plan
需求澄清、轻量设计和执行计划生成。适用于需求不清、中大型任务或需要生成 design.md / plan.md 的场景。
2