New to Claude Skills? Learn how to install them →

Mtrailofbits on GitHub

Mutation Testing Configuration

Free

Streamline your mutation testing campaigns with ease.

by trailofbits6.5k stars on trailofbits/skills
1 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Mutation Testing Configuration does

The Mutation Testing Configuration skill provides a streamlined approach to setting up and optimizing mutation testing campaigns using the mewt and muton tools. These tools are essential for developers looking to enhance their testing strategies by identifying untested code paths. The skill focuses on configuring campaigns, scoping targets, tuning timeouts, and optimizing long-running tests, ensuring that users can effectively manage their mutation testing processes.

This skill is particularly useful for developers working with general-purpose languages like Rust, Solidity, Go, TypeScript, and JavaScript, as well as those developing TON smart contracts using Tact, Tolk, or FunC. By following the provided workflows, users can easily navigate the five phases of a mutation testing campaign, from initialization to running tests. The skill also includes essential commands for inspecting configurations, scoping targets, and investigating specific mutants, making it a comprehensive tool for mutation testing.

For users who are new to mutation testing or those who need assistance in configuring their campaigns, this skill serves as a valuable resource. It guides users through the setup process, ensuring that they can effectively utilize mewt or muton to improve their test coverage and code quality. The skill's focus on optimization strategies allows users to tailor their campaigns to their specific needs, ultimately leading to more efficient testing workflows.

In summary, this skill is designed for developers and designers who want to implement mutation testing in their projects. By simplifying the configuration and optimization processes, it enables users to focus on writing effective tests and improving their codebase, rather than getting bogged down in setup complexities.

When to use it

Use this skill when you need to set up or optimize a mutation testing campaign with mewt or muton.

When not to use it

Do not use this skill if you're looking to analyze results from completed mutation testing campaigns or if your inquiry is about general test coverage without a focus on mutation testing.

What you can build with it

Setting Up a New Campaign

When starting a new mutation testing campaign, this skill guides you through initializing the necessary configuration files and setting your targets.

Optimizing Long-Running Tests

If your mutation tests are taking too long, use this skill to tune timeouts and optimize your testing strategy.

Configuring for Different Languages

Easily switch between mewt and muton configurations based on the programming language you are working with, ensuring compatibility.

How to install Mutation Testing Configuration

View source

1. Install with the skills CLI

npx skills add trailofbits/skills/mutation-testing --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by trailofbits

Mutation Testing — Campaign Configuration (mewt/muton)

Note: muton and mewt share identical interfaces but target different languages — mewt for general-purpose languages (Rust, Solidity, Go, TypeScript, JavaScript), muton for TON smart contracts (Tact, Tolk, FunC). All examples use mewt commands, but they work exactly the same with muton. File names change accordingly: mewt.tomlmuton.toml, mewt.sqlitemuton.sqlite.

When to Use

Use this skill when the user:

  • Mentions "mewt", "muton", or "mutation testing"
  • Needs to configure or optimize a mutation testing campaign
  • Wants to run mewt run and needs help getting set up first

When NOT to Use

Do not use this skill when the user:

  • Wants to analyze or report on completed campaign results
  • Asks about tests or coverage without mentioning mutation testing

Quick Start

Load workflows/configuration.md — a 5-phase guide from mewt init to a validated, ready-to-run campaign.

General question or unfamiliar command? Run mewt --help or mewt <subcommand> --help, then assist.


Reference Index

FileContent
workflows/configuration.md5-phase guide: init, scope, optimize, validate, run
references/optimization-strategies.mdPer-file targeting, two-phase campaigns, mutation type filtering

Essential Commands

# Initialize and mutate
mewt init                    # Create mewt.toml and mewt.sqlite
mewt mutate [paths]          # Generate mutants without running tests
mewt run [paths]             # Run the full campaign

# Inspect configuration and scope
mewt print config            # View effective configuration
mewt print targets           # Table of all targeted files
mewt print mutations --language [lang]  # Available mutation types
mewt status                  # Mutant count and per-file breakdown

# Investigate specific mutants
mewt print mutants --target [path]   # All mutants for a file
mewt print mutants --severity high   # Filter by severity
mewt print mutant --id [id]          # View mutated code diff
mewt test --ids [ids]                # Re-test specific mutants

What Results Mean

  • Caught/TestFail: Tests detected the mutation (good)
  • Uncaught: Mutation survived — indicates untested logic
  • Timeout: Tests took too long, inconclusive
  • Skipped: A more severe mutant already failed on the same line

Frequently asked questions about Mutation Testing Configuration

Similar skills