Atdd Mutate
swingerman/engineer
A skill your agent uses to add a third validation layer to the ATDD workflow — after acceptance tests verify WHAT and unit tests verify HOW, mutation testing verifies the tests actually catch bugs.
Generate unit tests for untested branches and edge cases. An agent skill from luongnv89/skills.
$ npx skills add luongnv89/skills --skill test-coverage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luongnv89/skills test-coverage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/test-coverage .claude/skills/test-coverage && rm -rf skills-srcUse ~/.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/
Install the "test-coverage" agent skill from https://github.com/luongnv89/skills/tree/main/skills/test-coverage into .claude/skills/test-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-coverage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/luongnv89/skills/tree/main/skills/test-coverageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add luongnv89/skills --skill test-coverage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luongnv89/skills test-coverage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/test-coverage .agents/skills/test-coverage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "test-coverage" agent skill from https://github.com/luongnv89/skills/tree/main/skills/test-coverage into .agents/skills/test-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-coverage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add luongnv89/skills --skill test-coverage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luongnv89/skills test-coverage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/test-coverage .cursor/skills/test-coverage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "test-coverage" agent skill from https://github.com/luongnv89/skills/tree/main/skills/test-coverage into .cursor/skills/test-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-coverage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/luongnv89/skills.git --path skills/test-coverage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add luongnv89/skills --skill test-coverage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luongnv89/skills test-coverage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/test-coverage .gemini/skills/test-coverage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "test-coverage" agent skill from https://github.com/luongnv89/skills/tree/main/skills/test-coverage into .gemini/skills/test-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-coverage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install luongnv89/skills test-coverageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add luongnv89/skills --skill test-coverage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/test-coverage .github/skills/test-coverage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "test-coverage" agent skill from https://github.com/luongnv89/skills/tree/main/skills/test-coverage into .github/skills/test-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-coverage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add luongnv89/skills --skill test-coverage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install luongnv89/skills test-coverage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/test-coverage .opencode/skills/test-coverage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "test-coverage" agent skill from https://github.com/luongnv89/skills/tree/main/skills/test-coverage into .opencode/skills/test-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-coverage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
test-coverageGenerate unit tests for untested branches and edge cases. An agent skill from luongnv89/skills.
Test Coverage is an agent skill from luongnv89/skills. Generate unit tests for untested branches and edge cases. Use when coverage is low, CI flags gaps, or a release needs hardening. Not for integration/E2E suites, framework migrations, or fixing production bugs.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `docs/README.md`).
It sits in Testing & QA, covering Unit testing, Test coverage and Code migrations. The repository describes itself as: Supercharge your AI agents/bots with reusable skills. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8f80262. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitgocargonpxpytestjestnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, npx and npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Test Coverage loads about 2.5k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 1,222 words of instructions outside code blocks.
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.
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.
The full file from luongnv89/skills at commit 8f80262, republished under its MIT licence (© luongnv89). 1,222 words, ~2,522 tokens.
.claude/skills/test-coverage/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Expand unit test coverage by targeting untested branches and edge cases.
Detect the project's language from its manifest file and use the matching commands throughout the Workflow below:
| Manifest | Stack | Coverage command | Test framework |
|---|---|---|---|
package.json | JavaScript/TypeScript | npx jest --coverage or npx vitest --coverage | Jest, Vitest, Mocha |
pyproject.toml | Python | pytest --cov=. --cov-report=term-missing | pytest, unittest |
go.mod | Go | go test -coverprofile=coverage.out ./... | testing, testify |
Cargo.toml | Rust | cargo tarpaulin or cargo llvm-cov | built-in test framework |
If none of these manifests is found, see Edge Cases — "No test framework detected".
Before creating/updating/deleting files in an existing repository, sync the current branch with remote. First save git status --porcelain as the pre-sync list; Step 4 never stages those paths.
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin
git pull --rebase origin "$branch"If the working tree is not clean, stash first, sync, then restore:
git stash push -u -m "pre-sync"
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin && git pull --rebase origin "$branch"
git stash popIf origin is missing, pull is unavailable, or rebase/stash conflicts occur, stop and ask the user before continuing.
Before making any changes:
git rev-parse --abbrev-ref HEAD. If it prints a branch other than main or master that was created for this task, skip to Step 1.git branch -a and note the prefix most existing branches use (e.g., feat/, feature/, test/).feat/test-coverage.Run the coverage command for the detected Stack above. Record the total coverage percentage and the pass/fail counts as the baseline. If any test fails, stop here (see Edge Cases).
From the report, identify:
Review code for:
Use the test framework for the detected Stack above.
Target scenarios:
git add tests/test_parser.py); never git add -A, git add . or git commit -a, which would sweep in user work Repo Sync restored. Never stage a path on the pre-sync list. Stage a changed manifest or lockfile (Coverage tool not installed) only with its reason in the commit message. Check git diff --cached --name-only before committing. Under Uncertainty:, list each changed file left unstaged, or every new test file when the commit is skipped (failed suite or regression).Result: — COMPLETE, PARTIAL — reason, or BLOCKED — reason — followed by:Evidence: the commands that ran, with before/after totals and pass/fail countsUncertainty: what was not checked (e.g., excluded paths, CI not run, covered lines without output assertions)Decision: the action that needs approval, or No approval needed, then any remaining user action (e.g., push the branch, open a PR)After a successful run on a Python project, the final verification report shows:
Result: COMPLETE — coverage 61% → 84%, all tests pass
Evidence: pytest --cov=. --cov-report=term-missing (before): 61% (47/77 statements), 47 passed
same command (after): 84% (65/77 statements), 56 passed, 0 failed
Uncertainty: CI not run; src/vendor/ excluded from coverage
Decision: No approval needed. Next: push feat/test-coverage and open a PR.
New tests added: 9
Files improved:
- src/parser.py 52% → 91% (+7 tests: null input, empty string, unicode overflow)
- src/auth.py 71% → 88% (+2 tests: expired token, missing header)A run passes when all of the following are true:
jest --coverage, pytest --cov, go test -cover).npm test, pytest, go test ./..., etc.).feat/test-coverage), never on main/master.If any item fails, the final report says PARTIAL or BLOCKED and names the reason.
The final report must also be understandable:
COMPLETE, PARTIAL or BLOCKED and the reason.Evidence: (commands run and their observed totals) is separate from Uncertainty: (assumptions and unchecked behavior).Decision: names the approval needed or says No approval needed, and names any remaining user action.These are instruction checks. Without reviewer feedback, human understanding of the report stays unconfirmed; agent inspection cannot confirm it.
package.json, pyproject.toml, Cargo.toml, or go.mod for test dependencies; if none found, asks the user which framework to use before writing any tests.pytest-cov, nyc, cargo tarpaulin, etc.) and rerun the command once. If it fails again, stop and report BLOCKED with the error output.BLOCKED with the names of the failing tests.COMPLETE with the baseline as evidence and stop.node_modules/, vendor/, dist/, build/, files with a generated-code header) out of the Step 2 gap list, and list them under Uncertainty:.pytest-asyncio, jest fakeTimers) rather than bare sync wrappers.After completing each major step, output a status report in this format:
◆ [Step Name] ([step N of M] — [context])
··································································
[Check 1]: √ pass
[Check 2]: √ pass (note if relevant)
[Check 3]: × fail — [reason]
[Check 4]: √ pass
[Criteria]: √ N/M met
____________________________
Result: PASS | FAIL | PARTIALAdapt the check names to match what the step actually validates. Use √ for pass, × for fail, and — to add brief context. The "Criteria" line summarizes how many acceptance criteria were met. The "Result" line gives the overall verdict.
Branch Setup phase checks: Feature branch created, Base coverage measured
Analysis phase checks: Coverage report parsed, Gaps identified, Priority ranked
Test Writing phase checks: Tests written, Edge cases covered, Framework conventions followed
Verification phase checks: Tests pass, Coverage improved, No regressions
© luongnv89, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/test-coverage of luongnv89/skills.
Open the folder on GitHubat commit 8f80262
Test 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Test Coverage this skillluongnv89/skills | 131 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Atdd Mutateswingerman/engineer | 154 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Post Dev Testsd0xdev/sd0x-harness | 192 | — | ~1.8k | Automated safety check: Notes | MIT | |
| Scenario Testingaiskillstore/marketplace | 430 | 1 repos | ~830 | Automated safety check: Pass | None | |
| Test Automationrevfactory/harness-100 | 1.3k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Test Specialisttravisjneuman/.claude | 101 | — | ~3.7k | Automated safety check: Pass | MIT |
swingerman/engineer
A skill your agent uses to add a third validation layer to the ATDD workflow — after acceptance tests verify WHAT and unit tests verify HOW, mutation testing verifies the tests actually catch bugs.
sd0xdev/sd0x-harness
Post-development test completion. An agent skill from sd0xdev/sd0x-harness.
aiskillstore/marketplace
This skill should be used when writing tests, validating features, or needing to verify code works.
revfactory/harness-100
A full test automation pipeline. An agent skill from revfactory/harness-100.
travisjneuman/.claude
Test-writing patterns for JS/TS, Python, Go, and Rust (unit, integration, E2E, visual regression).
novotnyllc/dotnet-artisan
Defines .NET test strategy and implementation patterns across xUnit v3 (Facts, Theories, fixtures, IAsyncLifetime), integration testing (WebApplicationFactory, Testcontainers), Aspire testing…
luongnv89/skills
Review UI usability using Steve Krug's principles and produce a scannable report.
luongnv89/skills
Manage AI agent fleets in Herdr: tile root + sub-agents in one tab, start/prompt/wait/read/monitor via the herdr agent CLI, steer any pane; help lists every operation.
luongnv89/skills
Optimize Ollama configuration for the current machine's hardware.
luongnv89/skills
Install local-first security hardening: pre-commit secret detection, offline dependency scans, static analysis, reports, and gated free CI.
luongnv89/skills
Generate sprint-based development tasks from a PRD. An agent skill from luongnv89/skills.
luongnv89/skills
Manage AI agents in tmux: spawn sessions, send messages, wait, capture replies, inspect fleets, and tear down safely.
Categories
Generate unit tests for untested branches and edge cases. An agent skill from luongnv89/skills. Test Coverage is an agent skill from luongnv89/skills. Generate unit tests for untested branches and edge cases.
Test Coverage fits situations like: coverage is low; A release needs hardening.
Run `npx skills add luongnv89/skills --skill test-coverage -a claude-code`. Or copy the skill folder (skills/test-coverage in luongnv89/skills) into .claude/skills/test-coverage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luongnv89/skills --skill test-coverage -a codex`. Or copy the skill folder (skills/test-coverage in luongnv89/skills) into .agents/skills/test-coverage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add luongnv89/skills --skill test-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/test-coverage, .gemini/skills/test-coverage, .github/skills/test-coverage and .opencode/skills/test-coverage in your project.
Going by SKILL.md and its folder, Test Coverage needs the command-line tools its instructions call (git, go, cargo, npx, pytest and jest). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Its commands use git, npx and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Test Coverage is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Test Coverage: Atdd Mutate (swingerman/engineer, 154 stars), Post Dev Test (sd0xdev/sd0x-harness, 192 stars), Scenario Testing (aiskillstore/marketplace, 430 stars) and Test Automation (revfactory/harness-100, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
luongnv89 (a GitHub user) maintains it in luongnv89/skills, which has 131 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 7, 2026.
Source: luongnv89/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.