kover-gate-report

Runs KoverGate coverage gates and interprets JSON gap reports to close test coverage gaps.

1|Updated Jun 21, 2026
One-click install
npx skills add https://github.com/commonsguy/koverGate-mirror --skill kover-gate-report-commonsguy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kover-gate-report
Source: https://github.com/commonsguy/koverGate-mirror/tree/main/skills/kover-gate-report
Command: npx skills add https://github.com/commonsguy/koverGate-mirror --skill kover-gate-report-commonsguy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? After writing or modifying tests, developers need to know whether code coverage meets configured thresholds and exactly which lines and branches remain untested. This Skill runs the KoverGate Gradle tasks, parses the structured JSON gap reports, and guides targeted test writing until the coverage gate passes. ## Core Features & Use Cases - Gap Report Interpretation: Reads gap-report.json and explains uncoveredLines, partiallyCoveredLines, missedBranchLines, gapKind, and headroom so you write tests only where they matter. - Scoped and Delta Reports: Uses koverGateScopedReport to check only lines changed on your branch, and koverGateDelta to compare coverage movement between builds. - Multi-Module and Android Support: Handles aggregate root reports, merged unit plus instrumented coverage via JaCoCo, and staleness diagnosis with koverGateDoctor. - Use Case: You modified a Kotlin module and want to verify your new tests are enough. Run the gate, read the scoped report for your changed lines, write tests for the listed uncovered lines, and re-run until passed is true. ## Quick Start Run the koverGateReport Gradle task for the module I just changed, read the JSON gap report, and tell me which lines and branches still need tests.

Frequently Asked Questions about kover-gate-report

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check code coverage gaps after writing tests in Gradle?

Run ./gradlew :<module>:koverGateReport, then read build/reports/kover/gap-report.json. The files array lists uncoveredLines and missedBranchLines ordered by missed-instruction leverage, so you write tests top-down and re-run until passed is true.

How do I check coverage only for lines I changed on my branch?

Run ./gradlew :<module>:koverGateScopedReport, which diffs against main and writes scoped-gap-report.json containing only gaps on your changed lines. Override the base ref with --base=develop or -PkoverGateBase for multi-module runs.

Can KoverGate combine unit test and Android instrumented test coverage?

Yes. Set xmlReportFile in the koverGate block to a JacocoReport merge task that combines Kover or Gradle jacoco unit-test exec data with AGP instrumented-test exec data. The gap report then reflects the union of both suites.

Why does the coverage report show lines my tests clearly cover?

The Kover XML is likely stale. Check the source block in gap-report.json for stale: true, run ./gradlew :<module>:koverGateDoctor for a full snapshot, then regenerate with --rerun-tasks before writing new tests.

What does partiallyCoveredLines mean in a coverage gap report?

It lists lines with both covered and missed instructions, often caused by synthetic duplicate bytecode from inlined lambdas or coroutine state machines that no ordinary test can close. Verify against the source before writing tests for these lines.

How do I raise coverage thresholds after closing gaps?

Run ./gradlew :<module>:koverGateBump, which reads the current gap report and prints min<Metric>Coverage.set(N) suggestions to paste into your koverGate block. Use --margin to leave headroom and --allow-lower only when deliberately relaxing the gate.