Skip to content
Development
Skill

/nw-mutation-test

Runs feature-scoped mutation testing to validate test suite quality. Use after implementation to verify tests catch real bugs (kill rate >= 80%).

From plugin
nwave
628151 skills34 agents27 commands

Claude Code

$ npx -y skills add nWave-ai/nWave --skill nw-mutation-test --agent claude-code

SKILL.md

nw-mutation-test.SKILL.md
name: nw-mutation-test
description: "Run an explicit mutation probe over a named production delta, or support the project-level nightly-delta policy. Disabled by default."
user-invocable: true
argument-hint: '[--delta <base>...<head> | --nightly-delta] [--threshold 80]'

Mutation Test

Mutation testing is **disabled by default**. This skill runs only after an explicit on-demand invocation or when the project itself declares `Mutation Testing Strategy: nightly-delta`.

It is a standalone diagnostic outer loop, not a DELIVER phase, rigor knob, completion gate, workflow state or substitute for semantic acceptance tests.

Input authority

  • Explicit probe: use the named production diff.
  • Nightly delta: use production files changed since the last successful

mutation run.

  • Never infer targets from `docs/feature/`, feature-delta, a progress ledger,

filenames alone or the implementation agent's claims.

If the diff is empty, report `not-applicable` and stop. If a target is missing, outside the repository or not production code, fail loudly before starting a mutation tool.

Execution

1. Detect the project's language and existing mutation runner. Do not impose a Python-specific tool on another language. 2. Prove the target's ordinary tests pass with the project's declared runner. 3. Snapshot the user's worktree status. 4. Create a dedicated disposable worktree or copy and run all mutations there. Never mutate, reset or restore the user's worktree. 5. Compare the user's status with the snapshot and discard only the disposable target.

Each invocation binds the actual production delta/commit snapshot, ordinary-GREEN baseline, oracle/support/source identities and native build/discovery graph. Allocate distinct process, workspace, mutable config, build/temp/cache and result paths with provenance; parallel probes cannot share fixed files or cache identity. Tests must participate in that native graph, not a disconnected Python harness. The repository's nightly Python adapter supports its declared Python/mutmut 3.8 contract only; it is not a cross-stack runner. Empty/unsupported target sets, driver no-ops, zero generated mutants or interrupted attempts are never PASS100.

No supported runner is an honest `indeterminate`, not a fabricated PASS.

Result

The requested/project threshold (default 80%) applies only to a valid attributed attempt with a measured nonzero denominator. Report actual generated, killed, survived and incomplete/unclassified counts with their population and conservation. Do not turn timeout, build/setup failure or untested mutants into killed outcomes, or omit them to inflate the denominator. Preserve invalid attempt evidence and partial actual counts without a passing rate.

  • `pass`: valid complete attempt, kill rate >= threshold.
  • `fail`: valid complete attempt below threshold; name real survivors by production

file, line/symbol and smallest missing observable.

  • `indeterminate`: unavailable runner, failed baseline, no-op/zero mutants,

interruption, incomplete outcome or evidence not attributable to this delta.

  • `not-applicable`: validated delta contains no mutable production target.

Keep the interactive report concise: verdict, numerator/denominator, per-file survivor count, and a bounded list of actionable survivors. Do not create a per-delivery markdown report or another persistent progress artifact.

For `nightly-delta`, CI owns persistence: create or update one deduplicated issue containing the same bounded report and the exact comparison range. A later green run closes that issue. The nightly job must not expand to the whole repository when its baseline is missing; establish a new baseline explicitly instead.

Read more
@nwave-ai
Ships withnwave

AI agents that guide you from idea to working code, with human judgment at every gate. nWave runs inside Claude Code. It breaks feature delivery into seven waves (discover, diverge, discuss, design, devops, distill, deliver).

628151 skills34 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
628
Star history of nWave-ai/nWave on GitHub, a chart by star-history.com

Other skills on nwave.

nw-ad-critique-dimensions

nw-ad-critique-dimensi…

Review dimensions for acceptance test quality - happy path bias, GWT compliance, business language purity, coverage completeness,…

@nwave-ai@nwave-aiInstall Skill
nw-agent-testing

nw-agent-testing

5-layer testing approach for agent validation including adversarial testing, security validation, and prompt injection resistance

@nwave-ai@nwave-aiInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about nw-mutation-test.

Which coding agents can use nw-mutation-test?
nw-mutation-test installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.