mx-test
Skill2 starsChanged 4 months agoMITView on GitHub
MutantX Phase 3 — Test each mutant by applying patches, running the test suite, and recording results.
In this repository12 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- mutateSkill
- mx-detectSkill
- mx-generateSkill
- mx-reportSkill
- mx-testSkill
- mx-validateSkill
- mutateSkill
- mx-detectSkill
- mx-generateSkill
- mx-reportSkill
- mx-validateSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 64
If the user runs /mx-test, execute the script using the Bash tool:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
MutantX — Phase 3: Mutant Testing
This phase is handled by the deterministic Python script mx-test.py. It applies each mutant patch, runs the test suite, records results, and reverts — all without consuming AI tokens.
How to Run
Locate mx-test.py from the MutantX installation. It is in the scripts/ directory alongside the skills:
python3 ~/.claude/scripts/mx-test.pyOr if MutantX is installed at a known path:
python3 /path/to/mutantx/src/scripts/mx-test.pyOptions
| Flag | Description |
--mutants-dir PATH | Path to the .mutants/ directory (default: .mutants) |
--timeout N | Test command timeout in seconds (default: 120) |
--skip-baseline | Skip the baseline test run |
--no-clean-check | Skip the clean-tree check on the files to be mutated |
--strict-clean | Require the whole working tree to be clean, not just the mutated files |
--retest | Re-test all cached results without regenerating patches |
--skip-final-check | Skip re-running the tests on unmutated code after the last mutant |
What the Script Does
- Pre-flight checks:
- Verifies the files to be mutated have no uncommitted changes (the whole tree with
--strict-clean) - Runs baseline tests to confirm they pass on unmodified code
- Verifies the files to be mutated have no uncommitted changes (the whole tree with
- For each pending mutant:
- Applies the patch:
git apply .mutants/patches/NNN.patch - Runs the build command (if
build_commandis set), then the test command, with a timeout - Records the result:
killed: tests ran and at least one failedkilled-crash: the test process crashed (signal exit such as SIGSEGV/SIGABRT, or a crash report in the output)killed-build: the build step failed (only whenbuild_commandis set)timeout: the run exceeded the timeoutsurvived: all tests passedskipped: the patch was missing or failed to apply
- All
killed-*statuses andtimeoutcount toward the mutation score - Reverts the patch:
git apply -R .mutants/patches/NNN.patch, then restores each patched file from a byte-for-byte backup if it still differs, so local edits are never discarded - Saves progress to
manifest.jsonafter each mutant
- Applies the patch:
- Final check: re-runs the tests on unmutated code and fails loudly if they no longer pass (a failed revert or a stale build)
- Supports resuming — only tests mutants with
status: "pending". Cached results are reset to pending automatically when the test files or test command change.
When Invoked as a Skill
If the user runs /mx-test, execute the script using the Bash tool:
python3 <path-to-mx-test.py> --mutants-dir .mutantsFind mx-test.py by checking these locations in order:
./src/scripts/mx-test.py(if inside the MutantX repo)~/.claude/scripts/mx-test.py(global install)
Display the script output to the user as it runs.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

