claude/plugins/codecov/skills/codecov/SKILL.md
This skill should be used when the user asks to "check test coverage", "find untested code", "show coverage gaps", "fetch codecov report", "check codecov", "analyze coverage", "what needs more tests", "coverage on this branch", or when planning coverage improvements. Fetches test coverage data from the Codecov API and identifies coverage gaps for the current repository.
npx skillsauth add raphi011/skills codecovInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Fetch and analyze test coverage data from Codecov for the current repository.
The optional argument is a directory path prefix to filter results (e.g., src/services/).
Derive owner/repo from git remote:
git remote get-url origin
Handle both URL formats:
https://github.com/{owner}/{repo}.git → extract {owner}/{repo}[email protected]:{owner}/{repo}.git → extract {owner}/{repo}Strip the .git suffix if present. Detect the provider from the hostname:
github.com → github, gitlab.com → gitlab, bitbucket.org → bitbucket.
Use the provider in the API path (Step 3).
Check authentication: The Codecov API requires a token for private repositories.
CODECOV_TOKEN environment variableAuthorization: Bearer $CODECOV_TOKENCODECOV_TOKEN to a Codecov API token to access coverage data."Fetch overall report from:
https://api.codecov.io/api/v2/{provider}/{owner}/repos/{repo}/report/?page_size=50
&branch={branch}git rev-parse --abbrev-ref HEAD if the user asks about "this branch" or "my branch"Apply path filter if $ARGUMENTS is provided:
&path={ARGUMENTS} to filter by directoryHandle pagination: Check the response for a next field.
next is present, fetch additional pages to get complete resultsExtract per-file coverage from the response:
response.totals (coverage, lines, hits, misses, partials)response.files[] with fields: name, totals.coverage, totals.lines, totals.hits, totals.missesSort files by missed lines descending and present:
| Response | Action |
|----------|--------|
| 401/403 | Token required — ask user to set CODECOV_TOKEN |
| 404 | Repo not found on Codecov — confirm owner/repo is correct and coverage is uploaded |
| Empty files[] | No coverage data — ask if coverage reports are being uploaded in CI |
| Non-GitHub remote | Adjust API path: replace github with gitlab or bitbucket as appropriate |
| Network error | Report the error, suggest retrying |
## Coverage Report: {owner}/{repo}
Overall: {coverage}% ({hits}/{lines} lines covered)
### Untested Files (0% coverage)
| File | Lines |
|------|-------|
| path/to/file.go | 42 |
### Top Coverage Gaps (by missed lines)
| File | Coverage | Missed | Total |
|------|----------|--------|-------|
| path/to/file.go | 45.2% | 74 | 135 |
### Recommendations
- Add unit tests for `{file}` — {N} lines completely untested
- Improve coverage in `{file}` — {N} lines partially covered
- Consider integration tests for `{package}` — multiple files below {X}% coverage
development
Create polished, professional reveal.js presentations. Use when the user asks to create slides, a presentation, a deck, or a slideshow. Supports themes, multi-column layouts, code highlighting, animations, speaker notes, and custom styling. Generates HTML + CSS with no build step required.
tools
Use when writing Tailwind CSS v4 code, configuring Tailwind v4 with @theme or @variant directives, migrating from Tailwind v3 to v4, setting up CSS-native config (no tailwind.config.js), defining semantic color tokens, implementing dark mode with class-based @variant, creating design system tokens, or styling components with utility classes. Covers @import "tailwindcss", @theme blocks, @variant, @layer, CSS custom properties for colors, and common layout/component patterns.
development
Use whenever working with SurrealDB — writing queries, defining schemas, configuring indexes, debugging errors, handling record IDs, using the Go SDK, or discussing SurrealDB architecture. Activate on any mention of SurrealDB, SurrealQL, HNSW indexes, or surreal-related Go SDK code.
development
Use when visually verifying terminal UI rendering, testing TUI interactions, debugging Bubbletea display issues, or when asked to "test the TUI", "screenshot the terminal", "check what the TUI looks like", or "visually verify". Requires Kitty terminal with allow_remote_control and macOS for screencapture.