Claude-skill-registry lcov
LCOV tooling - finding gaps, parsing coverage files, marker syntax
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/lcov" ~/.claude/skills/majiayu000-claude-skill-registry-lcov && rm -rf "$T"
manifest:
skills/data/lcov/SKILL.mdsource content
LCOV Tooling
Finding Coverage Gaps
# Run coverage first make check-coverage # Uncovered lines grep "^DA:" reports/coverage/coverage.info | grep ",0$" # Uncovered branches grep "^BRDA:" reports/coverage/coverage.info | grep ",0$" # Uncovered functions grep "^FNDA:0," reports/coverage/coverage.info
coverage.info Format
SF:/path/to/file.c # Source file FN:42,function_name # Function at line 42 FNDA:5,function_name # Function called 5 times DA:45,3 # Line 45 executed 3 times DA:46,0 # Line 46 never executed (GAP!) BRDA:50,0,0,2 # Line 50, block 0, branch 0, taken 2 times BRDA:50,0,1,0 # Line 50, block 0, branch 1, never taken (GAP!) end_of_record
Key patterns:
= uncovered lineDA:line,0
= uncovered branchBRDA:line,block,branch,0
= uncovered functionFNDA:0,name
Coverage Files
| Command | Output |
|---|---|
| , |
| , |
Exclusion Markers
| Marker | Effect |
|---|---|
| Exclude entire line |
| Exclude branch only |
/ | Block exclusion (wrapper.c only) |
Usage:
assert(ptr != NULL); // LCOV_EXCL_BR_LINE if (!ptr) PANIC("Invariant violated"); // LCOV_EXCL_BR_LINE
Note: Markers are NOT reliably honored inside
static functions. Inline code instead.
See
coverage skill for exclusion policy (what's allowed vs forbidden).
Quick Workflow
# 1. Run coverage make check-coverage # 2. Check summary cat reports/coverage/summary.txt # 3. Find gaps in specific file grep -A 1000 "SF:.*myfile.c" reports/coverage/coverage.info | \ grep -m 1 -B 1000 "end_of_record" | grep ",0$"
Related Skills
- Policy (90% requirement, exclusion rules)coverage
- Refactoring patterns for gapstestability