writing-plans
设计获批后激活。将工作拆分为功能级 TDD 三元组任务 → 引用 roadmap §4 防重复 → 标注 L2/L3 复用。计划末尾引用 implementing 和 closing-the-loop。柔性技能。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
设计获批后激活。将工作拆分为功能级 TDD 三元组任务 → 引用 roadmap §4 防重复 → 标注 L2/L3 复用。计划末尾引用 implementing 和 closing-the-loop。柔性技能。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Activated before any coding begins. Socratic requirements clarification → project type detection → L4 exploration → outline-first design → save to 6-section roadmap. Flexible skill.
Activate after all tasks are complete. Confirm implementation integrity → roadmap recording → cross-project experience extraction → branch cleanup → local git commit. Rigid skill.
Activated when user explicitly invokes skill:hotfix. Emergency fix streamlined channel: mini brainstorming -> fix -> test -> closing-the-loop(mini). Flexible skill.
Activated after writing-plans completes. Execute TDD (RED→GREEN→REFACTOR) per sub-function → subagent 8-Dimension Review → Sub-function Full Testing → Full-Scenario Integration Testing after all pass. Bug fixes follow the same flow. Rigid skill.
Activate after design is approved. Break work into function-level TDD Triplet tasks → reference roadmap §4 Anti-Duplication → annotate L2/L3 reuse. Reference implementing and closing-the-loop at end of plan. Flexible skill.
任何编码开始前激活。苏格拉底式需求澄清 → 项目类型检测 → L4勘探 → 大纲先行 → 保存6节roadmap。柔性技能。
| name | writing-plans |
| description | 设计获批后激活。将工作拆分为功能级 TDD 三元组任务 → 引用 roadmap §4 防重复 → 标注 L2/L3 复用。计划末尾引用 implementing 和 closing-the-loop。柔性技能。 |
任务拆分的粒度和分组可适配上下文,但 TDD 三元组结构、防重复检查、执行链完整性是强制的。
brainstorming(设计大纲) → writing-plans(拆TDD三元组) → implementing(逐功能) → closing-the-loop
implementing 承载了实现、审查、测试三个阶段。 writing-plans 负责拆分任务 + 标注复用,不负责定义如何审查和测试——那是 implementing 的职责。
| 太粗 | 刚好 |
|---|---|
| "实现用户认证模块" | 拆为:登录、注册、token刷新,各走 TDD 三元组 |
| "重构数据库层" | 拆为:改连接配置、改查询方法、改事务边界,各走 TDD |
一个功能 = 一个可独立验证的用户可见行为。 拆分后每个功能走一轮完整的 implementing(TDD → 审查 → 测试)。
| 项目类型 | 功能拆分单元 | "测试通过"含义 |
|---|---|---|
| 后端 | API 端点 / Service 方法 | 接口返回正确 + 边界覆盖 |
| 前端 | 组件 / 页面 / 路由 | 渲染正确 + 交互行为正确 |
| 全栈 | 前端功能 + 后端接口(成对) | 前端→后端→返回全链路 |
| 插件 | 技能 / Hook / 配置 | 内容完整 + 格式正确 |
任务组 X:{功能描述}
X-R RED:先写测试
├─ 文件:测试文件路径
├─ 内容:基于 brainstorming 的 2 层 × 4 类场景写测试
├─ 验证:测试 → FAIL(红)
└─ 提交:git commit -m "RED: {场景描述}"
X-G GREEN:最小实现
├─ 文件:实现文件路径
├─ 内容:只写让 X-R 测试通过的代码,YAGNI
├─ L4 签名验证:Read 至少 3 个调用的关键方法签名
├─ 验证:测试 → PASS(绿)
├─ 依赖:X-R
└─ 提交:git commit -m "GREEN: {实现描述}"
X-F REFACTOR:清理
├─ 文件:同 X-G
├─ 内容:消除重复、改善命名、提取常量、保持测试绿
├─ 验证:测试 → PASS
├─ 依赖:X-G
└─ 提交:git commit -m "REFACTOR: {清理描述}"
❌ 错误:D3 (实现 Service) → T1 (测试 Service) ← Waterfall
✅ 正确:T1-R → T1-G → T1-F(GREEN 依赖 RED)
Entity/Enum/DTO 只含字段声明/getter/setter/注解,没有任何 if/for/throw/return → 可跳过 TDD,标注"无 TDD(纯数据结构)"。有任一分支或循环 → 必须三元组。
在规划每个新类/方法之前,逐项执行。
| # | 检查项 | 操作 |
|---|---|---|
| 1 | 先查 roadmap §4 | 读取 knowledge-base/{项目名}/{项目名}-roadmap.md §4(现有封装方法索引),确认无类似封装 |
| 2 | 新 Service 方法? | Grep 方法名 **/service/**/*.java |
| 3 | 新 DTO/VO? | Glob **/dto/**, **/vo/** |
| 4 | 新工具方法? | Grep 方法签名 **/utils/**, **/common/** |
| 5 | 新 Mapper 方法? | Grep 方法名 **/mapper/** |
| 6 | 新常量/枚举? | Grep 常量名 **/enums/** |
| 7 | 新依赖? | Grep artifactId pom.xml |
| 8 | 功能相似方法? | Grep 业务关键词 **/*.java(模糊搜索) |
判据:已有方法名差 ≤2 词且参数列表基本相同 → 复用。已有 DTO 覆盖 ≥80% 字段 → 扩展字段。
roadmap §4 优先于代码搜索。 roadmap 已索引了项目的封装方法,先查 roadmap 避免遗漏。
从 brainstorming 的 L4 勘探结果中,标注每个任务可复用的组件:
任务组 T1:CouponTemplateService
T1-R → 复用:已有 Service 测试模式(参考 XxxServiceTest)
T1-G → 复用:BaseEntity 的 createTime/updateTime
L2 搜索:在 knowledge-base/通用编码经验.md 中搜索当前问题域的最优解。推荐使用 subagent 搜索(L2 文件可能数万行,节省主上下文)。
## 实施计划:{功能名称}
> 关联设计大纲:{roadmap 阶段} | 项目类型:{后端/前端/全栈/插件}
### 复用组件汇总
| 已有组件 | 路径 | 来源 | 用于任务 |
|---------|------|------|---------|
| xxx | xxx.java | roadmap §4 | T1-G |
### 功能级任务组
#### 任务组 X:{功能描述}
| # | 子任务 | 文件 | 要点 | 验证 | 依赖 |
|---|--------|------|------|------|------|
| X-R | RED: {测试描述} | 测试文件 | 2层×4类场景 | 测试 → FAIL | — |
| X-G | GREEN: {实现描述} | 实现文件 | 最小实现+L4验≥3签名 | 测试 → PASS | X-R |
| X-F | REFACTOR: {清理描述} | 同 X-G | DRY+命名+常量 | 测试 → PASS | X-G |
#### 纯数据结构任务
| # | 任务 | 文件 | 验证 | 依赖 |
|---|------|------|------|------|
| B1 | 创建 XxxEnum | enums/XxxEnum.java | 编译通过 | — |
### 执行顺序
每个任务组独立走 implementing(TDD → 审查 → 子功能全量测试)。
全部任务组通过后,执行全场景集成测试。
最后执行 closing-the-loop。
| 你的想法 | 真相 |
|---|---|
| "先把所有实现列完,测试放最后一个阶段" | 这是 Waterfall。TDD 要求每个功能前面有 RED。 |
| "写一个新的更快,搜索已有的太慢" | 写新的 5 分钟 + 调试 20 分钟。先查 roadmap §4,再 Grep,总共 2 分钟。 |
| "测试依赖实现,所以实现必须先做完" | 依赖方向反了。RED 先写,GREEN 依赖 RED。 |
| "这个功能太特殊,肯定没有现成的" | 先查 roadmap §4——它就是为了回答"有没有现成的"而存在的。 |
| "计划就是任务列表,执行链是执行时的事" | 计划结构决定执行结构。测试放最后 → 执行时就是"写完再补测试"。 |
进入 implementing 前必须确认: