Claude-skill-registry coverage
Coverage policy - 90% requirement and exclusion rules
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/coverage" ~/.claude/skills/majiayu000-claude-skill-registry-coverage-414eda && rm -rf "$T"
manifest:
skills/data/coverage/SKILL.mdsource content
Coverage Policy
The Requirement
90% coverage of Lines, Functions, and Branches for the ENTIRE codebase.
- 90% of ALL code, not just new code
- A single uncovered line or branch in ANY file blocks ALL commits
- Fix ALL gaps before committing
Decision Framework
When you encounter uncovered code:
Can this code path execute in production? ├─ No → ACCEPT exclusion (assert/PANIC only) └─ Yes └─ What triggers it? ├─ User input / External data → MUST TEST ├─ Environment / IO failure → WRAP AND MOCK (see mocking skill) ├─ Vendor library error → WRAP AND MOCK ├─ OOM condition → REFACTOR to PANIC (see testability skill) ├─ Function can never fail → REFACTOR res_t to void └─ Broken invariant → REFACTOR to PANIC
Exclusion Policy
Allowed (LCOV_EXCL_BR_LINE only)
- Compiled out in release buildsassert()
- Invariant violations that terminatePANIC()
Must be single-line. Multi-line blocks require refactoring.
Never Exclude
- Defensive programming checks (test them)
- Library error returns (wrap and mock)
- System call failures (wrap and mock)
- "Should never happen" branches (PANIC if truly impossible)
- Any code reachable at runtime
If it can execute in production, it must be tested.
Critical Rules
- Never use exclusions without explicit user permission
- Never change LCOV_EXCL_COVERAGE in Makefile without permission
- Never generate HTML coverage reports (slow, unnecessary)
Incremental Progress
While 90% is the goal, progress toward 90% is valid work:
- Easy wins first
- Commit incrementally
- Respect context limits
Verification
make check-coverage
All three metrics must show 90%.
Related Skills
- Finding gaps, reading coverage files, marker syntaxlcov
- Refactoring patterns for hard-to-test codetestability
- Testing external dependenciesmocking