What problem does it solve? It helps engineers decide how to structure in-process modules and packages so that callers learn less, policy changes stay local, and shallow pass-through abstractions are identified and consolidated. ## Core Features & Use Cases - Deep module design: Define a cohesive responsibility, inventory the full caller-facing contract burden, and hide decisions behind a small stable interface. - Deepening and migration guidance: Use the deepening reference to classify dependencies, justify seams, and migrate existing modules safely with behavior tests. - Design It Twice comparison: Generate and compare genuinely different contract shapes against the same scenarios before committing to a consequential design. - Use Case: When several callers duplicate the same orchestration and provider knowledge, use this Skill to propose a consolidated module contract, its seams, and the behavior tests that should survive refactoring. ## Quick Start Ask the assistant to use codebase-design to evaluate whether a set of modules should be combined or split and to propose the resulting public contract.