mutation-testlisted
Install: claude install-skill LunarCommand/claude-skills
# Mutation testing
A green test run is the **null result**, not evidence. A dead assertion and a live
one produce identical output, so "it passed" discriminates nothing.
This skill establishes the one thing that does discriminate: **break the behaviour
and watch it go red.** Work is not done when it passes. It is done when it has
been seen to fail for the right reason.
## Scope, and what this version does not do
This version runs **one claim at a time, by hand**. There is no batch runner, no
coverage map, and no scripted scope resolution — see
[Not in this version](#not-in-this-version). If you were handed a PR or a diff and
asked whether it is pinned by its suite, say so plainly and pick the claims worth
checking individually rather than implying a sweep happened.
## Rules
- **Break the source, never the test.** Mutating the test proves only that the
test tests itself.
- **Never mutate test files.**
- **Copy the file before you touch it, and restore from that copy.** Not from git.
The files this skill is pointed at are usually the ones just written, so they
hold uncommitted work — `git checkout`, `git restore` and `git stash` destroy it
rather than restoring it. `cp <file> <file>.mtbak`, mutate, then `mv` it back.
- **Mutate the file where the tests actually load it from — in place.** The
tempting shortcut is to mutate a copy instead, so the real tree stays clean: a
`git worktree`, a scratch checkout, a second clone. By default that does not
work, and it