Agent Skills: TDD Skill

Use when writing production code that needs tests - new features, bug fixes, refactoring. Enforces RED-GREEN-REFACTOR cycle before any implementation.

UncategorizedID: fusengine/agents/tdd

Install this agent skill to your local

pnpm dlx add-skill https://github.com/fusengine/agents/tree/HEAD/plugins/ai-pilot/skills/tdd

Skill Files

Browse the full folder contents for tdd.

Download Skill

Loading file tree…

plugins/ai-pilot/skills/tdd/SKILL.md

Skill Metadata

Name
tdd
Description
Use when writing production code that needs tests - new features, bug fixes, refactoring. Enforces RED-GREEN-REFACTOR cycle before any implementation.

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
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

| Topic | Reference | |-------|-----------| | Full RED-GREEN-REFACTOR cycle | red-green-refactor.md | | Common mistakes and red flags | anti-patterns.md | | Per-stack test commands | stack-commands.md |


Quick Reference: Test Commands

| Stack | Run Tests | Watch Mode | |-------|-----------|------------| | React/Next.js | npx vitest run | npx vitest | | Laravel | php artisan test | php artisan test --watch | | Swift | swift test | - | | Generic TS | bunx vitest run | bunx vitest | | Go | go test ./... | - | | Rust | cargo test | cargo 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