writing-plans · 实施计划编写

实施计划编写 skill:有需求文档/规格后、写代码前,写出实施计划。读者是没见过这个代码库、也没见过规格的工程师:计划必须写清选了哪些文件、接口签名、规格里的确切值、每个任务由哪个测试证明。
任务切成带独立测试周期的 bite-sized 单元,每一步只做一个有可检查结果的动作(写失败测试 → 跑确认失败 → 最小实现 → 跑确认通过 → 提交)。计划文档存到 docs/superpowers/plans/。写完做自我审查:规格覆盖、步骤粒度、类型一致、Review Focus(规格没说但用户最可能踩到的五个输入/故障)、篇幅比例。
调用示例:在聊天框中说"给我写一个实现计划,写代码前先评审"。
产品详解
定位
writing-plans 是实现计划的作者:有规格、多步任务、还没碰代码。执行计划是 executing-plans / subagent-driven-development 的事。
核心能力
- 读者假设:为没见过代码库和规格的工程师写;他能写地道代码,但不知道你做了什么决定——文件、接口、确切值、测试必须写清。
- 先文件结构:定任务前先画文件地图(新建/修改哪些文件、各负责什么),这里锁定分解决策。
- 任务颗粒度:最小独立测试周期 + 值得独立评审;每个任务产出独立可测试交付物。
- 步骤粒度:每步只做一个动作(写失败测试 / 跑确认失败 / 最小实现 / 跑确认通过 / 提交),测试步骤含测试名与断言、确切值直接抄规格。
- 接口契约:每个任务声明 Consumes / Produces(确切函数名、参数与返回类型),邻任务靠它对接。
- 计划头:固定头(目标/架构/技术栈/规格路径、Global Constraints 全局约束逐行抄规格、Review Focus 五个最可能咬人的输入/故障模式)。
- 自我审查:规格覆盖 → 步骤扫描(不决定的行是 gap、签名和测试已确定的代码体是转录,两者都修)→ 类型一致 → Review Focus 每个有对应测试 → 篇幅比例(计划比规格长几倍就是错的)。
工作流程
- 范围检查(多子系统规格先拆成多个计划)
- 文件结构(定分解决策)
- 任务切分(bite-sized,各带接口契约)
- 写计划(固定头 + 任务 + 步骤)
- 自我审查(五项检查,发现问题直接修)
- 保存到
docs/superpowers/plans/YYYY-MM-DD-<feature>.md - 交给用户评审 + 选执行方式(子 agent 驱动 / 原生)
输入与输出
| 输入 | 说明 |
|---|---|
| 需求/规格文档 | 必填,多步任务的规格 |
| 计划存放偏好 | 选填,用户偏好覆盖默认路径 |
输出:实现计划文档(目标/架构/约束/Review Focus/任务与步骤)。
与相邻 skill 的区别
| skill | 分工 |
|---|---|
| writing-plans(本) | 写实现计划(动笔前) |
| subagent-driven-development | 子 agent 逐任务执行计划 |
| executing-plans | 原生执行计划 |
| brainstorming | 多步任务开始前的头脑风暴(在计划之前) |
适用场景
- 有需求文档,需要可执行的实施计划
- 跨 session/跨人协作前的设计交接
- 让执行者(人或 agent)无需猜测就能开工
使用前准备
- 准备好需求/规格文档。
- 计划只在写代码前写;执行方式选完再开工。
writing-plans 隶属于 Aiglade Skill 库。在 Aiglade 聊天框中用自然语言描述需求即可调用。