Agent skill · data analytics · jeremylongshore
running-mutation-tests
Execute mutation testing to evaluate test suite effectiveness.
Why this skill is useful
Adds specific commands and configuration patterns for mutation testing frameworks that the AI wouldn't reliably generate on its own.
What it needs
Requires go-mutesting, mutmut, pitest, stryker installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.
What this skill does
Mutation Test Runner Overview Execute mutation testing to evaluate the effectiveness of a test suite by systematically introducing small code changes (mutants) and checking whether existing tests detect them. A killed mutant means the tests caught the change; a surviving mutant reveals a testing gap. Prerequisites Mutation testing framework installed (Stryker, mutmut, PITest, or go-mutesting) Existing test suite with reasonable pass rate (all tests must pass before mutation testing) Source code with functions and logic suitable for mutation (conditionals, arithmetic, return values) Sufficient CI resources (mutation testing runs the test suite once per mutant -- CPU-intensive) Configuration file for the mutation tool specifying target files and test commands Instructions 1. Verify the existing test suite passes completely: Run the full test suite and confirm 100% pass rate. Fix any failing or skipped tests before proceeding. Mutation testing is meaningless if the baseline tests are broken. 2. Configure the mutation testing tool: Stryker: Create stryker.config.mjs with mutate patterns, test runner, and thresholds. mutmut: Configure setup.cfg or pyproject.toml with [mutmut] section. PITest: Add Maven/Gradle plugin with target classes and test configurations. 3. Select target files for mutation: Focus on business logic modules (not configuration, constants, or type definitions). Exclude auto-generated code, third-party wrappers, and test utilities. Start with a small scope (one module) to validate setup before expanding. 4. Run the mutation testing suite: Execute npx stryker run, mutmut run, or mvn pitest:mutationCoverage. Monitor progress -- expect long execution times (10-100x normal test runtime). Use incremental mode if available to skip already-tested mutants. 5. Analyze the mutation report: Killed mutants: Tests detected the change -- indicates strong test coverage. Survived mutants: Tests did not catch the change -- indicates a testing gap. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills jeremylongshore/running-mutation-tests