What problem does it solve?
Uncontrolled software complexity accumulates over time, making codebases harder to read, modify, and debug, which slows development and increases the risk of defects as projects scale.
Core Features & Use Cases
- Complexity Bounds Guidance: Provides clear rules for limiting cyclomatic and cognitive complexity per function to keep code readable and reduce bug risk.
- Module Design Principles: Teaches how to build deep, low-surface modules that hide implementation details to reduce coupling and maintenance burden across the codebase.
- Anti-Pattern Detection: Lists red flags for common complexity mistakes like premature abstraction, shallow modules, and accidental coupling, with rationalization prevention to address common pushback.
- Use Case: When reviewing a new feature implementation, use this skill to identify overly branchy functions, shallow module splits, and speculative abstractions before they become entrenched technical debt.
Quick Start
Use the software-complexity skill to review the recent code changes for complexity violations and get prioritized refactoring recommendations.