mutation-testing

Configures mewt and muton mutation testing campaigns with scoped targets and tuned timeouts.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/marumo333/atrox --skill mutation-testing-marumo333
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mutation-testing
Source: https://github.com/marumo333/atrox/tree/main/.claude/skills/trailofbits/plugins/mutation-testing/skills/mutation-testing
Command: npx skills add https://github.com/marumo333/atrox --skill mutation-testing-marumo333

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Mutation testing campaigns can take many hours when targets, timeouts, and mutation types are misconfigured. This Skill guides you through setting up mewt or muton so campaigns run with the right scope, realistic duration estimates, and optimized settings before you commit to a long-running run. ## Core Features & Use Cases - Campaign Configuration: Walks through a 5-phase workflow from mewt init to a validated, ready-to-run campaign, covering target patterns, mutant generation, and final validation. - Duration Estimation & Optimization: Calculates worst-case campaign time (mutant count × test duration) and applies strategies like per-file targeting, severity filtering, and two-phase campaigns when estimates exceed acceptable limits. - Timeout Tuning: Handles recompilation-heavy languages like Solidity/Foundry by measuring warm-cache versus cold-cache test times and setting manual timeouts when needed. - Use Case: You have a Rust project where mewt run would take an estimated 20 hours. Use this Skill to narrow targets to critical components, restrict mutation types to high/medium severity, and reduce the campaign to a few hours. ## Quick Start Ask the assistant to configure a mewt mutation testing campaign for your project and optimize it if the estimated runtime is too long.

Frequently Asked Questions about mutation-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure a mewt mutation testing campaign?▼

Run mewt init to create mewt.toml and mewt.sqlite, then review targets with mewt print config and mewt print targets. Generate mutants with mewt mutate, estimate duration as mutant count times test duration, and validate everything before running mewt run.

How to reduce mutation testing campaign runtime?▼

First verify targets exclude tests, mocks, and generated code using mewt print targets. Then narrow scope to critical components, restrict mutation types to high/medium severity in mewt.toml, or use a two-phase campaign with targeted tests first and full-suite retesting of survivors.

What is the difference between mewt and muton?▼

Mewt and muton share identical interfaces but target different languages. Mewt handles general-purpose languages like Rust, Solidity, Go, TypeScript, and JavaScript, while muton targets TON smart contracts written in Tact, Tolk, and FunC.

Why does mewt generate no mutants for my project?▼

No mutants usually means include patterns do not match your files, ignore patterns are too broad, or the language is unsupported. Check mewt print config, verify files match the include globs, and run mewt print mutations --language to confirm support.

When should I set a manual test timeout in mewt?▼

Set a manual timeout only for recompilation-heavy languages like Solidity with Foundry, where touching a source file drastically increases test time. Otherwise omit timeout and let mewt auto-calculate it as twice the baseline test duration.

When should I use a two-phase mutation testing campaign?▼

Use two-phase campaigns only for integration-heavy test suites where targeted tests are significantly faster than the full suite. Phase 1 runs fast per-target tests, then Phase 2 retests only uncaught mutants with the full suite, often cutting total time substantially.