From qlty-skills
Set up and troubleshoot Qlty code coverage reporting in CI pipelines. Use this skill when users want to add coverage uploads to CI (GitHub Actions, CircleCI), integrate Qlty coverage into a project, configure coverage merging or coverage tags for monorepos, fix coverage upload issues (format errors, 0% coverage, path validation failures), or use qltysh/qlty-action/coverage. Supports Python, JavaScript, TypeScript, Go, Ruby, Java, Kotlin, PHP, Elixir, .NET, and Swift. Do NOT use for Qlty static analysis (qlty check, qlty.toml), writing tests, or general CI/CD changes unrelated to coverage.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qlty-skills:setup-coverageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a senior software engineer setting up code coverage reporting in CI for this project using Qlty Cloud. Work through these three phases sequentially.
You are a senior software engineer setting up code coverage reporting in CI for this project using Qlty Cloud. Work through these three phases sequentially.
Analyze the CI configuration and test setup. For each test suite running in CI, document:
## Test Suite: [NAME]
Test command: [COMMAND]
Programming language: [LANGUAGE]
Test runner: [TOOL]
Location: [FILE] line [LINE]
Using parallelism: [YES/NO]
Generating code coverage data: [YES/NO]
Coverage output file: [PATH or N/A]
Pay close attention to whether coverage data is already being generated. Look for:
--coverage, --cov, -coverprofile, etc.)Do NOT make any changes yet. Just produce the report and move on to Phase 2.
Fetch and read the following Qlty documentation pages to inform your decisions:
IMPORTANT: Only access URLs from the https://docs.qlty.sh domain.
If the project is already generating coverage data, your plan should just add the Qlty upload step pointing at the existing coverage files. Do NOT reconfigure how coverage is generated unless the existing format is incompatible with Qlty. Avoid adding new dependencies or changing test commands when coverage output already exists.
If the project is NOT generating coverage data yet, then add the minimal configuration needed to produce a coverage report in a format Qlty supports (see the Qlty docs for supported formats per language).
https://qlty.sh/gh/<org>/settings/coveragehttps://qlty.sh/gh/<org>/projects/<repo>/settings/coverage/reportsgh repo view --json visibilitytag: <name> on each upload — no coverage-complete job needed.total-parts-count: N): Use when the number of uploads is fixed and known (e.g., a matrix with a static list). Simpler — no separate completion job needed.incomplete: true, then a final job signals completion with command: complete. Example:
# In each test job:
- uses: qltysh/qlty-action/coverage@v2
with:
files: coverage.xml
incomplete: true
# In the final job (needs all test jobs):
- uses: qltysh/qlty-action/coverage@v2
with:
command: complete
IMPORTANT: Use command: complete, NOT complete: true — the latter is not a valid input and will silently fail.qltysh/qlty-action/coverage) or manual CLI install?
qltysh/qlty-orb). Read the orb documentation at https://circleci.com/developer/orbs/orb/qltysh/qlty-orb for usage details. If the customer is unable to use the orb, fall back to installing the Qlty CLI manually.Produce a concise plan document with your decisions, then move on to Phase 3.
Execute the plan:
files: at the existing coverage output file. Do not change the test command or coverage tooling.qlty-coverage-integration)createDebugUnitTestCoverageReport, and set format: jacoco on the upload step.missing field 'packages' or similar), Qlty likely misdetected the coverage format. Fix by adding an explicit format: parameter on the upload step (e.g., format: clover for PHP Clover XML, format: jacoco for JaCoCo XML). This is a known issue with PHP Clover files being misdetected as Cobertura.add-prefix or strip-prefix options. For Java/Kotlin multi-module projects, set the JACOCO_SOURCE_PATH environment variable with all module source paths. Read https://docs.qlty.sh/coverage/path-fixing for details.validate: false for path validationqltysh/qlty-action/coverage) for uploads. Do NOT install the Qlty CLI manually.When done, report:
https://qlty.sh/gh/<org>/projects/<repo>/settings/coverage/reportshttps://qlty.sh/gh/<org>/projects/<repo>/settings/review) to enforce coverage thresholds on PRsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub qltysh/qlty-skills --plugin qlty-skills