Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/devcxl-tdd
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tdd
What's inside
- Skill name
tdd- Description
- 测试驱动开发。当用户想以测试先行构建功能或修复 bug、提到 "red-green-refactor",或想要集成测试时使用。
- License
- MIT
- Instructions
- 35 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- openai.yaml · agents/
- mocking.md
- tests.md
SKILL.md (first lines)
# 测试驱动开发(Test-Driven Development) TDD 是红 → 绿的循环。本技能是让这个循环产出值得保留的测试的参考:好测试是什么、测试放在哪里、反模式有哪些、循环的规则是什么。每一节在每一个循环中都适用——在循环之前和之中查阅它们,而不是之后。 探索代码库时,读 `GLOSSARY.md`(如果存在),让测试名称和接口词汇与项目的领域语言一致,并尊重你正在触碰的区域的 ADR。 ## 好测试是什么 测试通过公共接口验证行为,而不是实现细节。代码可以彻底改变;测试不应该。好测试读起来像一份规格——"用户可以用有效购物车结账"精确地告诉你存在什么能力——而且因为它不关心内部结构,能在重构中存活。 示例见 [tests.md](tests.md),mocking 指南见 [mocking.md](mocking.md)。 ## 接缝——测试放在哪里 **接缝(seam)**是你测试所在的公共边界:在不伸手进内部的情况下观察行为的接口。测试住在接缝处,绝不对着内部。 **只在预先约定的接缝处测试。** 写任何测试之前,写下要测试的接缝并与用户确认。没有测试写在未经确认的接缝上。你不可能测试所有东西——提前约定接缝,正是让测试精力落在关键路径和复杂逻辑上、而不是每个边界情况上的方法。 问:"公共接口是什么,我们应该测试哪些接缝?" 为每个建议的 seam 附上一行说明,指出它能捕获什么、会漏掉什么。 当接口的形态本身存疑时——模块该有多深、接缝该在哪里、接口应该暴露什么——调用 Skill 工具并传入 "codebase-design" 来获得词汇。它是 module、interface、depth、seam、adapter、leverage、locality 这些词的共享来源,是一份供查阅的参考,而不是要跑的一场会话。 ## 反模式 - **与实现耦合(Implementation-coupled)** — mock 内部协作者、测试私有方法、或通过旁路渠道验证(查数据库而不是用接口)。识别信号:重构时行为没变,测试却挂了。 - **同义反复(Tautological)** — 断言用与代码相同的方式重新计算期望值(`expect(add(a, b)).toBe(a + b)`、以同样方式手工推导出的快照、断言常量等于自身),所以它构造性地通过,永远不可能与代码相左。期望值必须来自独立的真实来源——已知正确的字面量、手算的示例、规格。 - **水平切片(Horizontal slicing)** — 先写完所有测试,再写所有实现。成批的测试验证的是*想象出来的*行为:你测试的是事物的*形状*而不是面向用户的行为,测试对真实变化变得不敏感,而且你在理解实现之前就锁定了测试结构。改用**垂直切片**——一个测试 → 一个实现 → 重复,每个测试都是一颗**示踪子弹**,对上一循环教会你的东西作出回应。 ## 循环的规则 - **先红后绿。** 先写会失败的测试,然后只写恰好能通过它的代码。不要预想未来的测试,也不要加投机性的功能。 - **一次一个切片。** 每个循环一个接缝、一个测试、一个最小实现。 - **重构不是循环的一部分。** 它属于审查阶段(见 `code-review` 技能),不属于红 → 绿实现循环。
From devcxl/mattpocock-skills-zh, MIT.
More from devcxl/mattpocock-skills-zh
- 0.810score
git-guardrails-claude-code
devcxl
设置 Claude Code 钩子,在危险 Git 命令(push、reset --hard、clean、branch -D 等)执行前将其拦截。当用户想要防止破坏性 Git 操作、添加 Git 安全钩子或在 Claude Code 中阻止 git push/reset 时使用。
SkillAFreshness: A★ 507Claude Code +9 - 0.804score
setup-pre-commit
devcxl
在当前仓库中设置 Husky pre-commit 钩子,集成 lint-staged(Prettier)、类型检查和测试。当用户想要添加 pre-commit 钩子、设置 Husky、配置 lint-staged、或添加提交时的格式化/类型检查/测试时使用。
SkillAFreshness: A★ 507Claude Code +9 - 0.804score
to-tickets
devcxl
将计划、规范或当前对话拆分为一组 tracer-bullet ticket,每个 ticket 声明其阻塞边(blocking edges),发布到已配置的跟踪器——本地文件中每个 ticket 一个文件以文本表示边,真实跟踪器上以原生阻塞链接表示。
SkillAFreshness: A★ 507Claude Code +9 - 0.804score
code-review
devcxl
从固定点(commit、branch、tag 或 merge-base)开始,沿两条轴线审查变更——规范(代码是否遵循仓库文档化的编码规范?)和规格(代码是否与原始 issue/PRD 的要求一致?)。两条审查线在并行子 agent 中运行,并以并排方式报告结果。当用户想审查一个分支、PR、进行中的变更,或要求"从…
SkillAFreshness: A★ 507Claude Code +9 - 0.803score
diagnosing-bugs
devcxl
针对棘手 bug 和性能回归的诊断循环。当用户说"诊断"/"调试这个",或报告某处崩溃/报错/不正常/缓慢时使用。
SkillAFreshness: A★ 507Claude Code +9 - 0.801score
setup-matt-pocock-skills
devcxl
为本仓库配置工程技能——设置其 issue tracker、分诊标签词汇表和领域文档布局。首次使用其他工程技能前运行一次。
SkillAFreshness: A★ 507Claude Code +9 - 0.801score
codebase-design
devcxl
设计深度模块的共享词汇。当用户想要设计或改进模块的接口、寻找深化机会、决定 seam 的位置、让代码更可测试或更易被 AI 导航,或者其他 skill 需要深度模块词汇时使用。
SkillAFreshness: A★ 507Claude Code +9 - 0.801score
migrate-to-shoehorn
devcxl
将测试文件从 `as` 类型断言迁移到 @total-typescript/shoehorn。当用户提到 shoehorn、想要在测试中替换 `as`、或需要部分测试数据时使用。
SkillAFreshness: A★ 507Claude Code +9 - 0.801score
wayfinder
devcxl
规划一大块工作——超过一次 agent 会话能容纳的体量——在你的 Issue 跟踪器上以共享的决策 ticket 地图形式呈现,逐个解决,直到通往目的地的道路变得清晰。
SkillAFreshness: A★ 507Claude Code +9 - 0.801score
setup-ts-deep-modules
devcxl
将 dependency-cruiser 接入 TypeScript 仓库,使每个 package 都是一个深度模块:实现隐藏在子文件夹中,只能通过入口点文件访问。由用户调用。
SkillAFreshness: A★ 507Claude Code +9 - 0.801score
wizard
devcxl
生成一个交互式 bash 向导,引导人类完成只有他们能执行的步骤。适用于配置基础设施、设置凭证或 CI 密钥、操作不熟悉的第三方面板、或执行一次性迁移或切换。不要让代理替自己执行本应由人类完成的步骤。
SkillAFreshness: A★ 507Claude Code +9 - 0.801score
scaffold-exercises
devcxl
创建包含 section、problem、solution 和 explainer 的练习目录结构,且能通过 lint 检查。当用户想要搭建练习框架、创建练习模板或设置新的课程章节时使用。
SkillAFreshness: A★ 507Claude Code +9
Signals
- Stars
- 507
- Forks
- 44
- Open issues
- 1
- Last commit (this folder)
- Oct 8, 2026 (18 days ago)
- Last release
- Oct 20, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/devcxl/mattpocock-skills-zh
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from devcxl
- 0.810score
git-guardrails-claude-code
devcxl
设置 Claude Code 钩子,在危险 Git 命令(push、reset --hard、clean、branch -D 等)执行前将其拦截。当用户想要防止破坏性 Git 操作、添加 Git 安全钩子或在 Claude Code 中阻止 git push/reset 时使用。
SkillAFreshness: A★ 507Claude Code +9 - 0.804score
to-tickets
devcxl
将计划、规范或当前对话拆分为一组 tracer-bullet ticket,每个 ticket 声明其阻塞边(blocking edges),发布到已配置的跟踪器——本地文件中每个 ticket 一个文件以文本表示边,真实跟踪器上以原生阻塞链接表示。
SkillAFreshness: A★ 507Claude Code +9 - 0.804score
setup-pre-commit
devcxl
在当前仓库中设置 Husky pre-commit 钩子,集成 lint-staged(Prettier)、类型检查和测试。当用户想要添加 pre-commit 钩子、设置 Husky、配置 lint-staged、或添加提交时的格式化/类型检查/测试时使用。
SkillAFreshness: A★ 507Claude Code +9 - 0.804score
code-review
devcxl
从固定点(commit、branch、tag 或 merge-base)开始,沿两条轴线审查变更——规范(代码是否遵循仓库文档化的编码规范?)和规格(代码是否与原始 issue/PRD 的要求一致?)。两条审查线在并行子 agent 中运行,并以并排方式报告结果。当用户想审查一个分支、PR、进行中的变更,或要求"从…
SkillAFreshness: A★ 507Claude Code +9 - 0.803score
diagnosing-bugs
devcxl
针对棘手 bug 和性能回归的诊断循环。当用户说"诊断"/"调试这个",或报告某处崩溃/报错/不正常/缓慢时使用。
SkillAFreshness: A★ 507Claude Code +9 - 0.801score
codebase-design
devcxl
设计深度模块的共享词汇。当用户想要设计或改进模块的接口、寻找深化机会、决定 seam 的位置、让代码更可测试或更易被 AI 导航,或者其他 skill 需要深度模块词汇时使用。
SkillAFreshness: A★ 507Claude Code +9
Cite this page
tdd skill. Agent Mart. https://agentmart.dev/skills/devcxl-tdd (last updated 2026-10-24)