Agent skill · Testing & QA

tdd

Write code through a disciplined, BDD-framed Test-Driven Development loop: build a behavior test list, then drive each behavior through red-green-refactor with an enforced observed-failure gate. Use when the user wants to implement, build, or write code test-first, "do TDD", follow "red-green-refactor", drive code from tests, choose the next test by the Transformation Priority Premise (TPP) or ZOMBIES ordering, or grow a feature behavior-by-behavior with tests leading. This skill writes and changes code; it does not produce a test plan document (use automated-test-planning, or manual-test-plan

testdoublegithub.com/testdoubleGitHub ↗
claude-codecan modify filesships scriptsMIT
Install
npx skills add testdouble/han --skill tdd --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 6
SKILL.md size: 17 KB
Bundled scripts: yes
Allowed tools: ReadWriteEditGlobGrepAgentBash(git*)Bash(find*)Bash(npm*)
Path: han-coding/skills/tdd/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 154
Language: Shell

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

## Project Context - git installed: !`which git 2>/dev/null || echo "not installed"` - current branch: !`git branch --show-current 2>/dev/null || echo unknown` - CLAUDE.md: !`find . -maxdepth 1 -name "CLAUDE.md" -type f` - project-discovery.md: !`find . -maxdepth 3 -name "project-discovery.md" -type f` - personal config directory: !`echo "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"` - project .han/config.md: !`cat .han/config.md 2>/dev/null || echo ""` As your first action, use the Read tool on `.han/config.md` inside the `personal config directory` path above. A read that returns no file is no personal configuration: continue silently. When that file or the `project .han/config.md` probe supplies content, apply it per [config-rule.md](../../references/config-rule.md), which governs precedence between the two files, relative-path resolution, and what to do with a file that reads but cannot be used. ## Constraints (read before anything else) This skill writes production and test code in your working tree. It is an execution skill, not a document generator. These constraints shape every step and override any instinct to move faster. - **The observed-failure gate is load-bearing.** No produc

What's inside
Steps it walks through
  1. Project Context
  2. Constraints (read before anything else)
  3. Step 1: Resolve Project Config and Confirm Scope
  4. Step 2: Build the BDD Test List
  5. Step 3: The Red-Green-Refactor Loop
  6. Red
  7. Green
  8. Refactor (non-skippable)
  9. Close the cycle
  10. Step 4: Close the Outer Loop
  11. Step 5: Final Verification and Summary
Ships with 5 files
  • references/bdd-framing.md
  • references/failure-modes.md
  • references/tdd-loop.md
  • references/test-selection.md
  • scripts/detect-tdd-context.sh
More from han
All skills →
About this skill
What does the tdd skill do?

Write code through a disciplined, BDD-framed Test-Driven Development loop: build a behavior test list, then drive each behavior through red-green-refactor with an enforced observed-failure gate. Use when the user wants to implement, build, or write code test-first, "do TDD", follow "red-green-refactor", drive code from tests, choose the next test by the Transformation Priority Premise (TPP) or ZOMBIES ordering, or grow a feature behavior-by-behavior with tests leading. This skill writes and changes code; it does not produce a test plan document (use automated-test-planning, or manual-test-plan

How do I install it?

Run `npx skills add testdouble/han --skill tdd --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From testdouble/han, a repository with 154 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going