tdd
测试驱动开发。适用于用户希望以测试优先方式构建功能或修复缺陷、提到“red-green-refactor”,或需要集成测试时。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
测试驱动开发。适用于用户希望以测试优先方式构建功能或修复缺陷、提到“red-green-refactor”,或需要集成测试时。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
使用并行 sub-agents 为一个 module 生成多套差异显著的 interface 设计。适用于用户希望设计 API、探索 interface 选项、比较 module 形态,或提到“design it twice”的场景。
运行交互式 QA session:用户通过对话报告 bugs 或 issues,agent 随后创建 GitHub issues;同时在后台探索 codebase,获取上下文和 domain language。适用于用户希望报告 bugs、开展 QA、通过对话创建 issues,或提到“QA session”的场景。
通过用户访谈创建一份由微小 commits 组成的详细 refactor plan,并将其提交为 GitHub issue。适用于用户希望规划 refactor、创建 refactoring RFC,或将 refactor 拆分为安全的增量步骤。
从当前对话中提取一份 DDD 风格的 ubiquitous language glossary,标出歧义并提出规范术语,保存到 UBIQUITOUS_LANGUAGE.md。适用于用户希望定义 domain terms、建立 glossary、收紧术语、创建 ubiquitous language,或提到“domain model”或“DDD”的场景。
询问当前情境适合使用哪个 Skill 或工作流。本 Skill 是仓库内其他 Skills 的路由入口。
从用户指定的固定点(commit、branch、tag 或 merge-base)开始,从两个维度审查代码变更:Standards 检查代码是否遵守仓库记录的编码规范,Spec 检查实现是否符合原始 Issue、PRD 或规格。两个审查由并行子 Agent 分别完成,再并列汇报。适用于用户希望审查分支、PR、开发中的改动,或要求“审查自 X 以来的变更”时。
| name | tdd |
| description | 测试驱动开发。适用于用户希望以测试优先方式构建功能或修复缺陷、提到“red-green-refactor”,或需要集成测试时。 |
TDD 是“红 → 绿”闭环。本 Skill 提供一套参考原则,使闭环产出值得长期保留的测试:什么是好测试、测试应放在哪里、需要避免哪些反模式,以及闭环本身必须遵守什么规则。每一轮都适用全部章节;应在闭环开始前和进行中查阅,不能等结束后再补看。
探索代码库时,读取 CONTEXT.md(如果存在),使测试名称和接口词汇与项目领域语言保持一致,并遵守所涉及区域的 ADR。
测试应通过公共接口验证行为,不能验证实现细节。代码内部可以彻底改变,测试不应因此失效。好测试读起来像一条规格:“用户可以使用有效购物车完成结账”明确说明了系统具备什么能力。由于它不关心内部结构,重构后仍然成立。
示例参见 tests.md,Mock 指南参见 mocking.md。
Seam 是接受测试的公共边界:你可以在这个接口上观察行为,而无需伸入内部。测试只应位于 seams 上,绝不针对内部实现。
只在预先确认的 seams 上测试。 编写任何测试前,先列出准备测试的 seams,并与用户确认。未经确认的 seam 上不得编写测试。你不可能测试一切;提前商定 seams,才能把测试精力集中在关键路径和复杂逻辑上,避免把每个边缘情况都纳入测试。
询问:“公共接口是什么?我们应测试哪些 seams?”
expect(add(a, b)).toBe(a + b)、手工以相同算法生成快照,或断言一个常量等于自身。这类测试从构造上就必然通过,永远无法与代码产生分歧。期望值必须来自独立事实来源,例如已知正确的字面值、手工推导的示例或规格。code-review Skill;它不属于“红 → 绿”的实现循环。