Agent skill

Mutation Testing

by vibeeval in vibeeval/vibecosystem

Mutation testing ile test suite kalitesini olc. An agent skill from vibeeval/vibecosystem.

MITAuto-check passedTesting & QA

Install Mutation Testing

skills CLI
$ npx skills add vibeeval/vibecosystem --skill mutation-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install vibeeval/vibecosystem mutation-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/vibeeval/vibecosystem.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mutation-testing .claude/skills/mutation-testing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mutation-testing
GitHub stars
531
Token cost
~2.4k tokens
SKILL.md length
487 words
Files
1
Skills in repo
144
Repo updated
First seen
Licence
MIT

At a glance

Mutation testing ile test suite kalitesini olc. An agent skill from vibeeval/vibecosystem.

  • Works in 12 steps: Mutant'i Anla → Neden Survive Etti? → Test Yaz → …
  • Tasks that involve Test coverage
  • SKILL.md covers Nedir?, Tool Setup, Mutation Operatorleri and Kill Ratio Hedefleri, plus 3 more sections
  • Calls npm, npx and pip

What it does

Mutation Testing is an agent skill from vibeeval/vibecosystem. Mutation testing ile test suite kalitesini olc. Stryker, mutmut, go-mutesting destegi.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Test coverage and Test generation. The repository describes itself as: AI software team for Claude Code - 138 agents, 295 skills, 73 hooks. Self-learning, multi-agent swarm, autonomous skill evolution. The licence is MIT.

When your agent uses it

  • Tasks that involve Test coverage
  • Tasks that involve Test generation

Example prompts

  • “/mutation-testing”

Requirements

  • Python 3
  • Node.js

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Mutant'i Anla
  2. Neden Survive Etti?
  3. Test Yaz
  4. Tekrar Calistir
  5. Incremental Mutation Testing
  6. Per-Test Coverage Analysis
  7. Timeout Ayari
  8. Concurrency
  9. Incremental Mode (Stryker)
  10. Equivalent Mutants
  11. Infinite Loop Mutants
  12. Cok Uzun Calisma Suresi

What it can do on your machine

Read from SKILL.md and the folder at commit 3b763b1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • npx
    • pip
    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, npx and pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mutation Testing loads about 2.4k tokens when it runs. Until then it costs about 26 tokens; SKILL.md has 487 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~26
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from vibeeval/vibecosystem at commit 3b763b1, republished under its MIT licence (© vibeeval). 487 words, ~2,389 tokens.

Download SKILL.mdSave it as .claude/skills/mutation-testing/SKILL.md (or your agent's skills folder).
name
mutation-testing
description
Mutation testing ile test suite kalitesini olc. Stryker, mutmut, go-mutesting destegi.

Mutation Testing

Nedir?

Mutation testing, test suite'inin kalitesini olcen bir tekniktir. Kaynak kodda kucuk degisiklikler (mutasyonlar) yapilir ve testlerin bu degisiklikleri yakalayip yakalamadigina bakilir.

  • Mutant: Kaynak kodda yapilan kucuk degisiklik
  • Killed: Test suite mutant'i yakaladi (test fail etti)
  • Survived: Test suite mutant'i yakalayamadi (testler hala geciyor)
  • Kill Ratio: Killed / Total mutants (yuzde olarak)

Code coverage "kodun ne kadari calistiriliyor?" sorusunu yanitlar. Mutation testing "testler gercekten bir seyi kontrol ediyor mu?" sorusunu yanitlar.

%100 code coverage'a sahip ama assertion'i olmayan testler mutation testing'de FAIL alir.

Tool Setup

Stryker (JavaScript / TypeScript)
bash
# Install
npm install --save-dev @stryker-mutator/core
npx stryker init

# Jest runner
npm install --save-dev @stryker-mutator/jest-runner

# Vitest runner
npm install --save-dev @stryker-mutator/vitest-runner

# TypeScript support
npm install --save-dev @stryker-mutator/typescript-checker

Config (stryker.config.mjs):

javascript
/** @type {import('@stryker-mutator/api/core').PartialStrykerOptions} */
export default {
  mutate: [
    'src/**/*.ts',
    '!src/**/*.test.ts',
    '!src/**/*.spec.ts',
    '!src/**/*.d.ts',
    '!src/**/index.ts'
  ],
  testRunner: 'jest',
  checkers: ['typescript'],
  reporters: ['html', 'clear-text', 'progress', 'json'],
  coverageAnalysis: 'perTest',
  thresholds: {
    high: 80,
    low: 60,
    break: null  // Set to 60 to fail CI on low kill ratio
  },
  timeoutMS: 60000,
  concurrency: 4
};

Run:

bash
npx stryker run
# Report: reports/mutation/mutation.html
mutmut (Python)
bash
pip install mutmut

Config (pyproject.toml):

toml
[tool.mutmut]
paths_to_mutate = "src/"
tests_dir = "tests/"
runner = "python -m pytest -x --tb=short -q"
dict_synonyms = "Struct,NamedStruct"

Run:

bash
# Full run
mutmut run

# Results
mutmut results

# Show specific mutant
mutmut show 42

# HTML report
mutmut html
go-mutesting (Go)
bash
go install github.com/zimmski/go-mutesting/cmd/go-mutesting@latest

Run:

bash
# Full run
go-mutesting ./...

# Specific package
go-mutesting ./pkg/calculator/...

# With score threshold
go-mutesting --score 0.8 ./...

Mutation Operatorleri

Arithmetic Mutations
a + b  ->  a - b, a * b, a / b
a * b  ->  a / b, a + b
a++    ->  a--

Neyi test eder: Matematiksel hesaplamalarin dogrulugu

Conditional Boundary Mutations
a > b   ->  a >= b
a < b   ->  a <= b
a >= b  ->  a > b
a <= b  ->  a < b

Neyi test eder: Boundary condition'lar, off-by-one hatalari

Boolean Mutations
true    ->  false
a && b  ->  a || b
a || b  ->  a && b
!a      ->  a

Neyi test eder: Boolean logic, branch coverage

Negation Mutations
if (condition)   ->  if (!condition)
while (x > 0)    ->  while (x <= 0)

Neyi test eder: Kontrol akisinin dogrulugu

Return Value Mutations
return x       ->  return 0
return true    ->  return false
return "hello" ->  return ""
return obj     ->  return null

Neyi test eder: Return value assertion'lari

String Mutations
"hello"  ->  ""
"hello"  ->  "Stryker was here!"

Neyi test eder: String handling, empty string kontrolu

Statement Removal
doSomething();  ->  (removed)
x = calculate() ->  (removed)

Neyi test eder: Side effect'lerin test edilip edilmedigi

Kill Ratio Hedefleri

SeviyeKill RatioAnlami
Mukemmel90%+Test suite cok guclu
Iyi80-89%Kabul edilebilir, kucuk iyilestirmeler
Orta60-79%Ciddi iyilestirme gerekli
Zayif< 60%Test suite guvenilemez

Hedef: Her projede minimum %80 kill ratio

Survived Mutant Analizi

Bir mutant survive ettiyse su adimlari takip et:

1. Mutant'i Anla
Dosya: src/calculator.ts:15
Original:  if (balance > 0) { ... }
Mutant:    if (balance >= 0) { ... }
Durum:     SURVIVED
2. Neden Survive Etti?
  • Hicbir test balance === 0 durumunu test etmiyor
  • Boundary condition icin test eksik
3. Test Yaz
typescript
it('should handle zero balance', () => {
  const result = processBalance(0);
  expect(result).toBe('no_funds'); // Bu test mutant'i oldurur
});
4. Tekrar Calistir
bash
npx stryker run --mutate "src/calculator.ts"

Test Iyilestirme Pattern'leri

Pattern 1: Boundary Testing

Survived mutant > -> >= ise:

typescript
// Her boundary icin 3 test yaz: altinda, ustunde, tam sinirda
it('rejects when below minimum', () => expect(validate(-1)).toBe(false));
it('rejects at exact minimum', () => expect(validate(0)).toBe(false));
it('accepts above minimum', () => expect(validate(1)).toBe(true));
Pattern 2: Return Value Assertion

Survived mutant return x -> return 0 ise:

typescript
// Testlerde return value'yu MUTLAKA assert et
const result = calculate(5, 3);
expect(result).toBe(8); // Spesifik deger kontrolu
Pattern 3: Boolean Logic

Survived mutant && -> || ise:

typescript
// Her boolean kombinasyonu test et
it('fails when only A is true', () => expect(check(true, false)).toBe(false));
it('fails when only B is true', () => expect(check(false, true)).toBe(false));
it('passes when both are true', () => expect(check(true, true)).toBe(true));
it('fails when both are false', () => expect(check(false, false)).toBe(false));
Pattern 4: Side Effect Testing

Survived mutant statement removal ise:

typescript
// Side effect'leri de test et
calculate(5);
expect(mockLogger.info).toHaveBeenCalledWith('Calculated: 5');
expect(mockMetrics.increment).toHaveBeenCalledWith('calculations');
Pattern 5: Negation Testing

Survived mutant !x -> x ise:

typescript
// Her iki yolu da test et
it('handles truthy input', () => expect(process(true)).toBe('A'));
it('handles falsy input', () => expect(process(false)).toBe('B'));

CI/CD Entegrasyonu

GitHub Actions
yaml
name: Mutation Testing
on:
  pull_request:
    branches: [main]
  schedule:
    - cron: '0 2 * * 0'  # Haftalik tam tarama

jobs:
  mutation-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm
      - run: npm ci
      - run: npx stryker run
      - uses: actions/upload-artifact@v4
        with:
          name: mutation-report
          path: reports/mutation/
      - name: Check kill ratio
        run: |
          SCORE=$(cat reports/mutation/mutation.json | jq '.schemaVersion' -r)
          # Custom threshold check script
GitLab CI
yaml
mutation-test:
  stage: test
  script:
    - npm ci
    - npx stryker run
  artifacts:
    paths:
      - reports/mutation/
    expire_in: 7 days
  only:
    - merge_requests
  allow_failure: true  # Ilk baslarken, sonra kaldir
Show full SKILL.md (195 more words)Show less
Incremental CI (PR'larda)

PR'larda sadece degisen dosyalari mutate et:

yaml
- name: Get changed files
  id: changed
  run: |
    FILES=$(git diff --name-only origin/main...HEAD -- '*.ts' | grep -v test | tr '\n' ',')
    echo "files=$FILES" >> $GITHUB_OUTPUT
- name: Run incremental mutation
  if: steps.changed.outputs.files != ''
  run: npx stryker run --mutate "${{ steps.changed.outputs.files }}"

Performance Optimization

1. Incremental Mutation Testing

Sadece degisen dosyalari mutate et:

bash
# Stryker
npx stryker run --mutate "src/changed-file.ts"

# mutmut
mutmut run --paths-to-mutate src/changed_module/
2. Per-Test Coverage Analysis

Stryker'da coverageAnalysis: 'perTest' kullan. Her mutant sadece ilgili testlerle calistirilir.

3. Timeout Ayari

Sonsuz donguye giren mutant'lar icin makul timeout:

javascript
timeoutMS: 60000,     // 60 saniye max
timeoutFactor: 1.5    // Normal surenin 1.5 kati
4. Concurrency

CPU sayisina gore paralel calistir:

javascript
concurrency: 4  // veya os.cpus().length - 1
5. Incremental Mode (Stryker)

Onceki sonuclari cache'le:

javascript
incremental: true,
incrementalFile: 'reports/stryker-incremental.json'

Common Pitfalls

1. Equivalent Mutants

Bazi mutasyonlar kodun davranisini degistirmez:

typescript
// Original
const i = 0;

// Mutant (equivalent - davranis ayni)
const i = -0;

Cozum: Equivalent mutant'lari rapordan cikar, survived olarak sayma.

2. Infinite Loop Mutants

while (true) veya for(;;) gibi durumlar: Cozum: Timeout ayarini dogru yap, timeout mutant'larini "killed" say.

3. Cok Uzun Calisma Suresi

Buyuk codebase'lerde saatlerce surebilir: Cozum: Incremental mode, per-test coverage, parallelism kullan.

4. Test Isolation Sorunlari

Mutant, baska testleri de etkiler: Cozum: Testlerin bagimsiz oldugunu dogrula, shared state kullanma.

5. Flaky Test False Positives

Flaky testler mutant'lari yanlis killed gosterebilir: Cozum: Once flaky testleri duzelt, sonra mutation test calistir.

6. Config Dosyalari / Constants

Config dosyalarini mutate etmenin anlami yok: Cozum: mutate pattern'indan config, constants, types dosyalarini haric tut.

Triggers

Bu skill su durumlarda aktive olur:

  • "mutation test" dendiginde
  • "test quality" soruldugunda
  • "test effectiveness" degerlendirmesi istendiginde
  • "kill ratio" soruldugunda
  • "survived mutant" analizi gerektiginde
  • Test suite guvenirligi sorgulandiginda

© vibeeval, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/mutation-testing of vibeeval/vibecosystem.

Open the folder on GitHubat commit 3b763b1

Compare with similar skills

Mutation Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Mutation Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mutation Testing this skillvibeeval/vibecosystem531—~2.4kAutomated safety check: PassMIT
E2E Test ThinkerUniClipboard/UniClipboard1.8k—~1.7kAutomated safety check: PassAGPL-3.0
Ralph Coveragejvm-skills/jvm-skills140—~683Automated safety check: PassApache-2.0
Designing TestsCloudAI-X/opencode-workflow275—~2.9kAutomated safety check: PassMIT
Mutation Testingproffesor-for-testing/agentic-qe494—~1.7kAutomated safety check: PassMIT
Write Testsgnomeria/usbtree688—~622Automated safety check: PassMIT

Similar skills

  • E2E Test Thinker

    UniClipboard/UniClipboard

    Analyze the current branch's diff against main and determine which changes are testable via CLI-based end-to-end tests.

    1.8k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Ralph Coverage

    jvm-skills/jvm-skills

    Run Ralph in coverage mode — iteratively write tests for untested classes until coverage targets are met.

    140 GitHub stars~683 tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Designing Tests

    CloudAI-X/opencode-workflow

    Guides test strategy, TDD/BDD approaches, test coverage planning, and testing best practices.

    275 GitHub stars~2.9k tokensUpdated 9 mo ago
    Testing & QAAuto-check passed
  • Mutation Testing

    proffesor-for-testing/agentic-qe

    Test quality validation through mutation testing, assessing test suite effectiveness by introducing code mutations and measuring kill rate.

    494 GitHub stars~1.7k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Write Tests

    gnomeria/usbtree

    Author tests that match the repo's stack and existing test style, at the cheapest level that catches the regression.

    688 GitHub stars~622 tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Mutation Test

    jmagly/aiwg

    Run mutation testing to validate test quality beyond code coverage.

    220 GitHub stars~3.2k tokensUpdated 2 days ago
    Testing & QAAuto-check passed

More from vibeeval/vibecosystem

All 144 skills in this repo
  • Agent Benchmark

    vibeeval/vibecosystem

    Framework for measuring and tracking agent response quality over time.

    531 GitHub stars~2.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Differential Review

    vibeeval/vibecosystem

    Security-focused differential code review with blast radius analysis, risk-adaptive depth (DEEP/FOCUSED/SURGICAL), git history correlation, and structured finding format.

    531 GitHub stars~1.6k tokensUpdated 2 mo ago
    Auto-check passed
  • Factcheck Guard

    vibeeval/vibecosystem

    A skill your agent uses when making any factual claim about the codebase — existence, absence, or behavior.

    531 GitHub stars~2.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Fp Check

    vibeeval/vibecosystem

    Systematic false positive verification for security findings.

    531 GitHub stars~1.6k tokensUpdated 2 mo ago
    Auto-check passed
  • N8n Workflows

    vibeeval/vibecosystem

    n8n otomasyon workflow'lari. An agent skill from vibeeval/vibecosystem.

    531 GitHub stars~3.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Notepad System

    vibeeval/vibecosystem

    A skill your agent uses when context compression is imminent, when resuming a session, or when preserving critical decisions across long tasks.

    531 GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed

Categories

Questions about Mutation Testing

What does Mutation Testing do?

Mutation testing ile test suite kalitesini olc. An agent skill from vibeeval/vibecosystem. Mutation Testing is an agent skill from vibeeval/vibecosystem. Mutation testing ile test suite kalitesini olc.

When should I use Mutation Testing?

Mutation Testing fits situations like: tasks that involve Test coverage; tasks that involve Test generation.

How do I install Mutation Testing in Claude Code?

Run `npx skills add vibeeval/vibecosystem --skill mutation-testing -a claude-code`. Or copy the skill folder (skills/mutation-testing in vibeeval/vibecosystem) into .claude/skills/mutation-testing in your project. Claude Code loads it when a task matches its description.

How do I install Mutation Testing in Codex?

Run `npx skills add vibeeval/vibecosystem --skill mutation-testing -a codex`. Or copy the skill folder (skills/mutation-testing in vibeeval/vibecosystem) into .agents/skills/mutation-testing in your project. Codex loads it when a task matches its description.

Can I use Mutation Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vibeeval/vibecosystem --skill mutation-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mutation-testing, .gemini/skills/mutation-testing, .github/skills/mutation-testing and .opencode/skills/mutation-testing in your project.

What does Mutation Testing need to run?

Going by SKILL.md and its folder, Mutation Testing needs the command-line tools its instructions call (npm, npx, pip and go). Our summary lists: Python 3; Node.js.

Does Mutation Testing access the network?

SKILL.md contains no URLs. Its commands use npm, npx and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Mutation Testing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Mutation Testing use?

Mutation Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mutation Testing use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Mutation Testing?

Skills that share tags, products or a category with Mutation Testing: E2E Test Thinker (UniClipboard/UniClipboard, 1.8k stars), Ralph Coverage (jvm-skills/jvm-skills, 140 stars), Designing Tests (CloudAI-X/opencode-workflow, 275 stars) and Mutation Testing (proffesor-for-testing/agentic-qe, 494 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mutation Testing?

vibeeval (a GitHub user) maintains it in vibeeval/vibecosystem, which has 531 GitHub stars. The repository holds 144 skills in this directory. The repository was last updated on August 8, 2026.

Source: vibeeval/vibecosystem on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.