test-gap-analysis

Analyzes production code via pseudo-mutation reasoning to find gaps in existing tests.

Updated Jul 12, 2026
One-click install
npx skills add https://github.com/Patrick-Rex/DotNetTechSamples --skill test-gap-analysis-patrick-rex
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-gap-analysis
Source: https://github.com/Patrick-Rex/DotNetTechSamples/tree/main/.agents/plugins/dotnet-test/skills/test-gap-analysis
Command: npx skills add https://github.com/Patrick-Rex/DotNetTechSamples --skill test-gap-analysis-patrick-rex

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code coverage tells you which lines ran during tests, but not whether tests would fail if the code were wrong. This Skill performs static pseudo-mutation analysis — reasoning about hypothetical code changes like boundary flips, boolean inversions, and removed null checks — to reveal test blind spots where bugs would slip through undetected. ## Core Features & Use Cases - Mutation Point Catalog: Identifies boundary, boolean, return value, exception, arithmetic, and null-check mutation points across 12+ languages including .NET, Python, TypeScript, Java, Go, Rust, and more. - Kill/Survive Classification: Classifies each mutation as Killed, Survived, No coverage, or Equivalent, with concrete recommended test fixes for every gap. - Risk-Prioritized Reporting: Produces a mutation score summary plus prioritized findings, ranking business-logic gaps above trivial code. - Use Case: Before merging a payment calculation change, ask whether your tests would catch a sign flip or off-by-one error — the Skill traces which tests exercise each line and whether their assertions would actually fail. ## Quick Start Ask the AI to analyze whether the tests for a specific module would catch subtle bugs like boundary changes or removed null checks in the production code.

Frequently Asked Questions about test-gap-analysis

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

FAQPage Schema
How do I check if my tests would catch a bug in my code?

Pseudo-mutation analysis reasons about hypothetical code changes — like flipping a comparison operator or removing a null check — and checks whether any existing test assertion would fail. Mutations no test would catch are reported as test gaps with recommended fixes.

What is the difference between code coverage and mutation testing?

Line coverage measures which lines executed during tests, while mutation testing measures whether tests detect actual code changes. A method can have 100% line coverage but zero tests that would catch a sign flip or off-by-one error.

Does pseudo-mutation analysis work with Python, Go, or Rust?

Yes, the analysis is polyglot and supports .NET, Python, TypeScript/JavaScript, Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell, and C++. Language-specific extension files map concepts like null versus None versus nil and framework-specific assertion APIs.

When should I use a real mutation testing tool instead?

Use actual mutation frameworks like Stryker, mutmut, PIT, or cargo-mutants when you need executed, verified mutation scores in CI. Static pseudo-mutation is faster for code review and gap discovery but reasons about mutations without running them.

Why are some mutations marked as equivalent and skipped?

An equivalent mutation produces identical behavior, such as changing x * 1 to x / 1, or a boundary change where the equal case is impossible in the domain. These are excluded from the score because they do not represent real test gaps.