$npx -y skills add BlueprintOS/analysis-to-delivery --skill tdd测试驱动开发(红绿循环)— 来自 superpowers 体系。本 skill 是桥接层,先写失败测试再写实现,完整纪律见 <SUPERPOWERS_SKILL_ROOT>/tdd/。
| 1 | # TDD(桥接到 superpowers) |
| 2 | |
| 3 | ## Contract |
| 4 | |
| 5 | - Inputs: executable task from writing plan, test target, acceptance criteria |
| 6 | - Outputs: RED test, GREEN implementation, refactor notes |
| 7 | - Gates: RED observed before implementation; GREEN observed after implementation |
| 8 | - Required disciplines: `stage-gate` |
| 9 | - Next: `/executing-plans` |
| 10 | |
| 11 | > **本仓库不维护此 skill 的内容**。完整纪律请读: |
| 12 | > `<SUPERPOWERS_SKILL_ROOT>/tdd/SKILL.md` |
| 13 | |
| 14 | ## 何时调 |
| 15 | |
| 16 | - writing-plans 之后 |
| 17 | - 每个子任务开始时(红绿循环) |
| 18 | |
| 19 | ## 衔接点 |
| 20 | |
| 21 | - **产出**:RED 测试 + GREEN 实现 + REFACTOR |
| 22 | - **下一步**:`/executing-plans`(commit + 下一任务) |
| 23 | - **门控**:`disciplines/stage-gate` 第 3 层(RED 必须确认失败才能写实现) |
| 24 | |
| 25 | ## 降级方案(superpowers 未装时) |
| 26 | |
| 27 | 如果 `<SUPERPOWERS_SKILL_ROOT>/tdd/` 不存在,严格按以下 4 步红绿循环: |
| 28 | |
| 29 | ### 1. RED — 写失败测试 |
| 30 | |
| 31 | - 在 `src/test/` 写测试,**只测一个最小行为** |
| 32 | - 跑测试 → 必须**确认失败**(看到红色 / FAILURE,不是 BUILD SUCCESS) |
| 33 | - ❌ 跳过 RED = 你不知道测试到底在测什么 |
| 34 | |
| 35 | ### 2. 最小实现 |
| 36 | |
| 37 | - 写**最少量**代码让测试通过(可以丑 / 可以硬编码) |
| 38 | - 不优化、不重构、不扩展 |
| 39 | |
| 40 | ### 3. GREEN — 跑通 |
| 41 | |
| 42 | - 再跑测试 → 必须**确认通过**(看到 BUILD SUCCESS / PASSED) |
| 43 | - ❌ 测试莫名通过 = 测试没断言你想要的东西 |
| 44 | |
| 45 | ### 4. REFACTOR — 重构 |
| 46 | |
| 47 | - 改进实现 / 抽取方法 / 命名优化 |
| 48 | - **每次重构后必须重跑测试**确认仍 GREEN |
| 49 | - 改完再跑 = 唯一能防止重构破坏功能的方法 |
| 50 | |
| 51 | ### 最小纪律摘要 |
| 52 | |
| 53 | - **RED 必须亲眼看到失败**:写测试 → 跑 → 看 stack trace → 才写实现 |
| 54 | - **GREEN 后才能 REFACTOR**:实现未通过前重构 = 在错的地基上盖楼 |
| 55 | - **测试一次只测一个行为**:堆叠断言 = 失败时不知道哪个挂了 |
| 56 | - **不 mock 你要测的东西**:只 mock 边界 IO |
| 57 | |
| 58 | ### 安装提示 |
| 59 | |
| 60 | ```bash |
| 61 | npx skills@latest add obra/superpowers-tdd |
| 62 | ``` |