Chalk Labs
Need help deploying test-driven-development?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/fishman-free-test-driven-development
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/test-driven-development
What's inside
- Skill name
test-driven-development- Description
- 在实现任何功能或修复 bug 时使用,在编写实现代码之前
- License
- MIT
- Instructions
- 368 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- testing-anti-patterns.md
SKILL.md (first lines)
# 测试驱动开发(TDD)
## 概述
先写测试。看它失败。写最少的代码让它通过。
**核心原则:** 如果你没有看到测试失败,你就不知道它是否测试了正确的东西。
**违反规则的字面意思就是违反规则的精神。**
## 何时使用
**始终使用:**
- 新功能
- Bug 修复
- 重构
- 行为变更
**例外(需询问你的人类伙伴):**
- 一次性原型
- 生成的代码
- 配置文件
想着"就这一次跳过 TDD"?停下来。那是在给自己找借口。
## 铁律
```
没有失败的测试,就不写生产代码
```
先写了代码再写测试?删掉它。从头来过。
**没有例外:**
- 不要保留作为"参考"
- 不要在写测试时"改编"它
- 不要看它
- 删除就是删除
从测试出发,重新实现。句号。
## 红-绿-重构
```dot
digraph tdd_cycle {
rankdir=LR;
red [label="红灯\n编写失败的测试", shape=box, style=filled, fillcolor="#ffcccc"];
verify_red [label="验证正确失败", shape=diamond];
green [label="绿灯\n最少代码", shape=box, style=filled, fillcolor="#ccffcc"];
verify_green [label="验证通过\n全部绿灯", shape=diamond];
refactor [label="重构\n清理代码", shape=box, style=filled, fillcolor="#ccccff"];
next [label="下一个", shape=ellipse];
red -> verify_red;
verify_red -> green [label="是"];
verify_red -> red [label="错误的\n失败"];
green -> verify_green;
verify_green -> refactor [label="是"];
verify_green -> green [label="否"];
refactor -> verify_green [label="保持\n绿灯"];
verify_green -> next;
next -> red;
}
```
### 红灯 - 编写失败的测试
写一个最小的测试来展示期望行为。
<Good>
```typescript
test('retries failed operations 3 times', async () => {
let attempts = 0;
const operation = () => {
attempts++;
if (attempts < 3) throw new Error('fail');
return 'success';
};
const result = await retryOperation(operation);
expect(result).toBe('success');
expect(attempts).toBe(3);
});
```
名称清晰,测试真实行为,只测一件事
</Good>
<Bad>
```typescript
test('retry works', async () => {
const mock = jest.fn()
.mockRejectedValueOnce(new Error())
.mockRejectedValueOnce(new Error())
.mockResolvedValueOnce('success');
await retryOperation(mock);
expect(mock).toHaveBeenCalledTimes(3);
});
```
名称模糊,测试的是 mock 而非代码
</Bad>
**要求:**
- 一个行为
- 清晰的名称
- 使用真实代码(除非不得已才用 mock)
### 验证红灯 - 看它失败
**必须执行。绝不跳过。**
```bash
npm test path/to/test.test.ts
```
确认:
- 测试失败(不是报错)
- 失败信息符合预期
- 失败原因是功能缺失(不是拼写错误)From Fishman-free/DataMind, MIT.
More from Fishman-free/DataMind
- 0.526score
chinese-commit-conventions
Fishman-free
中文 commit 与 changelog 配置参考——Conventional Commits 中文适配、commitlint/husky/commitizen 中文模板、conventional-changelog 中文配置。仅在用户显式 /chinese-commit-conventions…
SkillCFreshness: C★ 5Claude Code +9 - 0.526score
workflow-runner
Fishman-free
在 Claude Code / OpenClaw / Cursor 中直接运行 agency-orchestrator YAML 工作流——无需 API key,使用当前会话的 LLM 作为执行引擎。当用户提供 .yaml 工作流文件或要求多角色协作完成任务时触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.525score
brainstorming
Fishman-free
在任何创造性工作之前必须使用此技能——创建功能、构建组件、添加功能或修改行为。在实现之前先探索用户意图、需求和设计。
SkillCFreshness: C★ 5Claude Code +9 - 0.525score
using-superpowers
Fishman-free
在开始任何对话时使用——确立如何查找和使用技能,要求在任何响应(包括澄清性问题)之前调用 Skill 工具
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
gen-release-notes
Fishman-free
从 git log 自动提取 Conventional Commits,按 feat/fix/chore 分类生成中文 changelog
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
chinese-documentation
Fishman-free
中文文档排版参考——中英文空格、全半角标点、术语保留、链接格式、中文文案排版指北约定。仅在用户显式 /chinese-documentation 时调用,不要根据上下文自动触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
chinese-code-review
Fishman-free
中文 review 沟通参考——话术模板、分级标注(必须修复/建议修改/仅供参考)、国内团队常见反模式应对。仅在用户显式 /chinese-code-review 时调用,不要根据上下文自动触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
verification-before-completion
Fishman-free
在宣称工作完成、已修复或测试通过之前使用,在提交或创建 PR 之前——必须运行验证命令并确认输出后才能声称成功;始终用证据支撑断言
SkillCFreshness: C★ 5Claude Code +9 - 0.520score
mcp-builder
Fishman-free
MCP 服务器构建方法论 — 系统化构建生产级 MCP 工具,让 AI 助手连接外部能力
SkillCFreshness: C★ 5Claude Code +9 - 0.520score
finishing-a-development-branch
Fishman-free
当实现完成、所有测试通过、需要决定如何集成工作时使用——通过提供合并、PR 或清理等结构化选项来引导开发工作的收尾
SkillCFreshness: C★ 5Claude Code +9 - 0.520score
executing-plans
Fishman-free
当你有一份书面实现计划需要在单独的会话中执行,并设有审查检查点时使用
SkillCFreshness: C★ 5Claude Code +9 - 0.520score
dispatching-parallel-agents
Fishman-free
当面对 2 个以上可以独立进行、无共享状态或顺序依赖的任务时使用
SkillCFreshness: C★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 18, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Fishman-free/DataMind
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Fishman-free
- 0.526score
chinese-commit-conventions
Fishman-free
中文 commit 与 changelog 配置参考——Conventional Commits 中文适配、commitlint/husky/commitizen 中文模板、conventional-changelog 中文配置。仅在用户显式 /chinese-commit-conventions…
SkillCFreshness: C★ 5Claude Code +9 - 0.526score
workflow-runner
Fishman-free
在 Claude Code / OpenClaw / Cursor 中直接运行 agency-orchestrator YAML 工作流——无需 API key,使用当前会话的 LLM 作为执行引擎。当用户提供 .yaml 工作流文件或要求多角色协作完成任务时触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.525score
brainstorming
Fishman-free
在任何创造性工作之前必须使用此技能——创建功能、构建组件、添加功能或修改行为。在实现之前先探索用户意图、需求和设计。
SkillCFreshness: C★ 5Claude Code +9 - 0.525score
using-superpowers
Fishman-free
在开始任何对话时使用——确立如何查找和使用技能,要求在任何响应(包括澄清性问题)之前调用 Skill 工具
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
chinese-documentation
Fishman-free
中文文档排版参考——中英文空格、全半角标点、术语保留、链接格式、中文文案排版指北约定。仅在用户显式 /chinese-documentation 时调用,不要根据上下文自动触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
gen-release-notes
Fishman-free
从 git log 自动提取 Conventional Commits,按 feat/fix/chore 分类生成中文 changelog
SkillCFreshness: C★ 5Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get test-driven-development running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
test-driven-development skill. Agent Mart. https://agentmart.dev/skills/fishman-free-test-driven-development (last updated 2026-10-24)