What problem does it solve? Complex code without tests is risky to change, but teams often lack a systematic way to find it. This Skill combines cyclomatic complexity with test coverage into CRAP (Change Risk Anti-Patterns) scores so you can pinpoint which methods need tests or refactoring before you modify them. ## Core Features & Use Cases - CRAP Score Analysis: Calculate risk scores from complexity and coverage, with clear thresholds (under 5 low risk, over 30 high risk) to prioritize testing effort. - Coverage Collection Setup: Configure coverage.runsettings with OpenCover format, exclusion patterns for generated code, and ReportGenerator tooling for HTML Risk Hotspots reports. - CI/CD Integration: Ready-to-use GitHub Actions and Azure Pipelines workflows that collect coverage, generate reports, and post summaries to pull requests. - Use Case: Before refactoring a legacy authentication module, run the analysis to discover that ValidateToken() has a CRAP score of 32 with 0% coverage, then add tests before touching the code. ## Quick Start Analyze the test coverage and CRAP scores for my .NET solution and list the highest-risk methods that need tests.