agentleFS
ClarituneClaritune/mutantx/.cursor/skills/mx-test/SKILL.md

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.

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
  1. Very specific:

    If the user runs /mx-test, execute the script using the Bash tool:

    line 64

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.py

Or if MutantX is installed at a known path:

python3 /path/to/mutantx/src/scripts/mx-test.py

Options

FlagDescription
--mutants-dir PATHPath to the .mutants/ directory (default: .mutants)
--timeout NTest command timeout in seconds (default: 120)
--skip-baselineSkip the baseline test run
--no-clean-checkSkip the clean-tree check on the files to be mutated
--strict-cleanRequire the whole working tree to be clean, not just the mutated files
--retestRe-test all cached results without regenerating patches
--skip-final-checkSkip re-running the tests on unmutated code after the last mutant

What the Script Does

  1. 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
  2. For each pending mutant:
    • Applies the patch: git apply .mutants/patches/NNN.patch
    • Runs the build command (if build_command is set), then the test command, with a timeout
    • Records the result:
      • killed: tests ran and at least one failed
      • killed-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 when build_command is set)
      • timeout: the run exceeded the timeout
      • survived: all tests passed
      • skipped: the patch was missing or failed to apply
    • All killed-* statuses and timeout count 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.json after each mutant
  3. Final check: re-runs the tests on unmutated code and fails loudly if they no longer pass (a failed revert or a stale build)
  4. 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 .mutants

Find mx-test.py by checking these locations in order:

  1. ./src/scripts/mx-test.py (if inside the MutantX repo)
  2. ~/.claude/scripts/mx-test.py (global install)

Display the script output to the user as it runs.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.