# Tdd

> Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants test-first development, or requests TDD workflow.

- Skill: `majiayu000/tdd-15` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/tdd-15`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/tdd-15/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/tdd-15

---


# Test-Driven Development

## Philosophy

Tests verify behavior through public interfaces, not implementation. Good tests survive refactors.

See `principles.md` for testing philosophy and anti-patterns.

## Workflow

### 1. Planning
- Confirm interface design with user
- List behaviors to test (prioritize critical paths)
- Get approval before writing code

### 2. Tracer Bullet
```
RED:   Write first test → fails
GREEN: Minimal code to pass → passes
```

### 3. Incremental Loop
For each remaining behavior:
```
RED:   Write next test → fails
GREEN: Minimal code to pass → passes
```

Rules:
- One test at a time
- Minimal code to pass
- No refactoring while RED

### 4. Refactor
Once all tests GREEN:
- Remove duplication
- Improve structure
- Tests must stay GREEN

## Anti-Pattern: Horizontal Slices

**DO NOT** write all tests first, then all implementation.
**DO** use vertical slices: one test → one implementation → repeat.

See `examples.md` for workflow demonstrations.

