简介
test-driven-development 技能是 TDD 方法论的坚定执行者。它直接解决了开发者或 AI 代理编写大段未经测试或测试不良代码的问题,确保代码的可靠性从第一行起就内置其中,而不是作为事后的补充。
核心理念
“没有失败的测试就不能写生产代码”。通过严格执行红-绿-重构(Red-Green-Refactor)循环,确保每一行代码都服务于经过验证和测试的目标。
安装与调用指南
https://github.com/obra/superpowers
工作流程解析 (SOP)
- 首先编写失败的测试 (RED):要求 AI 在触碰任何生产代码之前,编写一个显示预期行为的最简测试。
- 验证失败:强制 AI 实际运行该测试,并确认它因为正确的原因而失败。
- 编写最简代码 (GREEN):指示 AI 仅编写让测试通过所需的精准代码。
- 重构:只有在测试通过(变绿)之后,AI 才被允许清理代码。
- 删除违规代码:指示 AI 彻底删除在失败测试之前编写的任何生产代码,防止对预写逻辑进行任何形式的“适配”。
技能设计评价
- 人类经验 SOP 化的亮点:将红-绿-重构(Red-Green-Refactor)循环严格固化为不可打破的铁律(“没有失败的测试就不能写生产代码”)。提供了清晰的好坏代码示例,指导 AI 编写聚焦于实际行为的最简测试。
- 潜在的局限性:除废弃原型外毫无例外的 TDD 强制要求,对于高度探索性的工作或纯粹的 UI/CSS 样式调整来说,可能会适得其反。
- 优质技能的评判标准:通过指示 AI 删除任何在测试之前编写的生产代码,主动打击了“就这一次跳过 TDD”的侥幸心理,在提示词层面强制落实了工程纪律。