coverage-analysis
Installation
SKILL.md
Discovery Questions
- What coverage tooling is configured? Check for
jest.config.*(coverageProvider),vitest.config.*(coverage),.nycrc,c8in scripts, or[tool.coverage]inpyproject.toml. - What is the current coverage level? Run the existing coverage command and note line, branch, and function percentages. This is the baseline for the ratchet.
- Is coverage gated in CI? Check GitHub Actions or GitLab CI for
--coverage,coverageThreshold,fail_under, or--cov-fail-underflags. - What is the target, and who set it? A target without rationale ("the VP said 80%") leads to gaming. Targets should reflect risk tolerance and codebase maturity.
- Check
.agents/qa-project-context.mdfirst. Respect existing coverage conventions and thresholds.
Core Principles
1. Coverage measures breadth, not depth. A line of code being executed does not mean it is tested correctly. expect(true).toBe(true) executes the function but asserts nothing meaningful. Coverage tells you what code ran, not whether the tests would catch a bug.
Related skills