Universal skill for Codex and Claude Code to backfill Java test coverage using JaCoCo, focused on branch-quality improvement with guardrail metrics.
- Detects Maven/Gradle projects and report locations quickly.
- Standardizes coverage analysis around
CLASS,METHOD,LINE,BRANCH. - Prioritizes lowest
BRANCHclasses for targeted test design. - Supports iterative baseline/post snapshot comparison.
- Works for single-module and multi-module Java repositories.
java-jacoco-coverage-backfill/
├── install.sh
├── SKILL.md
├── scripts/
│ ├── detect_build_tool.sh
│ ├── generate_jacoco_report.sh
│ ├── find_jacoco_reports.sh
│ ├── analyze_jacoco_xml.py
│ └── compare_jacoco_snapshots.py
├── INSTALL.md
├── CONTRIBUTING.md
├── SECURITY.md
└── LICENSE
- Java project built by Maven or Gradle.
- JaCoCo XML report generation enabled (
jacoco.xmlorjacocoTestReport.xml). - Python 3.9+ for analysis scripts.
See INSTALL.md for complete steps.
Quick one-command install to both tools:
./install.sh bothInstall only for Claude Code:
./install.sh claudeRun from this skill directory (or call with absolute paths):
scripts/detect_build_tool.sh <repo_or_module_path>
scripts/generate_jacoco_report.sh <repo_or_module_path>
scripts/find_jacoco_reports.sh <repo_or_module_path>
python3 scripts/analyze_jacoco_xml.py --xml <jacoco.xml> --top 10 --out .coverage/baseline.json
python3 scripts/compare_jacoco_snapshots.py --before .coverage/baseline.json --after .coverage/post.json- Generate baseline report and snapshot.
- Use
jacoco_reporter_server+ snapshot to choose the lowestBRANCHclasses. - Add targeted tests for missing branch directions.
- Regenerate report and compare snapshots.
- Repeat until threshold is met or blockers are documented.
- License: MIT
- Security policy: SECURITY.md
- Contribution guide: CONTRIBUTING.md