What problem does it solve? Codebases accumulate shallow modules whose interfaces are nearly as complex as their implementations, making code hard to test, navigate, and change. This Skill provides a shared vocabulary and design principles for creating deep modules that hide complexity behind small interfaces. ## Core Features & Use Cases - Deep Module Vocabulary: Defines precise terms (module, interface, seam, adapter, depth, leverage, locality) so teams and AI agents discuss architecture consistently. - Dependency-Aware Deepening: Classifies dependencies into four categories (in-process, local-substitutable, remote-owned, true external) and prescribes the right seam and adapter strategy for each via DEEPENING.md. - Parallel Interface Exploration: Uses a Design-It-Twice pattern that spawns multiple sub-agents to propose radically different interfaces, then compares them on depth, locality, and seam placement. - Use Case: When refactoring a tangled cluster of shallow classes, use this Skill to identify the right seam, define a port with production and in-memory test adapters, and rewrite tests against the new deep interface. ## Quick Start Use the codebase-design skill to review this module cluster and propose a deepened interface with the right seam and adapters.