What problem does it solve? Shallow wrappers and pass-through modules leak complexity across every call site, making shipped React/Next/TypeScript code hard to navigate, test, and safely edit — especially for AI agents that must load the interface as context before making changes. ## Core Features & Use Cases - Deep-module vocabulary and tests: Applies a shared glossary (module, interface, depth, seam, adapter, leverage, locality) plus the deletion test and two-adapter rule to decide whether to deepen, split, or delete a module. - Dependency-driven test strategy: Classifies dependencies (in-process, local-substitutable, remote-but-owned, true external) and maps each to a concrete testing approach using ports, in-memory adapters, and Testing Library. - Divergent interface exploration: Compares multiple interface shapes under different constraints before committing, then replaces old unit tests with tests at the new interface. - Use Case: A hook like useBookings calls fetch directly and every caller rebuilds URLs, auth headers, and error handling. This Skill reshapes it into a BookingsPort interface with HTTP and in-memory adapters, so one edit updates every screen. ## Quick Start Ask the AI to apply codebase-design to reshape a shallow wrapper or hook in your shipped Next.js app into a deep module with a small interface and injected dependencies.