/test-driven-development
Test-Driven Development (TDD)
No production code without a failing test first. Watch it fail. Minimal code to green. Refactor under green.
Used by 1 agent
What it does
The iron law applied end to end: red, verify red, green, verify green, refactor. Tests name one behavior. Real code over mocks. Failing test watched every time, because a test you didn't see fail hasn't proven it tests the right thing. Covers bug fixes and features alike.
Use it on every feature, every bug, every behavior change. Exceptions (throwaway prototype, generated code, config) require explicit human partner sign-off. "Skip TDD just this once" is the rationalization the skill exists to refuse.
Outputs commits where every production function has a test that failed first, a pristine test run (no warnings, no stray output), and a verification checklist signed at the end. Pairs with `subagent-driven-development` (the subagents follow TDD per task) and `systematic-debugging` (the bug-first discipline that hands off to TDD).
