tdd
测试驱动开发。当用户想要以测试先行的方式构建功能或修复 bug、提到"red-green-refactor",或想要集成测试时使用。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
测试驱动开发。当用户想要以测试先行的方式构建功能或修复 bug、提到"red-green-refactor",或想要集成测试时使用。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
使用并行子代理为一个模块生成多个截然不同的接口设计。当用户想设计 API、探索接口方案、对比模块形态,或提到 "design it twice" 时使用。
交互式 QA 会话,用户以对话方式报告 bug 或问题,代理负责提交 GitHub issue。会在后台探索代码库以获取上下文和领域语言。当用户想报告 bug、做 QA、以对话方式提交 issue,或提到 "QA session" 时使用。
通过用户访谈创建一份带有微小提交(tiny commits)的详细重构计划,然后将其作为 GitHub issue 提交。当用户想规划一次重构、创建重构 RFC,或将一次重构拆分为安全的增量步骤时使用。
从当前对话中提炼出一份 DDD 风格的通用语言(ubiquitous language)术语表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想定义领域术语、构建术语表、固化用词、创建通用语言,或提到 "domain model" 或 "DDD" 时使用。
询问哪个技能或流程适合你当前的处境。它是本仓库中各技能的路由器。
从两个轴向审查某个固定点(commit、branch、tag 或 merge-base)以来的变更——Standards(代码是否遵循本仓库记录的编码规范?)和 Spec(代码是否符合源起的 issue/PRD 的要求?)。在并行子智能体中运行两项审查,并把它们并排报告。当用户想审查一个分支、一个 PR、进行中的变更,或要求 "review since X" 时使用。
| name | tdd |
| description | 测试驱动开发。当用户想要以测试先行的方式构建功能或修复 bug、提到"red-green-refactor",或想要集成测试时使用。 |
TDD 就是红 → 绿的循环。这个技能是让那个循环产出值得保留的测试的参考:什么是好测试、测试放在哪里、反模式,以及循环的规则。每个小节在每个循环上都适用——在循环之前和之中参考它们,而不是之后。
探索代码库时,阅读 CONTEXT.md(如果存在),让测试名称和接口词汇与项目的领域语言相匹配,并尊重你所触及区域内的 ADR。
测试通过公共接口验证行为,而不是实现细节。代码可以彻底改变;测试不应改变。一个好测试读起来像一份规格说明——"用户可以用有效的购物车结账"精确地告诉你存在什么能力——并且能在重构中存活,因为它不在乎内部结构。
示例见 tests.md,mock 指南见 mocking.md。
**接缝(seam)**是你在其上测试的公共边界:你在其处观察行为而不伸手到内部的接口。测试位于接缝处,绝不针对内部实现。
只在事先约定的接缝处测试。 在写任何测试之前,写下被测的接缝并与用户确认。不在未确认的接缝处写任何测试。你无法测试一切——预先约定接缝,是让测试精力落在关键路径和复杂逻辑上、而不是每一个边界情况上的方式。
问:"公共接口是什么,我们应该在哪些接缝处测试?"
expect(add(a, b)).toBe(a + b),一份用手以同样方式导出的快照,一个断言等于自身的常量),所以它按构造就通过,永远不可能与代码发生分歧。期望值必须来自一个独立的真理来源——一个已知良好的字面量、一个演算过的例子、规格说明。code-review 技能),而不属于红 → 绿的实现循环。