← ClaudeAtlas

ide-coveragelisted

Test coverage heatmap from lcov or JSON coverage data. Finds coverage reports, parses line coverage per file, and renders a color-coded file-tree heatmap as HTML. Opens in the system browser.
Oolab-labs/patchwork-os · ★ 24 · AI & Automation · score 84
Install: claude install-skill Oolab-labs/patchwork-os
Generate a visual test coverage heatmap and open it in the browser. This skill uses only built-in tools (Glob, Read, Write, Bash) and works in both IDE-connected and remote sessions. ## Arguments `$ARGUMENTS` can be: - A path to a specific coverage file (`coverage/lcov.info`, `coverage/coverage-summary.json`) - A directory to search within (`coverage/`) - Empty — auto-discover coverage files in the workspace ## Steps ### Phase 1 — Locate coverage data 1. If `$ARGUMENTS` is a specific file path, use it directly. 2. Otherwise use the **Glob** tool with patterns: `**/lcov.info`, `**/coverage-summary.json`, `**/coverage-final.json` (exclude `node_modules`). 3. If multiple candidates found, prefer `lcov.info` > `coverage-summary.json` > `coverage-final.json`. If still ambiguous (multiple projects), list them and ask the user to specify. 4. If no coverage file found: report "No coverage data found. Run `npm test -- --coverage` (or equivalent) first." and stop. ### Phase 2 — Parse coverage 5. Use the **Read** tool to read the located coverage file. 6. Parse based on format: - **lcov.info**: iterate `SF:` (source file), `LF:` (lines found), `LH:` (lines hit) records → `{ file, totalLines, hitLines, pct }` - **coverage-summary.json** (Istanbul/NYC): each key is a file path with `{ lines: { pct, total, covered } }` - **coverage-final.json**: compute line pct from statement map `s` and statement map `statementMap` 7. Build a list: `{ file: string (relative), pct: number, h