What problem does it solve? Codebases accumulate shallow modules whose interfaces are nearly as complex as their implementations, spreading logic across callers and making testing painful. This Skill provides a shared vocabulary and principles for designing deep modules that hide complexity behind small interfaces. ## Core Features & Use Cases - Deep-module vocabulary: Defines module, interface, depth, seam, adapter, leverage, and locality so teams discuss design decisions with consistent language. - Deepening guidance: Classifies dependencies (in-process, local-substitutable, remote-owned, true external) and prescribes ports-and-adapters or mock strategies for each, with replace-don't-layer testing discipline. - Design It Twice workflow: Spawns parallel sub-agents to produce radically different interface proposals, then compares them on depth, locality, and seam placement. - Use Case: When refactoring a cluster of shallow service functions, use this Skill to identify the right seam, merge the modules into one deep module, and rewrite tests against the new interface. ## Quick Start Ask the AI to review a module's interface using the codebase-design vocabulary and suggest deepening opportunities with a seam and adapter strategy.