← ClaudeAtlas

mutantslisted

This skill should be used when the question is whether a test suite is actually any good — when the user says "are these tests any good", "what am I not testing", "coverage is 100% but I still shipped a bug", "improve the tests for this", "is this well tested", "find gaps in my tests", "mutation testing", or asks for tests to be written for existing code and the useful ones need identifying. Measures which bugs the suite would actually catch by mutating the source, then triages the survivors into real gaps and equivalent mutants.
lkc-studio/claude-skill-mutants · ★ 1 · Testing & QA · score 64
Install: claude install-skill lkc-studio/claude-skill-mutants
# Mutants: measure what the tests actually catch Line coverage answers "was this line executed?" — a question no one cares about. A test that calls a function and asserts nothing gives 100% coverage and catches nothing. Mutation testing answers the question that matters: **if this code were wrong, would a test fail?** It introduces a small, plausible defect — `<` becomes `<=`, `return x` becomes `return None` — and reruns the suite. ``` mutant killed -> a test failed -> the suite catches this class of bug mutant SURVIVED -> tests passed -> nothing asserts on this behaviour ``` A survivor is not a hypothetical. It is a concrete edit to production code that the entire suite waves through. ## The reason nobody does this Mutation testing was described in the 1970s and has been the academically accepted measure of suite quality ever since. It stays unused because of two costs: 1. **Whole-repo runs take hours.** So they get run once, in an audit, and never again. 2. **Triaging survivors is tedious.** Many survivors are *equivalent mutants* — the code changed but the behaviour did not, so no test could ever kill them. Separating those from real gaps is slow, unglamorous judgement work. Both are addressable. Fix the first by scoping to the diff. The second is the work this skill exists to do. ## Step 1: scope to the diff, not the repo Mutate only what changed. This turns hours into minutes and makes the technique usable during code review, which is the only