| name | coverage-loop |
| description | Iteratively improve test coverage until target is reached. Use when: improve coverage, test coverage, coverage target, baldrick coverage. Triggers on: coverage, test coverage, coverage loop. |
Coverage Loop
Iteratively write tests until a target coverage percentage is reached.
Philosophy: Meaningful coverage over hitting numbers. Test business logic first.
The Job
- Receive target coverage percentage from user
- Run coverage command to check current state
- Identify most critical uncovered code paths
- Write tests for ONE uncovered area per iteration
- Verify coverage improved
- Repeat until target reached
Iteration Flow
┌─────────────────────────────────────────────────┐
│ 1. Run coverage command │
│ 2. Check current percentage vs target │
│ 3. If target reached → COMPLETE │
│ 4. Identify highest-value uncovered code │
│ 5. Write test for ONE uncovered area │
│ 6. Run coverage again to verify │
│ 7. Append progress to progress.txt │
│ 8. Loop back to step 1 │
└─────────────────────────────────────────────────┘
Priority Order for Coverage
Focus on coverage in this order:
- Business logic - Core application functionality
- Error handling - Catch blocks, validation
- Edge cases - Boundary conditions
- Utilities - Helper functions
- UI logic - Component behavior (not rendering)
Skip:
- Generated code
- Type definitions
- Configuration files
- Simple getters/setters
Progress Format
Append to progress.txt after each iteration:
## Coverage Loop - [Date/Time]
- Before: 65%
- After: 68%
- Added: Test for `validateEmail()` in `src/utils/validation.ts`
- Focus: Business logic validation
---
Stop Condition
When coverage reaches target percentage:
- Output:
<promise>COMPLETE</promise>
If stuck after multiple iterations:
- Note why in progress.txt
- Output:
<promise>BLOCKED</promise> with explanation
Example Usage
User: "Run coverage loop to 80%"
The skill will:
- Check current coverage (e.g., 65%)
- Write tests until 80% is reached
- Report progress after each iteration
Checklist Per Iteration