skills/plan-execution/SKILL.md
当实施计划已确认、需要开始写代码时触发。按模块清单逐个执行开发任务,每个模块完成后运行验收脚本或通过subagent审查验证。 适用场景:用户说"开始开发"、"执行计划"、"写代码"、"开始实现"、"按 plan 执行"等,且已有确认的实施计划。 本skill只负责按 plan 执行开发,不做需求变更或计划调整。
npx skillsauth add anian0/pick-skills plan-executionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
按实施计划逐个执行模块,通过 subagent 连续实现模块内子步骤,模块边界审核确保质量。 默认范围只做模块级单元/集成测试,不做端到端测试。
<HARD-GATE> - 实施计划必须存在;无计划则先调用 implementation-planning - 计划文件路径:`workplace/1.X/plan/`(X 为当前活跃版本数字),计划为**目录结构**,含 `index.md` 和各模块文件 `M{N}-xxx.md` - **所有新增测试文件必须落到 `workplace/1.X/test/` 下对应子目录**(backend/unit、backend/integration、frontend/unit、frontend/component、review、fixtures),不得放在源码旁 - 执行过程中**不提交 git** </HARD-GATE>1.X 为占位符,详见 requirements-workshop/SKILL.md。真实路径必须替换为具体数字(如 workplace/1/plan/)。
workplace/1.X/test/
├── backend/
│ ├── unit/<module>/ # 后端单元测试(核心)
│ └── integration/<module>/ # 后端集成测试(仅关键路径)
├── frontend/
│ ├── unit/<page-or-store>/ # 前端单元测试
│ └── component/<component>/ # 前端组件测试
├── review/ # 前端审查清单(subagent 逐项检查)
├── fixtures/ # 共享测试数据
└── README.md # 运行命令矩阵 + 覆盖率目标
约束:
workplace/1.X/test/ 不存在,第一个被执行的模块负责创建该骨架(含 README.md)e2e/每个模块委托给有隔离上下文的专用 agent,确保聚焦并成功完成。他们不继承你的会话上下文——你构建他们确切需要的内容,同时保护你的上下文用于协调。
模块状态以 index.md 中的状态列为准,不依赖内存(会话中断即丢失)。
| 时机 | 操作 |
|------|------|
| 开始执行某模块前 | 在 index.md 执行索引表中状态改为 执行中,保存 |
| 模块通过审核后 | 状态改为 完成,保存 index.md |
| 用户决定不做某模块 | 改为 跳过,在 index.md 该模块行末加跳过原因;若下游依赖被跳过模块的输出,先与用户确认替代方案再继续 |
| 会话中断后恢复 | 读 index.md,找第一个 待执行 或 执行中 模块继续;遇 跳过 直接越过,但需检查下游依赖是否仍可执行 |
从交接清单获取计划目录路径、需求文档路径、技术方案路径。
只读 index.md(不读任何模块文件),获取执行索引后,向用户确认理解:
我已读取任务清单,理解如下:
计划文件:
workplace/1.X/plan/YYYY-MM-DD-xxx/(目录) 模块数量:N个(列出编号和名称) 功能点总数:K个(列出FP编号) 后端脚本测试点:X个(列出TC编号) 前端审查测试点:Y个(列出TC编号) 特别关注点:[从计划文件提取]执行顺序:[模块执行顺序摘要]
请确认是否开始执行?
等待用户确认后才进入执行循环。若用户提出调整,处理后再重新确认。
计划文档是目录结构(index.md + 各模块文件),利用文件边界天然隔离上下文:
index.md,获取模块数量、顺序、状态M{N}-xxx.md 文件(index.md 的"模块文件"列有文件名),该文件完全自含1.X 占位符替换为当前活跃版本号。计划文档由 implementation-planning 编写时会保留 1.X,但 implementer 遇到字面 1.X 会停止并询问——由你在传入前完成替换,包括验收脚本内容中的路径读取交接信息 → 确认计划理解
↓
读取 index.md → 选下一个待执行模块
↓
更新状态=执行中 → 读取当前模块文件 → 委派实现 subagent (implementer-prompt.md)
↓
subagent 提问?→ 是:回答上下文 → 重新委派
→ 否:subagent 连续实现+自检+模块测试
↓
委派模块审核 subagent (module-reviewer-prompt.md)
↓
审核通过?→ 否:让实现 subagent 修复 → 重新审核
→ 是:更新状态=完成
↓
还有模块?→ 是:循环
→ 否:委派最终审核 subagent (final-reviewer-prompt.md) 做集成核对
(仅做跨模块集成与验收标准核对,不做端到端测试)
↓
最终审核通过?→ 否:按"最终审核失败处理"修复 → 重新审核
→ 是:完成收尾
用足够完成模块的最弱模型以节省成本和时间。
| 模块类型 | 推荐模型 | |----------|----------| | 机械实现(重复性 CRUD) | 最快最便宜 | | 集成判断(多文件协调) | 标准 | | 模块审核 | 最强(需判断力) | | 最终集成核对 | 标准 |
绝不:
模块审核器一次审核六件事:
workplace/1.X/test/ 下审核传入:模块文件全部内容(已自含目标、功能点、测试点、子步骤、接口契约、相邻模块接口摘要、特别关注点、验收标准)+ 实现者报告 + 本目录规范。
模块测试失败时:
所有模块完成后,委派最终审核 subagent(references/final-reviewer-prompt.md)做集成核对:
获取传入信息:
index.md 顶部读取"需求文档"和"技术方案"路径index.md 复制执行索引表index.md 复制特别关注点章节传入信息:
[后端]/[前端] 测试关注标记)index.md 的执行索引表(含模块→功能点→测试点映射)和功能点-模块映射表index.md 中的特别关注点(用户强调的约束、风险、偏好)核对内容:
不做:实际跑端到端用例、模拟完整用户路径——这些不在本套默认范围内。
最终审核发现问题时的处理流程:
最终审核通过后,产出执行总结并更新计划文件:
所有模块已完成并通过审核。执行总结:
- 计划文件:
workplace/1.X/plan/YYYY-MM-DD-xxx/(目录)- 模块完成:N/M(跳过K个,列出编号及原因)
- 功能点覆盖:已执行模块的 FP 全部验收通过(跳过模块的 FP 列入遗留事项)
- 测试结果:后端脚本 X 个 ALL PASS,前端审查 Y 个全部通过
- 遗留事项:[如有跳过模块或待办,列出]
后续:如需部署、上线验证或处理跳过模块,由用户决定下一步行动。
委派 subagent 前,读取对应模板文件,替换占位符后作为 prompt 传入。
references/implementer-prompt.md - 委派模块实现 subagent(按模板中的 {...} 占位符说明,传入当前模块文件的完整内容)references/module-reviewer-prompt.md - 委派模块审核 subagent(按模板中的 {...} 占位符说明,传入模块文件完整内容 + 实现者报告)references/final-reviewer-prompt.md - 委派最终审核 subagent(按模板中的 {...} 占位符说明,传入 index.md 内容 + 需求/技术方案信息)你:执行计划。
[读取 index.md,确认 6 个模块及顺序]
模块 M1:数据库迁移与模型
[读取 M1-数据库迁移与模型.md,index.md 状态改"执行中"]
[委派 implementer,传入 M1 模块文件内容]
实现者:"开始前 - 数据库连接配置在哪里?"
你:"见技术方案 §1.2"
实现者:[实现] → 报告 DONE
[委派 module-reviewer,传入 M1 模块文件内容 + 实现者报告]
审核:✅ 通过
[执行 M1 测试命令]
测试通过 → index.md 中 M1 状态改"完成"
模块 M2:业务服务层
[只读取 M2-xxx.md,不读 M1 或 M3 文件]
... (同上)
[所有模块完成]
[委派 final-reviewer 做集成核对(传入 index.md 内容 + 需求/技术方案,不跑 E2E)]
最终审核:✅ 验收标准全部覆盖,集成无问题
完成!
| Skill | 关系 | |-------|------| | implementation-planning | 创建本 skill 执行的模块计划 | | tech-design | 模块引用的技术方案来源 | | requirements-workshop | 技术方案引用的需求来源 | | issue-troubleshooting | 大修修复计划经 implementation-planning 生成后,由本 skill 按模块执行 |
development
编排无人值守项目开发闭环,从需求澄清、技术方案、实施计划、代码执行、阶段审查、疑问回退到端到端测试验收。用户要求“无人值守开发”“端到端交付”“自动推进研发流程”“严格审查并回退重做”“从需求到测试全流程执行”时使用;本 skill 负责总控,不替代 requirements-workshop-v2、tech-design-v2、implementation-planning-v2、plan-execution-v2、project-development-review-v2 或 test-suite-maintainer 的阶段规则。
development
基于已确认的需求简报创建简洁的实现契约。当需求已确认,用户要求技术方案、实现方案、API 或数据设计、代码变更契约时使用。本 skill 只设计方案,不写生产代码。
content-media
将项目想法或功能请求澄清为简洁、聚焦决策的需求简报。当用户想讨论需求、确定范围、把想法整理成开发前输入,或为 tech-design-v2 准备需求材料时使用。本 skill 只产出需求,不做技术方案或代码实现。
development
项目开发 v2 skill 套件的共享政策和交付契约。当维护、审查、分享或挂载 requirements-workshop-v2、tech-design-v2、implementation-planning-v2、plan-execution-v2 使用的公共文档时使用;当任务涉及 v2 提问策略、交付契约或禁止模拟完成策略时也使用。