tdd
Test-Driven Development skill for the ikigai project
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Test-Driven Development
Description
TDD methodology for development phase. Focus on testing what you build.
Details
Core principle: Write tests for the code you write.
Follow Red/Green/Verify cycle:
1. Red: Write a failing test first
- Write the test code that calls the new function
- Add function declaration to header file
- Add stub implementation that compiles but does nothing (e.g.,
return OK(NULL);) - A compilation error is NOT a failing test - you need a stub that compiles and runs
- Verify the test actually fails with assertion failures
2. Green: Write minimal code to make the test pass
- Implement ONLY what the test requires
- STOP immediately when the test passes
- DO NOT write "helper functions" before they're called
- DO NOT write code "because you'll need it later"
3. Verify: Run quality checks
-
make check- All tests must pass -
make lint- Code complexity under threshold
Development Phase Focus
Test what you build. During development:
- Write tests for the happy path
- Write tests for obvious error cases
- Cover the main functionality thoroughly
- Keep momentum - don't get stuck on edge cases
Coverage gaps are OK during development. They will be closed in a dedicated coverage phase before release.
The test should come first - but don't let perfect coverage slow down feature development.
If writing a helper function, ask: "Does a passing test call this right now?" If no, DELETE IT.
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!