mutation-test

Runs mutation testing against projects to measure whether test suites constrain behavior.

Updated Jun 2, 2026
One-click install
npx skills add https://github.com/MohamedSayedK/omnigrid --skill mutation-test-mohamedsayedk
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mutation-test
Source: https://github.com/MohamedSayedK/omnigrid/tree/main/assets/core/skills/mutation-test
Command: npx skills add https://github.com/MohamedSayedK/omnigrid --skill mutation-test-mohamedsayedk

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code coverage percentages only show which lines tests execute, not whether tests would catch real bugs. This Skill runs mutation testing to reveal whether your test suite actually constrains behavior by deliberately breaking code and checking if tests fail. ## Core Features & Use Cases - Language-Dispatched Runners: Automatically detects the dominant language and dispatches to Stryker (TS/JS), MutPy (Python), go-mutesting (Go), or mutant (Ruby). - Graceful Degradation: Exits with code 3 and a per-language install one-liner when the required mutation runner is missing, never silently failing. - Dated Reports with Trends: Writes normalized reports to quality/mutation-<date>.md with score, top-5 survived mutants, and a trend table across the last 5 runs. - Use Case: At a milestone boundary or quarterly health check, run the skill against a TypeScript project to discover that 40% of mutants survive, then file a ticket to tighten the weakest assertions. ## Quick Start Ask the AI to run mutation testing on the current project and report the mutation score with the top survived mutants.

Frequently Asked Questions about mutation-test

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run mutation testing on my project?▼

Invoke the skill with an optional project path and it auto-detects the dominant language by file count, then dispatches to the matching runner. Use --language or --runner flags to override detection, and --threshold to set a one-off score target.

What is the difference between mutation testing and code coverage?▼

Code coverage measures which lines tests execute, while mutation testing measures whether tests fail when code is deliberately broken. A suite can have 90% coverage yet miss most behavioral bugs if assertions are weak.

Which mutation testing tools are supported for each language?▼

TypeScript and JavaScript use Stryker, Python uses MutPy, Go uses go-mutesting, and Ruby uses mutant. The skill never bundles a runner; it prints the install one-liner and exits with code 3 if the runner is missing.

Should mutation testing run on every pull request?▼

No. Mutation testing takes 20-40 minutes on a medium codebase, so it is designed for milestone boundaries, quarterly checks, or weekly CI cron jobs. Per-PR quality is covered by the standard coverage gate instead.

What happens if the mutation score falls below the threshold?▼

A below-threshold score produces a WARN verdict, not a failure, and nothing is blocked mechanically. The report lists the top-5 survived mutants with hints, and the skill optionally offers to file a ticket to address them.