Use when implementing any feature, bugfix, behavior change, or refactor before writing production code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/development-discipline:test-driven-developmentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Write the test first. Watch it fail for the intended behavioral reason. Write
Write the test first. Watch it fail for the intended behavioral reason. Write the smallest implementation that makes it pass. Refactor only while green.
Gherkin or acceptance specs may define a coherent scenario set up front. Even then, implementation proceeds one step or scenario at a time.
| Signal | Action |
|---|---|
| Production code exists without a prior RED test | Revert or discard it, then restart from the test |
| Test passes immediately | Replace it with a test for missing behavior |
| Test checks internals or mocks instead of behavior | Rewrite against the public surface |
| Several cases are bundled into one test | Split them unless this is the acceptance scenario table |
| You want to "add tests after" | Stop; that is not TDD |
Before moving on, be able to point to the RED output, the GREEN output, and the small implementation step that connects them.
npx claudepluginhub jwilger/ai-plugins --plugin development-disciplineSets up isolated workspaces using native worktree tools or git worktree fallback. Use before starting feature work to protect the current branch.