mutation-testing
Mutation Testing
Overview
This skill sets up mutation testing to evaluate test suite quality by introducing deliberate code changes (mutants) and verifying tests catch them. A high mutation score indicates tests are effective at catching real bugs.
Version: 0.1.0 Status: Initial Release
What This Skill Does
Mutation Testing Workflow:
- Analyze codebase to identify mutation targets
- Generate mutants (deliberate code changes)
- Run test suite against each mutant
- Report mutation score and surviving mutants
- Recommend test improvements for weak spots
When to Use This Skill
Use when:
- Coverage is high but confidence in tests is low
- Validating test suite effectiveness
- Finding tests that pass but don't catch real bugs
- Preparing for production release
- Improving test quality beyond coverage metrics
Don't use if:
- No existing test suite
- Test coverage below 50% (improve coverage first)
- CI pipeline can't afford extra runtime
Trigger Phrases
- "Set up mutation testing"
- "Are my tests catching bugs?"
- "Check test effectiveness" / "Test quality analysis"
- "Run mutation analysis" / "Mutation score"
- "Find weak tests"
Supported Frameworks
| Language | Framework | Command |
|---|---|---|
| JavaScript/TypeScript | Stryker | npx stryker run |
| Java | PIT | mvn org.pitest:pitest-maven:mutationCoverage |
| Python | mutmut | mutmut run |
Mutation Score
| Score | Interpretation |
|---|---|
| 90%+ | Excellent - tests catch most bugs |
| 75-89% | Good - some gaps to address |
| 50-74% | Fair - significant testing gaps |
| <50% | Poor - tests need major improvement |
Common Mutations
| Type | Example | Tests Should Catch |
|---|---|---|
| Arithmetic | + → - |
Math logic errors |
| Conditional | > → >= |
Boundary conditions |
| Boolean | true → false |
Logic inversions |
| Return | return x → return null |
Null handling |
| Remove call | validate() → removed |
Missing validations |
Installation Summary
For JavaScript/TypeScript (Stryker):
npm install --save-dev @stryker-mutator/core
npx stryker init
For Python (mutmut):
pip install mutmut
mutmut run
Quick Start
- Ensure test suite exists and passes
- Install mutation testing framework
- Configure mutation targets (critical code paths)
- Run mutation analysis
- Review surviving mutants
- Add/improve tests for uncaught mutations
Performance Considerations
- Mutation testing is compute-intensive
- Start with critical modules only
- Use incremental mode for CI
- Cache results between runs
- Consider parallel execution
Success Criteria
- Mutation testing framework installed
- Configuration targets critical code paths
- Initial mutation run completes
- Mutation score reported
- Action plan for surviving mutants
Additional Resources
- Workflow guide:
workflow/mutation-analysis.md - Configuration reference:
reference/stryker-config.md - Example report:
examples/mutation-report.md
Version History
- 0.1.0 - Initial release with Stryker, PIT, mutmut support
More from cskiro/claudex
bulletproof-react-auditor
Use PROACTIVELY when users ask about React project structure, Bulletproof React patterns, or need architecture guidance. Covers structure setup, codebase auditing, anti-pattern detection, and feature-based migration planning. Triggers on "bulletproof react", "React structure help", "organize React app", or "audit my architecture".
10codebase-auditor
Use PROACTIVELY when auditing code quality, running security scans, assessing technical debt, reviewing code for production readiness, setting up CI quality gates, or tracking DORA metrics. Analyzes codebases against OWASP Top 10, SOLID principles, Testing Trophy, and 2024-25 SDLC standards. Supports incremental audits for large codebases. Not for runtime profiling or real-time monitoring.
3skill-creator
Use PROACTIVELY when creating new Claude Code skills from scratch. Automated generation tool following Claudex marketplace standards with intelligent templates, pattern detection, and quality validation. Supports guided creation, quick start templates, clone-and-modify, and validation-only modes. Not for modifying existing skills or non-skill Claude Code configurations.
2e2e-testing
Use PROACTIVELY when setting up end-to-end testing, debugging UI issues, creating visual regression suites, or automating browser testing. Uses Playwright with LLM-powered visual analysis, screenshot capture, and fix recommendations. Zero-setup for React, Next.js, Vue, Node.js, and static sites. Not for unit testing, API-only testing, or mobile native apps.
1adr-generator
Creates Architecture Decision Records (ADRs) following standard templates. Documents architectural decisions with context, options considered, and rationale. TRIGGERS - "create ADR", "document architecture decision", "new ADR", "record decision", "architecture decision record". Use when making significant architectural choices that should be documented. NOT for code documentation or README files.
1cc-insights
Use PROACTIVELY when searching past Claude Code conversations, analyzing development patterns, or generating activity reports. Automatically processes conversation history from the project, enables RAG-powered semantic search, and generates insight reports with pattern detection. Provides optional dashboard for visualization. Not for real-time analysis or cross-project searches.
1