Run and read unit-test coverage for this repo and satisfy the codecov/patch and codecov/changes gates.

GPL-3.0Auto-check passedTesting & QA

Install Coverage

skills CLI
$ npx skills add LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator --skill coverage -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator coverage --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/coverage .claude/skills/coverage && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
coverage
GitHub stars
1.8k
Token cost
~1.8k tokens
SKILL.md length
885 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
GPL-3.0

At a glance

Run and read unit-test coverage for this repo and satisfy the codecov/patch and codecov/changes gates.

  • Works in 2 steps: codecov-action@v5 searches the tree… → Istanbul BRDA / FN rows use a worse…
  • A PR check fails on coverage
  • SKILL.md covers Before you conclude anything, Reading the report, Hole vs miss and Patch miss table, plus 3 more sections
  • Calls npm and node

What it does

Coverage is an agent skill from LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator. Run and read unit-test coverage for this repo and satisfy the codecov/patch and codecov/changes gates. Use when a PR check fails on coverage, after editing gated production code under sources/ or scripts/, or when the user mentions coverage, Codecov, patch, or uncovered lines.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Unit testing. It works with npm. The repository describes itself as: Character Generator based on Universal-LPC-Spritesheet. The licence is GPL-3.0.

When your agent uses it

  • A PR check fails on coverage
  • After editing gated production code under sources/
  • The user mentions coverage
  • Uncovered lines

Example prompts

  • “/coverage”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. codecov-action@v5 searches the tree unless disable_search: true.
  2. Istanbul BRDA / FN rows use a worse source map than DA. They land

What it can do on your machine

Read from SKILL.md and the folder at commit 58ce1aa. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Coverage loads about 1.8k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 885 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator at commit 58ce1aa, republished under its GPL-3.0 licence (© LiberatedPixelCup). 885 words, ~1,778 tokens.

Download SKILL.mdSave it as .claude/skills/coverage/SKILL.md (or your agent's skills folder).
name
coverage
description
Run and read unit-test coverage for this repo and satisfy the codecov/patch and codecov/changes gates. Use when a PR check fails on coverage, after editing gated production code under sources/ or scripts/, or when the user mentions coverage, Codecov, patch, or uncovered lines.

Coverage

Two separate, non-overlapping reports. Pick by the path you edited.

EditedCommandReport
sources/npm run test:browser:coveragecoverage/browser/index.html
scripts/npm run test:node:coveragecoverage/node/index.html

The flags in codecov.yml scope browser to sources/ and node to scripts/. The wrong command reports nothing for your file — it does not fail, it just shows no data. Run both only if you edited both trees.

Both are full-suite runs. There is no per-file coverage run; see run-one-spec for isolation while iterating, then one coverage run at the end.

npm run test:browser:coverage launches Chrome and Firefox (testem.cjs launch_in_ci). If Firefox is not installed locally, confirm with Chrome only:

bash
VITE_COVERAGE=true node ./node_modules/testem/testem.js ci --launch Chrome

merge-browser-coverage.ts merges whatever JSON is already in coverage/browser/. Firefox-only lines will read as uncovered.

Before you conclude anything

Check whether the path is in the ignore: block of codecov.yml first. Ignored paths owe no test, and a coverage run tells you nothing about them. Currently ignored: tests/**, dist/**, spritesheets/**, sheet_definitions/**, scripts/coverage/**, scripts/computed-style/**, scripts/imageProcessing/**, scripts/zip/**, scripts/profile/**, several individual scripts/*.ts files, vite/**, vite.config.ts, testem.cjs, sources/performance-profiler.ts, sources/utils/debug.ts, and all CSS/SCSS. Read the file rather than trusting this list.

Reading the report

Open the HTML and confirm every new or edited production line is marked hit. Do not wait for Codecov to tell you. The terminal summary is enough for a quick check, but it reports per-file percentages, not which line was missed.

Browser collection is off unless VITE_COVERAGE=true; the test:browser:coverage script sets it. Plain npm test and npm run test:server are uninstrumented, so they will never show coverage.

A spec that is not imported from tests/tests.js never runs. That produces uncovered lines with no test failure — the most common cause of a surprising patch failure on a browser change.

Hole vs miss

A DA:0 is a hole when a neighbor or the block body already has a hit and an existing spec already asserts the behavior. Do not add another spec for that line. Concise wrappers such as span.async("name", () => fn()) and span.sync(...) in a finally are the usual cases that look uncovered.

mark-non-executable-lines.js promotes those holes when they are a straight-line statement in an entered function or try / finally / catch, or a control-flow header (if ( / while ( / for ( / do) whose body already has a recorded hit. It does not promote a then-body just because if ( ran, or a catch-only return just because the function or try was entered.

If the marker still leaves DA:0 on a wrapper, extract a named helper so those lines become a function body. fillStraightLineSourceMapHoles already covers that.

A DA:0 is a real miss when no neighbor or body hit exists, or no spec asserts the behavior. Add a spec.

Patch miss table

Do not wait for the Codecov PR comment. It still will not list line numbers.

After test:browser:coverage / test:node:coverage, the same scripts print file:line plus the trimmed source for every remaining patch DA:0. Those commands stay green so CI can upload lcov to Codecov. The codecov/patch check is what fails on a miss. Read that table (or the Test browsers job log when the local HTML is stale).

Standalone, against reports that already exist (exit 1 if any miss):

bash
npm run coverage:patch

--base overrides the merge-base ref. Precedence is --base, then GITHUB_BASE_REF (as origin/<name>), then origin/master.

Show full SKILL.md (357 more words)Show less

The gates

  • codecov/patch — 100% of new or edited production lines under sources/ (browser flag) or scripts/ (node flag) must be executed, except ignored paths. Threshold is 0%, so one missed line fails it.
  • codecov/changes — previously covered lines must not lose hits. Deleting or weakening a test trips this even when your new code is fully covered.
  • There is no project-percentage gate, so adding a large file does not fail a PR on the average.

Both use if_not_found: success, so they pass silently when there is no base report to compare against.

Why comment-only diffs still pass

mark-non-executable-lines.js rewrites the uploaded lcov.info to mark blank lines and comment-only lines as hit. It uses the TypeScript scanner, so a trailing comment on a code line does not count as non-executable. Both pipelines apply it: test:node:coverage runs it directly, and the browser suite calls markNonExecutableLinesInLcov from merge-browser-coverage.ts in the Testem on_exit hook.

So a documentation-only or comment-only diff is expected to pass the 100% patch gate. If you see comments counted as missed lines, the post-processing step did not run — check that the coverage script finished rather than adding a test.

Patch failed on a line local DA already marks hit

Two upload problems have caused this. Check both before adding a test or editing the marker's line classifier.

  1. codecov-action@v5 searches the tree unless disable_search: true. files: is additive. Without that flag the browser step also uploaded coverage/browser/coverage-final.json and coverage/node/tmp/*.json.
  2. Istanbul BRDA / FN rows use a worse source map than DA. They land on type aliases and function foo( / name: Type, lines with zeros. Codecov then reports a miss or partial even when DA is hit. The marker drops those records so the uploaded lcov is line coverage only.

Do not widen mark-non-executable-lines.js for a signature line already in nonExecutableLineNumbers. Do not add a test for the parameter list. Extracting a named type (RootViewRef) is fine for readability; it does not satisfy the gate by itself. The marker may promote entered try / finally statements and headers whose body already has a hit; it still must not promote then-bodies or catch-only returns.

Full description of the CI wiring: CONTRIBUTING.md.

© LiberatedPixelCup, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/coverage of LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator.

Open the folder on GitHubat commit 58ce1aa

Compare with similar skills

Coverage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Coverage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Coverage this skillLiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator1.8k—~1.8kAutomated safety check: PassGPL-3.0
Running TestsNangoHQ/nango13k—~876Automated safety check: PassCustom licence
Run Unit TestsAzure/cosmos-explorer131—~638Automated safety check: PassMIT
ClickUp CLI Testingkrodak/clickup-cli120—~1.4kAutomated safety check: NotesMIT
Tsed Migrationtsedio/tsed3.1k—~2.5kAutomated safety check: PassMIT
Handsontable Unit Testinghandsontable/handsontable22k—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Running Tests

    NangoHQ/nango

    A skill your agent uses when running tests in the Nango monorepo - knows unit vs integration configs, vitest commands, Docker setup, and common test patterns

    13k GitHub stars~876 tokensUpdated today
    Testing & QAAuto-check passed
  • Run Unit Tests

    Azure/cosmos-explorer

    Official

    Run unit tests for the Cosmos Explorer project. An agent skill from Azure/cosmos-explorer.

    131 GitHub stars~638 tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • ClickUp CLI Testing

    krodak/clickup-cli

    Explains how to run and extend the clickup-cli tests: unit tests with a mocked client, e2e tests against a real ClickUp workspace, and the fixture data they rely on.

    120 GitHub stars~1.4k tokensUpdated yesterday
    Testing & QAAuto-check: notes
  • Tsed Migration

    tsedio/tsed

    Migrates an application to Ts.ED v8 from v7, with pointers for v6 and plain Express apps.

    3.1k GitHub stars~2.5k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Handsontable Unit Testing

    handsontable/handsontable

    Conventions for Handsontable's Jest unit and TypeScript type tests: where files go, how to run them, mocking limits and when to write an E2E test instead.

    22k GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • TDD

    RafaelGB/Obsidian-ZettelFlow

    The test-driven development workflow for ZettelFlow — write a failing test first, run jest, use the Obsidian mock and the bare-specifier alias mappings, and know which code is unit-testable.

    174 GitHub stars~724 tokensUpdated today
    Testing & QAAuto-check passed

More from LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

All 11 skills in this repo
  • Cls

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Measure lab CLS with profile:cls, debug layout shift from loading shells and first-paint jump, and keep budgets tied to a CI artifact.

    1.8k GitHub stars~822 tokensUpdated 3 days ago
    Auto-check passed
  • Performance Profiling

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Run the headless app, catalog-load, and ZIP profilers and interpret the JSON the way a human would from window.profiler.report(), profile:load, and the ZIP console table.

    1.8k GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check passed
  • Run One Spec

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Run a single Node, browser, or Playwright spec instead of the full suite.

    1.8k GitHub stars~746 tokensUpdated 3 days ago
    Auto-check passed
  • Typescript

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Write TypeScript that satisfies this repo's lint and tsconfig rules, and convert an existing .js file to .ts without breaking its call sites.

    1.8k GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check passed
  • Generated Metadata

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Diagnose missing or stale dist/-metadata.js, the Vite metadata plugin cache, and the ../name-metadata.js import alias.

    1.8k GitHub stars~597 tokensUpdated 3 days ago
    Auto-check passed
  • Catalog

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Thread CatalogReader and State through Mithril attrs, never a hidden global.

    1.8k GitHub stars~1.3k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Coverage

What does Coverage do?

Run and read unit-test coverage for this repo and satisfy the codecov/patch and codecov/changes gates. Coverage is an agent skill from LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator. Run and read unit-test coverage for this repo and satisfy the codecov/patch and codecov/changes gates.

When should I use Coverage?

Coverage fits situations like: A PR check fails on coverage; after editing gated production code under sources/; the user mentions coverage; uncovered lines.

How do I install Coverage in Claude Code?

Run `npx skills add LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator --skill coverage -a claude-code`. Or copy the skill folder (.agents/skills/coverage in LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator) into .claude/skills/coverage in your project. Claude Code loads it when a task matches its description.

How do I install Coverage in Codex?

Run `npx skills add LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator --skill coverage -a codex`. Or copy the skill folder (.agents/skills/coverage in LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator) into .agents/skills/coverage in your project. Codex loads it when a task matches its description.

Can I use Coverage in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator --skill coverage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/coverage, .gemini/skills/coverage, .github/skills/coverage and .opencode/skills/coverage in your project.

What does Coverage need to run?

Going by SKILL.md and its folder, Coverage needs the command-line tools its instructions call (npm and node).

Does Coverage access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Coverage safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Coverage use?

Coverage is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Coverage use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Coverage?

Skills that share tags, products or a category with Coverage: Running Tests (NangoHQ/nango, 13k stars), Run Unit Tests (Azure/cosmos-explorer, 131 stars), ClickUp CLI Testing (krodak/clickup-cli, 120 stars) and Tsed Migration (tsedio/tsed, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Coverage?

LiberatedPixelCup (a GitHub organization) maintains it in LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator, which has 1,826 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 4, 2026.

Source: LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.