Skip to content
Testing
Skill

/coverage-drop-investigator

Use when test coverage has dropped and you need to find which changes caused it and what tests to add. Traces coverage regressions to specific commits and files.

From plugin
agentic-qe
436200 skills169 agents149 commands
Install
$ npx -y skills add proffesor-for-testing/agentic-qe --skill coverage-drop-investigator --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/coverage-drop-investigator

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when test coverage has dropped and you need to find which changes caused it and what tests to add. Traces coverage regressions to specific commits and files.

SKILL.md

coverage-drop-investigator.SKILL.md
name: coverage-drop-investigator
description: "Use when test coverage has dropped and you need to find which changes caused it and what tests to add. Traces coverage regressions to specific commits and files."
user-invocable: true

Coverage Drop Investigator

Runbook-style skill for investigating coverage regressions. Identifies which changes caused coverage to drop and recommends targeted tests.

Activation

/coverage-drop-investigator

Investigation Flow

Step 1: Measure Current Coverage

# Generate coverage report
npx jest --coverage --coverageReporters=json-summary

# View summary
cat coverage/coverage-summary.json | jq '.total'

Step 2: Find When Coverage Dropped

# Compare coverage with main branch
git stash && npx jest --coverage --coverageReporters=json-summary
mv coverage/coverage-summary.json coverage/baseline.json
git stash pop && npx jest --coverage --coverageReporters=json-summary

# Compare
jq -s '.[0].total.statements.pct as $baseline | .[1].total.statements.pct as $current | {baseline: $baseline, current: $current, delta: ($current - $baseline)}' coverage/baseline.json coverage/coverage-summary.json

Step 3: Identify Uncovered Files

# Find files with lowest coverage
cat coverage/coverage-summary.json | jq 'to_entries | map(select(.key != "total")) | sort_by(.value.statements.pct) | .[0:10] | .[] | {file: .key, statements: .value.statements.pct, branches: .value.branches.pct}'

Step 4: Map to Recent Changes

# Find recently changed files with low coverage
git diff --name-only main...HEAD | while read file; do
  jq --arg f "$file" '.[$f] // empty | {file: $f, statements: .statements.pct}' coverage/coverage-summary.json
done

Step 5: Recommend Tests

For each uncovered file, identify: 1. **Uncovered functions** — need new test cases 2. **Uncovered branches** — need conditional test cases (if/else paths) 3. **Uncovered lines** — may indicate dead code or missing edge cases

Step 6: Report

## Coverage Drop Report
- **Current**: {{current_pct}}%
- **Baseline (main)**: {{baseline_pct}}%
- **Delta**: {{delta}}%
- **Files causing drop**:
  | File | Coverage | Changed Lines | Tests Needed |
  |------|----------|--------------|-------------|
  | {{file}} | {{pct}}% | {{lines}} | {{count}} |
- **Recommended action**: {{write_tests / accept_drop / mark_as_excluded}}

Composition

After investigation:

  • **`/qe-test-generation`** — generate tests for uncovered files
  • **`/mutation-testing`** — verify existing tests actually catch bugs
  • **`/coverage-guard`** — prevent future drops

Gotchas

  • Coverage can drop because NEW code was added without tests, not because tests were removed
  • 100% coverage is not always the goal — focus on critical paths, not getters/setters
  • Branch coverage drops are more concerning than line coverage drops — branches indicate logic paths
  • Coverage tools may count generated code or type definitions — exclude with coveragePathIgnorePatterns
Read more
Ships withagentic-qe

AI-powered quality engineering agents that generate tests, find coverage gaps, detect flaky tests, and learn your codebase patterns — across 11 coding agent platforms.

Get the whole plugin

Other skills on agentic-qe.