writing-plans vs TDD:两种 AI 编程方法论的对比
2026-06-24 · writing-plans tdd comparison workflow claude code
writing-plans 重"规划",TDD 重"验证"。两者不冲突,可以配合使用。
这篇文章是什么
我们阅读了两个 Skill 的 SKILL.md 原始文件,对比了它们的工作流程和适用场景。
不是什么:这不是"我们用同一个需求分别跑了两个 Skill 然后对比输出"的实测报告。对比结论基于 SKILL.md 的描述分析,不是实际测试。
核心区别
| 维度 | writing-plans | TDD |
|---|---|---|
| 来源 | obra/superpowers (236K ★) | mattpocock/skills (143K ★) |
| 哲学 | 先想清楚再动手 | 先写测试再写代码 |
| 输出 | 详细的实施计划文档 | 通过的测试用例 |
| SKILL.md 描述 | "Write comprehensive implementation plans assuming the engineer has zero context" | "Write the test first. Watch it fail. Write minimal code to pass." |
writing-plans 的工作流
根据 SKILL.md 描述:
- AI 先问你几个问题(需求澄清)
- 输出一份详细的实施计划,包含:要改哪些文件、每个文件改什么、测试怎么写
- 计划里的每个 task 是一个 2-5 分钟的小步骤
- 你确认后,AI 按计划逐步执行
SKILL.md 原文:
"Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste."
翻译:假设工程师对代码库零了解、品味堪忧,写出详尽的实施计划。
TDD 的工作流
根据 SKILL.md 描述:
- 先写测试
- 跑测试,确认失败(Red)
- 写最少代码让测试通过(Green)
- 重构代码(Refactor)
- 提交
SKILL.md 原文:
"Write the test first. Watch it fail. Write minimal code to pass."
翻译:先写测试。看它失败。写最少代码让它通过。
什么时候用哪个?
适合 writing-plans 的场景
- ✅ 新功能开发(涉及多个文件)
- ✅ 需要先想清楚再动手的任务
- ✅ 团队协作(需要文档让别人理解)
- ✅ 不熟悉的领域(需要 AI 先调研)
适合 TDD 的场景
- ✅ Bug 修复(先写复现测试)
- ✅ 输入输出明确的函数
- ✅ API 开发(接口定义清晰)
- ✅ 重构(有测试保护更安全)
两者结合
SKILL.md 本身也提到了这种用法——writing-plans 的产出可以交给 executing-plans 去执行,而 executing-plans 的每个 task 可以用 TDD 的方式实施。
大功能:writing-plans 写计划 → 每个 task 用 TDD 执行
小功能:直接 TDD
我的判断(编辑观点,非实测)
如果只能选一个:选 writing-plans。
理由:多花 2 分钟规划,可能少花 20 分钟返工。但这只是我们的判断,不是经过对比测试的结论。
如果可以两个都装:都装。它们不冲突。
安装命令
# writing-plans
git clone --depth 1 https://github.com/obra/superpowers.git && cp superpowers/skills/writing-plans ~/.claude/skills/writing-plans
# TDD
git clone --depth 1 https://github.com/mattpocock/skills.git && cp skills/skills/tdd ~/.claude/skills/tdd
本文基于 SKILL.md 内容分析,不是实测对比。实际效果取决于你的项目和使用方式。