What problem does it solve?
This skill addresses the common issue of shallow, tightly coupled codebases that are difficult to test, maintain, and navigate. It provides a shared architectural vocabulary to help developers create deep modules that offer high leverage and clear boundaries.
Core Features & Use Cases
- Deepening Modules: Provides a structured process to transform shallow, pass-through code into deep, high-leverage modules.
- Interface Design: Offers a parallel sub-agent pattern to explore and compare multiple interface designs before implementation.
- Testability: Establishes clear guidelines for seam placement and dependency injection to ensure code is naturally testable.
- Use Case: When refactoring a complex service, use this skill to identify where to place seams, how to define ports and adapters, and how to design an interface that hides implementation complexity.
Quick Start
Use the codebase-design skill to analyze my current module structure and suggest how to deepen its interface for better testability.