用途
Implementation Planning 技能用于创建可执行的实施计划(PLAN),将功能拆解为遵循 TDD 原则的可执行任务。其目标是让开发者能够独立按照计划工作,无需额外澄清。
主要能力
- 从模板创建新的 PLAN
- 完成已有 implementation-plan.md 中的阶段
- 定义任务顺序与依赖关系
- 规划 TDD 循环(Prime → Test → Implement → Validate)
- 处理 docs/specs/ 目录下的任何 implementation-plan.md 文件
计划完成标准
一个计划在满足以下条件时视为完成:
- 开发者可以独立遵循,无需额外上下文
- 每个任务产生可验证的交付物(而非仅活动)
- 所有 PRD 验收标准映射到具体任务
- 所有 SDD 组件都有对应的实施任务
- 依赖关系明确,不存在循环依赖
使用方式
模板
PLAN 模板位于 template.md,需严格使用该结构。将模板写入规格目录的步骤:
- 读取模板:
plugins/start/skills/implementation-plan/template.md - 写入规格目录:
docs/specs/[NNN]-[name]/implementation-plan.md
计划重点
计划必须回答以下问题:
- WHAT 产生价值?(交付物,而非活动)
- IN WHAT ORDER 任务按什么顺序执行?(依赖与排序)
- HOW TO VALIDATE 如何验证正确性?(测试优先方法)
- WHERE 每个任务在哪里被规定?(链接到 PRD/SDD 章节)
保持计划可执行且聚焦:使用任务描述、顺序和验证标准;省略时间估算、资源分配和实施代码。
任务粒度原则
跟踪产生可验证结果的逻辑单元。TDD 循环是执行方法,而非单独跟踪的条目。
好的跟踪单元(产生结果):
- "Payment Entity" → 产生:带测试的可工作实体
- "Stripe Adapter" → 产生:带测试的可工作集成
- "Payment Form Component" → 产生:带测试的可工作 UI
不好的跟踪单元(过于细碎):
- "Read payment interface contracts" → 准备工作,非交付物
- "Test Payment.validate() rejects negative amounts" → 属于更大结果的一部分
- "Run linting" → 验证步骤,非交付物
结构模式
- [ ] **T1.1 Payment Entity** `[activity: domain-modeling]`
**Prime**: Read payment interface contracts `[ref: SDD/Section 4.2; lines: 145-200]`
**Test**: Entity validation rejects negative amounts; supports currency conversion; handles refunds
**Implement**: Create `src/domain/Payment.ts` with validation logic
**Validate**: Run unit tests, lint, typecheck
复选框跟踪 "Payment Entity" 作为一个单元,Prime/Test/Implement/Validate 是嵌入的指导。
TDD 阶段结构
每个任务遵循以下模式中的红-绿-重构:
- Prime Context:阅读相关规格章节,理解接口与契约,加载模式与示例
- Write Tests (Red):在实现前测试行为,引用 PRD 验收标准,覆盖正常路径与边界情况
- Implement (Green):构建以通过测试,遵循 SDD 架构,使用已发现的模式
- Validate (Refactor):运行自动化测试,检查代码质量(lint、format),验证规格符合性
任务元数据
在计划中使用以下标注:
- [ ] T1.2.1 [Task description] `[ref: SDD/Section 5; lines: 100-150]` `[activity: backend-api]`
| 元数据 | 描述 |
|---|---|
[parallel: true] |
可并发运行的任务 |
[component: name] |
用于多组件功能 |
[ref: doc/section; lines: X-Y] |
链接到规格 |
[activity: type] |
用于专家选择的提示 |
循环模式
对每个需要定义的阶段,遵循以下迭代过程:
- 发现阶段:阅读 PRD 和 SDD 以理解需求与设计;识别每个实施领域所需的活动;启动并行专家代理调查任务排序与依赖、测试策略、风险评估、验证方法
- 文档阶段:用任务定义更新 PLAN;添加规格引用([ref: ...]);仅聚焦当前正在定义的阶段;严格遵循模板结构
- 审查阶段:向用户展示任务拆解;展示依赖与排序;突出并行机会;等待用户确认后再进入下一阶段
每个循环自问:是否已阅读相关 PRD 和 SDD 章节?所有任务是否可追溯到规格需求?任务间依赖是否清晰?并行任务是否真能并行运行?每个阶段是否包含验证步骤?是否已获得用户确认?
规格符合性
每个阶段应包含一个验证任务:
- [ ] **T1.3 Phase Validation** `[activity: validate]`
Run all phase tests, linting, type checking. Verify against SDD patterns and PRD acceptance criteria.
对于复杂阶段,验证嵌入在每个任务的 Validate 步骤中。
偏差协议
当实施需要偏离规格时:记录偏差并给出明确理由;在继续前获得批准;当偏差改进设计时更新 SDD;在计划中记录所有偏差以便追溯。
验证清单
完整清单见 validation.md。关键门槛:
- 所有规格文件路径正确且存在
- 上下文准备章节完整
- 所有实施阶段已定义
- 每个阶段遵循 TDD:Prime → Test → Implement → Validate
- 阶段间依赖清晰(无循环依赖)
- 并行工作正确标记
[parallel: true] - 提供活动提示用于专家选择
[activity: type] - 每个阶段引用相关 SDD 章节
- 每个测试引用 PRD 验收标准
- 最终阶段定义集成与 E2E 测试
- 项目命令与实际项目设置匹配
- 开发者可以独立遵循此计划
输出格式
PLAN 工作完成后报告:
📋 PLAN Status: [spec-id]-[name]
Phases Defined:
- Phase 1 [Name]: ✅ Complete (X tasks)
- Phase 2 [Name]: 🔄 In progress
- Phase 3 [Name]: ⏳ Pending
Task Summary:
- Total tasks: [N]
- Parallel groups: [N]
- Dependencies: [List key dependencies]
Specification Coverage:
- PRD requirements mapped: [X/Y]
- SDD components covered: [X/Y]
Next Steps:
- [What needs to happen next]
适用场景
- 从模板创建新的 PLAN
- 完成已有 implementation-plan.md 中的阶段
- 定义任务序列与依赖
- 规划 TDD 循环
- 处理 docs/specs/ 下的 implementation-plan.md 文件
限制
- 计划省略时间估算、资源分配和实施代码
- 需要 PRD 和 SDD 作为输入
- 偏差需获得批准并记录
- 示例参考见 examples/phase-examples.md,验证清单见 validation.md