What problem does it solve? Teams often design modules with shallow interfaces that leak complexity to every caller, making code hard to test, refactor, and navigate. This Skill provides a precise shared vocabulary (module, interface, seam, adapter, depth, leverage, locality) and design principles so engineers and AI agents can consistently design deep modules that hide complexity behind small interfaces. ## Core Features & Use Cases - Deep-module vocabulary: Defines exact terms (module, interface, implementation, seam, adapter, depth, leverage, locality) with rejected framings, so architecture discussions stay consistent across people and AI agents. - Dependency-aware deepening: DEEPENING.md classifies dependencies (in-process, local-substitutable, remote-but-owned, true external) and prescribes ports-and-adapters strategies plus replace-don't-layer testing for each category. - Design It Twice workflow: DESIGN-IT-TWICE.md orchestrates parallel sub-agents that each produce a radically different interface for a candidate module, then compares them on depth, locality, and seam placement with an opinionated recommendation. - Use Case: When refactoring a cluster of shallow service classes, use this Skill to decide where the seam belongs, define a port with production and in-memory test adapters, and write tests at the new deep interface. ## Quick Start Ask the agent to review the payment module's interface using the codebase-design vocabulary and propose a deeper design with a seam and test adapters.