domains / general / coverage-analysis / coverage-analysis
The three skills share the name 'coverage-analysis' but address three distinct domains with no overlapping procedure. The dotnet/skills copy is a .NET-specific procedure for interpreting Cobertura reports and calculating CRAP scores. The trailofbits/skills copy is a security/fuzzing procedure for using llvm-cov and lcov to analyze fuzzer effectiveness. The GPTomics/bioSkills copy is a bioinformatics procedure for analyzing sequencing read depth using bedtools and mosdepth. Because they are mutually exclusive procedures for different tools and data types, crowning one would hide the other two valid interpretations of the skill name.
| Repository | Path |
|---|---|
| dotnet/skills | plugins/dotnet-test/skills/coverage-analysis/SKILL.md |
| trailofbits/skills | plugins/testing-handbook-skills/skills/coverage-analysis/SKILL.md |
| GPTomics/bioSkills | genome-intervals/coverage-analysis/SKILL.md |
| Role | Repository | Path |
|---|---|---|
| peer | dotnet/skills | plugins/dotnet-test/skills/coverage-analysis/SKILL.md |
| peer | trailofbits/skills | plugins/testing-handbook-skills/skills/coverage-analysis/SKILL.md |
| peer | GPTomics/bioSkills | genome-intervals/coverage-analysis/SKILL.md |
# Coverage Analysis This skill covers three distinct domains. Select the appropriate section based on the data type provided. ## 1. .NET Software Coverage **Use when:** Analyzing .NET test coverage (Cobertura) or refactoring safety. 1. **Interpret Evidence:** Analyze supplied line/branch/condition metrics. 2. **Reconcile Targets:** Check against thresholds (default 80% line, 70% branch). 3. **Risk Analysis (Optional):** If requested, calculate CRAP scores to identify refactoring hotspots. 4. **Collection:** If no report exists, invoke `run-tests` to collect coverage. ## 2. Fuzzing Coverage (Security) **Use when:** Analyzing fuzzer effectiveness or identifying fuzzing blockers. 1. **Instrument:** Build with coverage flags (e.g., `-fprofile-instr-generate` for LLVM). 2. **Execute:** Run the fuzzer to generate a corpus. 3. **Analyze:** Use `llvm-cov` or `lcov` to generate reports. 4. **Diagnose:** Identify uncovered regions, magic value checks, or plateaus to guide harness/dictionary improvements. ## 3. Genomic Sequencing Coverage (Bioinformatics) **Use when:** Assessing sequencing depth, breadth, or uniformity. 1. **Calculate Depth:** Use `mosdepth` or `bedtools genomecov` to compute depth distributions. 2. **Report Metrics:** Report median depth and breadth at specific thresholds (e.g., % of target >= 20x). 3. **Assess Evenness:** Calculate CV, Fano factor, or fold-80 to determine library quality. 4. **QC:** Check for duplicates, MAPQ filters, and mate-overlap corrections.