红 → 绿循环纪律的口袋版:让循环产出值得留下的测试。完整教学见 Lesson 0012; 原文见 SKILL.md、 tests.md、 mocking.md (叙事版:aihero.dev/skills-tdd)。
先写一个失败的测试(red),再写刚好够让它通过的代码(green),一次一片,重复。 每一节在每个循环上都适用——循环之前和之中查阅,不是事后。
/tdd,或 AI 按 description 自动加载:test-first 做功能 / 修 bug、提到 "red-green-refactor"、想要集成测试to-spec;接口形状问题 → codebase-design;硬 bug 破案 → diagnosing-bugs;整张工单交付 → implement(它内部会驱动 tdd)code-review),不在循环内Test only at pre-agreed seams. 写任何测试之前,把要测的接缝写下来并和用户确认;未确认的接缝上一个测试也不写。 标准问句:「What's the public interface, and which seams should we test?」 找接缝用 0005 的深模块词汇;to-spec 上游已画过接缝草图,implement 正文也要求 at pre-agreed seams。
CONTEXT.md 的领域语言,尊重改动区域的 ADR(tdd 只读不写)| 模式 | tell(识别信号) | 解药 |
|---|---|---|
| Implementation-coupled | 行为没变的重构弄红了测试 | 只走公共接口验证行为 |
| Tautological | 断言恒真,不可能失败 | 期望值换独立真值来源(字面量 15,不是 reduce 现算) |
| Horizontal slicing | 一批测试接一批实现 | 垂直切片:一个测试 → 一份实现 → 重复 |
codebase-design ──词汇──► tdd ──写──► 测试文件 + 最小实现
CONTEXT.md/ADR ──只读──► tdd
implement(User)──内部驱动──► tdd ──收尾──► code-review ──► commit
diagnosing-bugs:平级表亲;硬 bug 走它,回归测试与红绿同源
/code-review(双轴:Standards + Spec)to-spec;形状别扭 → codebase-design;找不到锁得住的接缝 → improve-codebase-architectureSKILL.md frontmatter 的 description(不是 openai.yaml,那只管展示)mocking.md 清单 + tests.md 对照例implement/SKILL.md,不是 tdd