评分明细
适用场景
tdd-workflow 快速入门
来自 affaan-m/everything-claude-code 仓库的 TDD 工作流 Skill,强制 Red-Green-Refactor 循环,内置反合理化表防止跳过测试步骤。
这是什么?解决什么问题?
tdd-workflow 是一个规范 AI Agent 编码行为的 Skill,它的核心是强制执行 TDD(测试驱动开发)三大步骤:先写失败的测试(Red)、再写让测试通过的最少代码(Green)、最后重构(Refactor)。它解决的核心问题是:开发者(包括 AI)倾向于”先写代码再补测试”,结果测试覆盖不全、用例质量低、重构时不敢改代码。
该 Skill 最大的特色是内置了「反合理化表」(Anti-rationalization Table)——当 AI 试图合理化跳过测试步骤时(比如”这个功能太简单了不需要测试”、“先实现再补测试更快”),Skill 会识别这些模式并强制回到 TDD 流程。这来自真实生产项目的血泪教训:越急越不写测试,越不写测试越容易出 Bug,越出 Bug 越急。
准备工作
- 支持 Agent:Claude Code、Cursor、Codex、OpenCode、支持 Skills 协议的 Agent。
- 运行环境:项目需配置测试框架(Jest/Vitest for JS;pytest for Python;RSpec for Ruby 等)。
- 目标场景:新功能开发、Bug 修复、重构、代码审查。
- 前置要求:项目已有测试运行脚本(
npm test、pytest等)。
3 步快速上手
第 1 步:安装 ECC
git clone https://github.com/affaan-m/everything-claude-code.git ~/.ecc
将 TDD Skill 软链到 Skills 目录:
ln -s ~/.ecc/skills/tdd-workflow ~/.claude/skills/tdd-workflow
第 2 步:在 Claude Code 中启用
claude
在对话中声明使用 TDD 模式:
请用 TDD 工作流帮我实现用户注册功能(邮箱 + 密码)。测试框架是 Jest,遵循 Red-Green-Refactor。
第 3 步:观察 TDD 循环
Agent 会按以下顺序执行:
- Red:写失败的测试用例(如测试空邮箱被拒绝、弱密码被拦截)
- Green:写最少的代码让测试通过
- Refactor:重构代码提升可读性,确保测试仍然通过
如果 Agent 试图跳过某一步,Skill 会触发反合理化机制提醒。
常见踩坑
- 测试框架未配置:项目缺少
jest.config.js或pytest.ini,Agent 写的测试无法运行。先确认npm test或pytest能正常执行。 - 反合理化过度触发:某些场景确实不需要测试(如一次性脚本、临时调试代码),Skill 会反复提醒。可以在 prompt 中声明
--skip-tdd跳过。 - 测试与实现耦合过紧:Red 阶段写的测试如果包含过多实现细节(如 mock 具体函数名),Refactor 阶段会大面积失败。Skill 鼓励写行为级测试而非实现级测试。
- 异步测试陷阱:JavaScript 异步测试如果没有
await或done()回调,Jest 会误报通过。Skill 内置异步测试模板。 - 数据库测试隔离:测试涉及数据库时需要事务回滚或测试数据库,Skill 不会自动配置,需要手动设置。
- 快照测试的虚假安全感:Snapshot 测试容易在不理解变更的情况下盲目更新,Skill 会要求 Review 每个 Snapshot 差异。
初级用法
- 新功能开发:声明需求 → Agent 写 Red 测试 → Agent 写 Green 实现 → Agent 执行 Refactor → 提交代码。
- Bug 修复:先写复现 Bug 的测试(Red)→ 修 Bug(Green)→ 检查是否有重复代码需要抽象(Refactor)。
- 代码审查:让 Agent 审查 PR,检查是否有测试覆盖缺失、是否有跳过 Red-Green-Refactor 的迹象。
高级玩法
- 反合理化表定制:在 Skill 配置中添加你自己团队常见的”偷懒理由”,Skill 会学习并识别。
- Mutation Testing 集成:配合 Stryker 等工具,验证测试套件质量——改变一行代码后测试是否真的失败。
- CI 自动化:把 TDD Skill 作为 Git Hook,如果新代码没有对应测试就直接阻止 Push。
小技巧
- 在 prompt 中写”请用 TDD 方式实现”而不是”请实现 + 写测试”,后者往往导致先写代码再补测试。
- Red 阶段的测试用例数量控制在 3-5 个,太多会导致循环太长难以坚持。
- Refactor 阶段不要改行为——只改结构(重命名、提取方法、消除重复),测试就是你的安全网。
- 用
jest --watch或pytest-watch让测试自动运行,每个 Green 阶段立即看到结果。 - 团队新成员先观摩一次完整 TDD 循环再自己写,理解比记忆更重要。
常见问题 FAQ
Q1: 这个 Skill 跟 tdd-workflow 有什么关系?必须装吗?
A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。
Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?
A: tdd-workflow 来自社区,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。
Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?
A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。
Q4: 怎么验证 Skill 装对了?
A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。
Q5: 这个 Skill 有许可证吗?能商用吗?
A: 取决于 tdd-workflow 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。
参考链接
tdd-workflow Skill 多维度简评
类别:工程方法 来源:affaanm/everything-claude-code 定位:TDD 工作流强化:红→绿→重构循环,测试命名规范。
注意:本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。
一、核心定位与价值
TDD(测试驱动开发)是 Anthropic 官方推荐的 Claude Code 工作流之一。tdd-workflow Skill 将 Red-Green-Refactor 循环固化为 Agent 可执行的标准化流程,解决 AI Agent 在编码时”先写实现再补测试”的天然倾向。
核心价值:强制 Agent 遵循红→绿→重构的 TDD 循环,先写失败的测试,再写最小实现使其通过,最后重构优化。
二、核心能力清单
| 能力 | 说明 |
|---|---|
| Red 阶段 | 先编写测试,确认测试在无实现时失败 |
| Green 阶段 | 编写最小代码使测试通过,不引入未测试的功能 |
| Refactor 阶段 | 在全部测试通过后重构代码,消除重复,提升可读性 |
| 测试金字塔 | 引导按单元测试→集成测试→E2E 测试的比例分布 |
| AAA 模式 | Arrange(准备)→ Act(执行)→ Assert(断言)的测试结构 |
| Given-When-Then | BDD 风格的测试描述格式 |
三、为什么 AI Agent 需要 TDD Skill
AI Agent 在编码时有三个天然倾向,需要通过 Skill 纠正:
- 实现优先:Agent 倾向于先写完整实现,再补测试,这与 TDD 的”测试优先”相反
- Happy Path 偏向:Agent 默认只考虑正常流程,忽略边缘情况
- 上下文污染:在单一会话中同时写测试和实现时,实现逻辑会”泄露”到测试中
tdd-workflow Skill 通过以下方式解决这些问题:
- 强制测试先行(无测试 = 无实现)
- 明确要求包含边界测试(空值、极端值、异常输入)
- 使用子 Agent 隔离测试编写和实现编写阶段
四、TDD Red-Green-Refactor 循环
🔴 RED → 先写一个失败的测试
🟢 GREEN → 写最小代码让测试通过
🔵 REFACTOR → 在测试保护下重构代码
每个循环的核心原则:
- Red:测试必须在对应用功能不存在时失败(验证测试的有效性)
- Green:只写刚好通过测试的代码,不引入任何额外功能
- Refactor:保持测试全绿的前提下,改进代码结构和可读性
五、安装与配置
# npx 安装
npx skills add affaanm/everything-claude-code --skill tdd-workflow
也可以在 CLAUDE.md 中添加 TDD 相关规则:
# CLAUDE.md
skills:
- tdd-workflow
六、总结
tdd-workflow 将 TDD 从”开发者自律”变为”Agent 强制流程”。对于重视代码质量和测试覆盖率的项目,它是确保 AI 生成代码可靠性的关键工具。
适用人群:重视测试的工程师、需要 AI 辅助编写测试的团队、所有希望提升代码质量的开发者。
参考资料
📊 评分与标签
评分说明
总分 8.2/10 · P_优选
📊 可观测社区指标(数据核验日期:2026-07-07)
- GitHub: affaan-m/everything-claude-code ★212k, 🔱32.5k, 230+ contributors
- 页面访问核验:MIT 许可,Anthropic 黑客马拉松获奖项目
- 许可证: MIT
📦 可安装性 2.2/2.5
- Git clone 即用,纯 Markdown + 配置,无需编译或容器化
- ECC 支持 Claude Code Plugin 一键安装:
/plugin install ecc@ecc- 来源:ECC 安装文档
- 竞品对比 1:obra/superpowers 有
npx skills add一键安装,ECC 需要手动 git clone + 软链,多一步 - 竞品对比 2:Anthropic 官方技能安装复杂度相当
🎯 实用性 2.2/2.5
- 强制 Red-Green-Refactor 三阶段循环,内置反合理化表阻止跳过测试步骤
- 10 个月实战沉淀,来自真实生产项目的 TDD 工作流优化
- 来源:GitHub 仓库描述
- 竞品对比 1:obra/test-driven-development 同为 TDD Skill,专注测试框架适配,反合理化机制不如本 Skill
- 竞品对比 2:手动 TDD 无 AI 辅助,反合理化完全依赖开发者自律
📖 文档质量 1.6/2.0
- SKILL.md 含完整的 Red-Green-Refactor 循环说明和反合理化表
- ECC 仓库文档全面含 48 agents/183 skills 的索引,tdd-workflow 为其中之一
- 竞品对比 1:obra/test-driven-development 文档更聚焦单个 Skill 的使用说明
- 竞品对比 2:手动 TDD 依赖 Kent Beck 书籍,无 AI 适配的实操指南
👥 社区活跃 1.4/1.5
- GitHub ★212k,全平台最热门的 Agent 配置仓库之一
- 来源:GitHub 仓库首页(2026-07-07 页面访问核验)
- 230+ contributors, 12+ language ecosystems,跨 harness 支持
- 来源:GitHub 仓库
- 竞品对比 1:obra/superpowers ★248k 社区体量更大,但 ECC 的 contributors 多样性更高
- 竞品对比 2:Anthropic 官方技能 ★159k,ECC 社区规模约为其 1.3 倍
🔗 兼容性 0.8/1.5
- MIT 许可,开源友好
- 来源:LICENSE
- 跨 harness 支持(Claude Code/Codex/OpenCode/Cursor/Windsurf)
- 来源:ECC README
- 竞品对比 1:obra/superpowers 支持 12+ 平台,兼容面更广
- 竞品对比 2:Anthropic 官方技能仅支持 Claude Code + Cursor,兼容面较窄
评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。
🏷️ 标签说明
- 免费: 核心功能完全免费,MIT 开源许可。来源: LICENSE
- 测试: TDD 工作流 Skill,聚焦测试驱动开发。来源: 功能描述
- 自动化: 自动化 Red-Green-Refactor 循环和反合理化检查。来源: SKILL.md 内容
📋 来源与核验记录
- ✅ 已核验: affaan-m/everything-claude-code(★212k, 🔱32.5k, 活跃确认)
- ✅ 已核验: LICENSE(MIT 许可确认)
- ⚠️ 未验证(间接来源): tdd-workflow Skill 的实际触发效果——需在 Agent 中安装 ECC 后实测
- ❌ 已删除死链: 无