What problem does it solve? Codebases accumulate shallow modules whose interfaces are nearly as complex as their implementations, spreading complexity across callers and making code hard to test and navigate. This Skill provides a shared vocabulary and decision framework for designing deep modules: a lot of behaviour behind a small interface, placed at a clean seam. ## Core Features & Use Cases - Deep-module vocabulary: Precise definitions of module, interface, depth, seam, adapter, leverage, and locality, with explicit terms to avoid, so teams and AI agents name things consistently. - Dependency-aware deepening: Classifies dependencies (in-process, local-substitutable, remote-but-owned, true external) and prescribes ports-and-adapters strategies and replace-don't-layer testing for each. - Design It Twice workflow: Spawns parallel sub-agents to produce radically different interface designs for a candidate module, then compares them on depth, locality, and seam placement. - Use Case: When refactoring a tangled cluster of small classes, use this Skill to identify the right seam, merge the cluster into one deep module, and write tests only at its interface. ## Quick Start Ask the agent to review a module or package in your repository and propose a deeper interface using the codebase-design vocabulary.