tdd
测试驱动开发。适用于用户希望以测试优先方式构建功能或修复缺陷、提到“red-green-refactor”,或需要集成测试时。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
测试驱动开发。适用于用户希望以测试优先方式构建功能或修复缺陷、提到“red-green-refactor”,或需要集成测试时。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
使用并行 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;它不属于“红 → 绿”的实现循环。