test-gap-analysis

Analyzes production code via pseudo-mutation reasoning to find tests that miss logic changes.

Updated Jul 2, 2026
One-click install
npx skills add https://github.com/ecoDriverltd/FoundryAgentsExperiment --skill test-gap-analysis-ecodriverltd
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: test-gap-analysis
Source: https://github.com/ecoDriverltd/FoundryAgentsExperiment/tree/main/.agents/skills/test-gap-analysis
Command: npx skills add https://github.com/ecoDriverltd/FoundryAgentsExperiment --skill test-gap-analysis-ecodriverltd

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 changes like boundary flips, boolean inversions, and removed null checks — to reveal test gaps 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 .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, with concrete recommended test fixes for every gap. - Risk-Prioritized Reporting: Produces a mutation score summary plus prioritized findings, so high-risk business logic gaps surface before trivial ones. - Use Case: Ask "would my tests catch it if someone flipped this comparison operator?" and get a per-line verdict showing which tests cover the code but fail to assert the affected behavior. ## Quick Start Ask the agent to analyze whether your existing tests would catch subtle bugs in a specific source file and its corresponding test file.

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 miss subtle bugs?▼

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. Mutations no test would catch are classified as survived, revealing the gap.

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

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

Which programming languages does pseudo-mutation analysis support?▼

The analysis is language-neutral 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.

Does this replace mutation testing tools like Stryker or mutmut?▼

No. This is static pseudo-mutation reasoning at code-review speed, not an actual mutation testing run. For executed mutation scores, use tools like Stryker for .NET/JS/TS, mutmut for Python, PIT for Java, or cargo-mutants for Rust.

When should I not use pseudo-mutation analysis?▼

Skip it when you want to write new tests from scratch, detect test anti-patterns like flakiness, measure assertion diversity, or get plain coverage numbers. It also excludes trivial code like auto-properties and generated files from analysis.