What problem does it solve? Teams lack a shared, precise vocabulary for discussing module design, leading to shallow abstractions, misplaced seams, and interfaces that are hard to test. This Skill standardizes terms like module, interface, seam, adapter, and depth so design, testing, and review discussions stay consistent. ## Core Features & Use Cases - Shared design glossary: Defines module, interface, implementation, adapter, depth, seam, leverage, and locality with explicit terms to avoid. - Deep vs shallow module guidance: Provides the deletion test, depth-as-leverage framing, and rules for when a seam is justified (two adapters, not one). - Testability and deepening references: Covers dependency injection patterns and a references/deepening.md guide classifying dependencies (in-process, local-substitutable, remote owned, true external) with a replace-don't-layer testing strategy. - Use Case: When reviewing whether to extract an interface for a new payment module, consult this Skill to decide if the seam is real, how deep the module should be, and how tests should cross the interface. ## Quick Start Ask the agent to review a module's interface using the codebase-design vocabulary and identify whether it is deep or shallow.