test-gap-analysis

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

1|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/D1ssolve/craft-agents --skill test-gap-analysis-d1ssolve
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-gap-analysis
Source: https://github.com/D1ssolve/craft-agents/tree/main/skills/test-gap-analysis
Command: npx skills add https://github.com/D1ssolve/craft-agents --skill test-gap-analysis-d1ssolve

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 blind spots where tests pass but would keep passing even if the code were broken. ## Core Features & Use Cases - Mutation Point Catalog: Identifies boundary, boolean, return value, exception, arithmetic, and null-check mutation points across .NET, Python, TypeScript/JavaScript, Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell, and C++. - Kill/Survive Classification: Classifies each mutation as Killed, Survived, No coverage, or Equivalent, then prioritizes survived mutations by business risk rather than raw count. - Actionable Reporting: Produces a mutation score summary plus concrete recommended test assertions for every gap found. - Use Case: Point the Skill at a payment calculation module and its test files; it reports that flipping < to <= in a discount threshold would go undetected and recommends the exact boundary test to add. ## Quick Start Ask the AI to analyze whether the tests for a specific module would catch bugs by performing pseudo-mutation analysis on the production code and its test files.

Frequently Asked Questions about test-gap-analysis

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

FAQPage Schema
How do I find weak tests that code coverage misses?

Use pseudo-mutation analysis: reason about hypothetical changes like flipping a comparison operator or removing a null check, then check whether any existing test assertion would fail. Survived mutations reveal tests that execute code without verifying its behavior.

What is the difference between code coverage and mutation testing?

Line and branch coverage measure which code executed during tests, not whether assertions verify behavior. Mutation testing measures whether tests actually detect code changes, making it the stronger indicator of test effectiveness.

Does pseudo-mutation analysis work for Python, Go, and Rust?

Yes, the analysis is polyglot and covers .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 assertion APIs.

When should I use a real mutation testing tool instead?

Use actual frameworks like Stryker, mutmut, PIT, go-mutesting, or cargo-mutants when you need executed, verified mutation scores. Static pseudo-mutation is faster for code-review-speed analysis 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 >= to > when the equality case is impossible in the domain. These are excluded from the mutation score because they do not represent real test gaps.