What problem does it solve? High code coverage does not guarantee that tests actually verify correctness—tests can execute every line while asserting nothing meaningful. This Skill measures the real defect-detection power of a test suite by injecting small faults (mutants) into the code and checking whether existing tests fail, exposing assertion gaps that coverage metrics hide. ## Core Features & Use Cases - Mutation Score Calculation: Injects mutants (e.g., flipping > to >=, + to -) and classifies results as Killed, Survived, No coverage, or Timeout to compute Mutation Score = Killed / (generated mutants − equivalent mutants). - Stryker Configuration for TypeScript: Provides a minimal stryker.config.json setup with the vitest test runner and per-test coverage analysis. - Assertion Gap Diagnosis: Identifies survived mutants as evidence of weak assertions (e.g., toBeGreaterThanOrEqual(0) instead of toBe(3)) and guides fixing them with strict value assertions. - Use Case: A module shows 100% C0/C1 coverage yet bugs keep leaking to production. Run Stryker on that critical module, find survived mutants, and tighten assertions until the mutation score reaches the target. ## Quick Start Ask the AI to evaluate the strength of your test suite using mutation testing with Stryker on your critical TypeScript modules and fix any survived mutants.