What problem does it solve? Codebases accumulate shallow modules whose interfaces are nearly as complex as their implementations, spreading bugs and knowledge across callers and making code hard to test and navigate. This Skill surfaces that architectural friction and proposes deepening opportunities that consolidate behavior behind small, high-leverage interfaces. ## Core Features & Use Cases - Deepening Candidate Discovery: Explores the codebase with an Explore sub-agent, applies the deletion test, and presents a numbered list of refactoring candidates with files, problems, solutions, and benefits. - Shared Architecture Vocabulary: Enforces consistent terms (module, interface, depth, seam, adapter, leverage, locality) and integrates the project's domain language from docs/CONTEXT.md and decisions from docs/adr/. - Grilling Loop & Interface Design: Walks the design tree with the user, updates docs/CONTEXT.md, offers ADRs for rejected candidates, and spawns parallel sub-agents to design alternative interfaces (Design It Twice). - Use Case: A team notices that understanding order intake requires bouncing between six small files. The Skill identifies the cluster as shallow, proposes a single deep Order intake module, and designs its interface with dependency-aware testing strategy. ## Quick Start Ask the assistant to review this codebase for shallow modules and propose deepening opportunities using the improve-codebase-architecture skill.