name: test-driven-development description: Test-first development practice where test specifications are written before production code, integrated into plan tasks as mandatory first sub-steps. allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Agent, AskUserQuestion
Test-Driven Development
Overview
Every code-changing task must enumerate tests before implementation. Test specification is always the first sub-step of each task in the plan.
When to Use
- During plan writing (test strategy per task)
- During implementation (write tests before code)
- When verifying step completion
Process
- Specify tests first - Define inputs, expected outputs, edge cases
- Write test code - Create automated tests matching specification
- Implement production code - Write code that passes the tests
- Verify - Run tests and confirm all pass
Test Categories
- Unit tests: Isolated function/method testing
- Integration tests: Cross-component interaction testing
- Manual verification: Human-performed checks when automation is impractical
Key Rules
- Never combine test writing and implementation into a single step
- Every task with code changes must have associated tests
- Tests must be runnable and produce clear pass/fail results
- Edge cases must be explicitly considered
Tool Use
Integrated into methodologies/rpikit/rpikit-plan and methodologies/rpikit/rpikit-implement