tdd · git:20260223.9194af7 · 2026-02-23 · sha256 128501c1b501fcf7
tdd git:20260223.9194af7A
Immutable. This exact content never changes and is served at /api/v1/blob/128501c1b501fcf7.
--- name: tdd description: Test-Driven Development enforcement skill - write tests first, always --- # TDD Mode [TDD MODE ACTIVATED] ## The Iron Law **NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST** Write code before test? DELETE IT. Start over. No exceptions. ## Red-Green-Refactor Cycle ### 1. RED: Write Failing Test - Write test for the NEXT piece of functionality - Run test - MUST FAIL - If it passes, your test is wrong ### 2. GREEN: Minimal Implementation - Write ONLY enough code to pass the test - No extras. No "while I'm here." - Run test - MUST PASS ### 3. REFACTOR: Clean Up - Improve code quality - Run tests after EVERY change - Must stay green ### 4. REPEAT - Next failing test - Continue cycle ## Enforcement Rules | If You See | Action | |------------|--------| | Code written before test | STOP. Delete code. Write test first. | | Test passes on first run | Test is wrong. Fix it to fail first. | | Multiple features in one cycle | STOP. One test, one feature. | | Skipping refactor | Go back. Clean up before next feature. | ## Commands Before each implementation: ```bash # Run the project's test command - should have ONE new failure ``` After implementation: ```bash # Run the project's test command - new test should pass, all others still pass ``` ## Output Format When guiding TDD: ``` ## TDD Cycle: [Feature Name] ### RED Phase Test: [test code] Expected failure: [what error you expect] Actual: [run result showing failure] ### GREEN Phase Implementation: [minimal code] Result: [run result showing pass] ### REFACTOR Phase Changes: [what was cleaned up] Result: [tests still pass] ``` ## External Consultation (Optional) The test-engineer agent MAY consult a Claude Task agent for test strategy validation. ### Protocol 1. **Form your OWN test strategy FIRST** - Design tests independently 2. **Consult for validation** - Cross-check test coverage strategy via a Claude Task agent 3. **Critically evaluate** - Never blindly adopt external suggestions 4. **Graceful fallback** - Never block if delegation is unavailable ### When to Consult - Complex domain logic requiring comprehensive test coverage - Edge case identification for critical paths - Test architecture for large features - Unfamiliar testing patterns ### When to Skip - Simple unit tests - Well-understood testing patterns - Time-critical TDD cycles - Small, isolated functionality ### Tool Usage Use `Task(subagent_type="oh-my-claudecode:test-engineer", ...)` for test strategy cross-validation. **Remember:** The discipline IS the value. Shortcuts destroy the benefit.