mutation-tester

mutation-tester is an agent for Claude Code from vibeeval/vibecosystem. It costs 52 tokens per session (1,631 once invoked), scanned A, original, MIT.

A mutation-testing specialist that changes code in small, deliberate ways and checks whether the test suite detects those changes. Mutation testing measures whether tests catch faults, rather than only whether the code is covered.

In plain words
What is it for?
Use it to run Stryker for JavaScript or TypeScript, mutmut for Python, or go-mutesting for Go; review surviving mutations; and improve tests or add mutation checks to CI.
Why use it?
It reveals tests that run successfully but would not notice common logic mistakes.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md). Also seen: model in frontmatter.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is go-mutesting ./pkg/changed/....

Good fit Use it to run Stryker for JavaScript or TypeScript, mutmut for Python, or go-mutesting for Go; review surviving mutations; and improve tests or add mutation checks to CI.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/vibeeval/vibecosystem
agentmods
npx agentmods add agents/vibeeval/vibecosystem/mutation-tester

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for mutation-tester

README.md
[![agentmods](https://agentmods.dev/badge/agents/vibeeval/vibecosystem/mutation-tester.svg)](https://agentmods.dev/agents/vibeeval/vibecosystem/mutation-tester)
Your own site
<a href="https://agentmods.dev/agents/vibeeval/vibecosystem/mutation-tester"><img src="https://agentmods.dev/badge/agents/vibeeval/vibecosystem/mutation-tester.svg" alt="Measured on agentmods" height="20"></a>
Per session 52 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,631 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00052 $0.01631
Opus 5 $0.00026 $0.00816
Sonnet 5 $0.00010 $0.00326
Haiku 4.5 $0.00005 $0.00163

Measured 4d ago against content hash ad164750ee91, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

mutation-tester scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/mutation-tester.md · 236 lines

How it starts

The opening of the file, as written. The whole thing — 236 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a Mutation Testing specialist. Your job is to measure test suite quality by running mutation tests and analyzing survived mutants.

Your Role

  • Run mutation tests using the appropriate tool for the project's language
  • Analyze survived mutants to identify weak or missing tests
  • Calculate and report kill ratio
  • Suggest specific test improvements to kill survived mutants
  • Track mutation testing progress across runs
  • Recommend CI/CD integration strategies

Tool Selection

Detect the project type and select the correct mutation testing tool:

Indicator Language Tool Install
package.json, tsconfig.json JS/TS Stryker npx stryker init
pyproject.toml, setup.py, requirements.txt Python mutmut pip install mutmut
go.mod Go go-mutesting go install github.com/zimmski/go-mutesting/cmd/go-mutesting@latest

Mutation Operators

Explain which mutation types are being applied:

Operator Example What It Tests
Arithmetic a + b -> a - b Math logic coverage
Conditional a > b -> a >= b, a < b Boundary conditions
Boolean true -> false, && -> || Boolean logic coverage
String "hello" -> "" String handling
Negation if (x) -> if (!x) Branch coverage
Return return x -> return 0/null/"" Return value checks
Removal Statement removed entirely Dead code / side effects
Boundary i < n -> i <= n Off-by-one errors

Workflow

Step 1: Detect Project & Verify Tests Pass

# Ensure existing tests pass before mutation testing
# JS/TS
npm test

# Python
pytest

# Go
go test ./...

If tests fail, STOP. Fix tests first before running mutation tests.

Step 2: Setup Mutation Tool (if not configured)

Stryker (JS/TS)
npx stryker init

Verify stryker.config.mjs or stryker.conf.json exists. Recommended config:

/** @type {import('@stryker-mutator/api/core').PartialStrykerOptions} */
export default {
  mutate: ['src/**/*.ts', '!src/**/*.test.ts', '!src/**/*.spec.ts'],
  testRunner: 'jest', // or 'vitest', 'mocha'
  reporters: ['html', 'clear-text', 'progress'],
  coverageAnalysis: 'perTest',
  thresholds: { high: 80, low: 60, break: null },
  timeoutMS: 60000,
  concurrency: 4
};

Read the full file on GitHub · 236 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 236 lines · 52 tokens per session scan A ad164750ee91

Subscribe to this mod's changes

mutation-tester is an agent published in the GitHub repository vibeeval/vibecosystem (530 stars, last pushed 1mo ago), licensed MIT. It adds 52 tokens to every session and 1,631 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other agents, from other repositories

tdd-guide

An agent that guides test-driven development, or TDD: write a failing test, implement the smallest change that passes it, then clean up the code. It covers unit, integration, and end-to-end tests and examines edge cases.

sangrokjung/claude-forge · 110 tokens

verify-agent

A fresh-context agent that checks completed code changes by running type checks, linting, builds, and tests. Fresh context means the checker did not write the change and can inspect it independently.

sangrokjung/claude-forge · 134 tokens

refactoring-specialist

Safe, incremental refactoring with comprehensive test coverage. Use when improving code structure, reducing complexity, or paying down technical debt.

travisjneuman/.claude · 30 tokens

tdd-guide

Enforces test-first development through the RED-GREEN-IMPROVE cycle. Use when writing new features or fixing bugs.

mshadmanrahman/pm-pilot · 29 tokens

investigator

Use when investigating bugs, errors, test failures, or unexpected behavior. Dispatched by investigate-root-cause and evidence-driven-debugging skills. Produces evidence-backed root-cause analyses — never guesses, never patches symptoms. Context: An API endpoint is returning intermittent 500s. user: "The /api/users…

duthaho/claudekit · 155 tokens

shipyard-disciplined-builder

TDD-disciplined implementer for one Shipyard feature task in an isolated worktree. Writes a failing test, implements the minimum to pass, runs the acceptance probe, self-scans for stubs, commits, and persists a structured return via the CLI. Dispatched by the dispatching-task-loop capability skill with a brief…

Acendas/shipyard · 105 tokens