What problem does it solve? Teams often build software where business logic leaks into infrastructure, ownership of business areas is unclear, and fuzzy aggregate boundaries create tech debt that spreads across the whole system. This Skill produces a structured Domain Model artifact that makes boundaries, ownership, and invariants explicit before implementation begins. ## Core Features & Use Cases - Bounded Context Definition: Names each context with its responsibility and owner, aligning services to business domains per Conway's Law. - Aggregate & Invariant Modeling: Captures aggregates, entities, value objects, and the invariants that must always hold (e.g., wallet balance ≥ 0). - Command/Event Separation: Distinguishes commands (intent, may be rejected) from events (facts, already happened) per context. - Use Case: When designing a wallet top-up feature, use this Skill to define the Wallet and Ledger contexts, the Wallet aggregate with its balance invariant, the TopUpWallet command, and the WalletToppedUp event — with an explicit note that payment-provider clients stay in infrastructure. ## Quick Start Ask the agent to define the domain model with bounded contexts, aggregates, and events for your feature or business area.