| name | test-gap |
| description | Use after tests with coverage, during PR review, or when comparing changed git diff lines against coverage.xml, lcov.info, or coverage.json to find untested changed lines. |
Workflow
- Ensure the relevant test suite has already produced a coverage report.
- Run the gap check:
python3 /Users/akoken/Developer/repos/dotfiles/config/codex/skills/test-gap/scripts/gap.py --format md
- Use explicit base/report when needed:
python3 /Users/akoken/Developer/repos/dotfiles/config/codex/skills/test-gap/scripts/gap.py --base main --report coverage.xml --format md
python3 /Users/akoken/Developer/repos/dotfiles/config/codex/skills/test-gap/scripts/gap.py --base develop --report lcov.info --format md
- If no coverage report exists, tell the user which coverage formats are supported:
- Cobertura
coverage.xml
lcov.info
coverage.json
- Treat the report as a prioritization signal, not proof of test quality.
- Recommend tests for high-risk uncovered changed lines first:
- error handling
- authorization
- persistence
- concurrency
- parsing
- business logic
Output Shape
## Test Gap Result
- Base:
- Coverage report:
- Result:
| file | changed lines | uncovered | priority |
|---|---:|---:|---|
### Recommended Coverage
- ...
Boundaries
- Do not install coverage tools.
- Do not claim covered lines are semantically well-tested.
- Do not fail a docs-only or config-only change solely because no coverage report exists.