mcpField
T
tdd

tdd

github.com/fusengineTesting & quality3440 installsUpdated 2w ago
Repository

About tdd

tdd is a skill for test-driven development, suited to implementing and validating code one behavior at a time. It requires a failing test before production code, followed by minimal implementation, verification, and refactoring.

Key features

  1. 01Strict RED-GREEN-REFACTOR cycle
  2. 02Write one failing test first
  3. 03Verify the expected failure reason
  4. 04Run the full suite after implementation
  5. 05Test commands for multiple stacks

Use cases

  1. 01Drive feature implementation one behavior at a time
  2. 02Confirm tests cover the intended behavior
  3. 03Refactor while keeping tests passing

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/fusengine/agents --skill tdd

After installing, type/tddin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
anti-patterns.md
red-green-refactor.md
stack-commands.md

Details

From the project README
TDD enforces the Iron Law -- no production code without a failing test first -- through a strict RED-GREEN-REFACTOR loop: detect the stack and test framework, write one failing test for the next behavior, verify it fails for the *expected* reason (not a syntax error or missing fixture), write the simplest code that passes it, verify the full suite is green, refactor while staying green, then repeat for the next behavior.

It never skips a VERIFY step -- a test that passes on first run proves nothing and must be investigated, not accepted.

TDD Skill

Write the test first. Watch it fail. Write minimal code to pass.

The Iron Law

No production code without a failing test first.

Every line of production code must be justified by a test that failed without it. No exceptions. No shortcuts. No "I'll test after."


Agent Workflow

1. DETECT  -> Identify stack, test framework, existing test patterns
2. RED     -> Write ONE failing test for the next behavior
3. VERIFY  -> Run test, confirm it fails for the EXPECTED reason
   IF the test fails for a DIFFERENT reason (syntax error, wrong import, missing fixture) → fix the test itself and re-run. Do NOT proceed to GREEN until the failure matches the intended behavior.
4. GREEN   -> Write the SIMPLEST code that makes the test pass
5. VERIFY  -> Run tests, confirm ALL pass (new + existing)
6. REFACTOR -> Clean up while keeping all tests green
7. REPEAT  -> Next behavior = next failing test

CRITICAL: Never skip VERIFY steps. A test that passes on first run proves nothing.


RED-GREEN-REFACTOR Cycle

See references/red-green-refactor.md for the detailed cycle with rules and verification steps.


Reference Guide

TopicReference
Full RED-GREEN-REFACTOR cyclered-green-refactor.md
Common mistakes and red flagsanti-patterns.md
Per-stack test commandsstack-commands.md

Quick Reference: Test Commands

StackRun TestsWatch Mode
React/Next.jsnpx vitest runnpx vitest
Laravelphp artisan testphp artisan test --watch
Swiftswift test-
Generic TSbunx vitest runbunx vitest
Gogo test ./...-
Rustcargo testcargo watch -x test

Forbidden Behaviors

  • Never write production code before a failing test
  • Never skip the VERIFY RED step
  • Never accept a test that passes on first run without investigation
  • Never mock what you can test directly
  • Never write more than one test at a time in RED phase
  • Never add features beyond what the current test requires

Comments

Markdown supported