# Mutation Testing

Configures mewt or muton campaigns, analyzes surviving mutants, and investigates bugs...

- Repository: https://github.com/trailofbits/skills (7935 stars)
- Category: Testing
- License: CC-BY-SA-4.0
- Last updated: 2026-10-28
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add trailofbits/skills --skill mutation-testing -g -a claude-code -y`
Codex: `npx skills add trailofbits/skills --skill mutation-testing -g -a codex -y`
Cursor: `npx skills add trailofbits/skills --skill mutation-testing -g -a cursor -y`
Gemini CLI: `npx skills add trailofbits/skills --skill mutation-testing -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add trailofbits/skills`

## Description

Configures mewt or muton campaigns, analyzes surviving mutants, and investigates bugs exposed by testing gaps. Use when setting up mutation testing, reviewing campaign results, identifying equivalent mutants, or finding bugs from surviving mutations.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Mutation Testing (mewt/muton)

Routes to the right mutation testing workflow and loads the references that workflow needs.

> **Note**: muton and mewt share identical interfaces. Examples use `mewt`; substitute `muton` and its file names (`muton.toml`, `muton.sqlite`) for muton projects.

`mewt --help` and `mewt <subcommand> --help` are the source of truth for command-line behavior. Examples below reflect the mewt 4.x API; run `--help` when a flag looks unfamiliar or a command fails.

## When to Use

Use this skill when the user:
- Mentions "mewt", "muton", or "mutation testing"
- Wants to configure, scope, or speed up a mutation testing campaign
- Wants to analyze mutation results, surviving/uncaught mutants, equivalent mutants, kill rate
- Wants to use mutation results to find bugs in the source code

## When NOT to Use

Do not use this skill when the user asks about tests or line coverage without any mutation testing context.

---

## Routing

Pick the workflow, then load it together with the references listed for it. Workflows and references do not load each other, that decision belongs here.

**Setting up, scoping, or speeding up a campaign**
→ [workflows/configuration.md](workflows/configuration.md)
→ Also load [references/optimization-strategies.md](references/optimization-strategies.md) when the campaign estimate is long enough to need trimming, or the user asks to make it faster.

**Campaign finished, hunting for bugs in untested code**
→ [workflows/bug-hunter.md](workflows/bug-hunter.md)

The rest: https://github.com/trailofbits/skills/blob/HEAD/plugins/mutation-testing/skills/mutation-testing/SKILL.md
