What problem does it solve? It helps engineers decide how to structure in-process modules and packages so that callers learn less, policy changes concentrate in one owner, and shallow pass-through layers or god modules are avoided. ## Core Features & Use Cases - Deep module design: Define a cohesive responsibility, inventory the full caller-facing contract burden (types, invariants, ordering, errors, effects, performance), and hide decisions behind a small stable interface. - Deepening and migration guidance: Use the references to consolidate duplicated policy, classify dependencies by ownership, trust, consistency, and test fidelity, and migrate safely with behavior tests and temporary compatibility facades. - Design It Twice comparison: Generate genuinely different contract alternatives, compare them against the same caller scenarios, and recommend one with explicit trade-offs. - Use Case: When several callers repeat the same validation, sequencing, and provider mapping logic, use this Skill to design one module that owns that policy, specify its contract and seams, and plan the incremental migration. ## Quick Start Ask the agent to use codebase-design to propose a module contract for the duplicated checkout-pricing logic spread across the order and invoice services.