What problem does it solve? Aggregates often grow bloated because they hold both command-validation data and query-only data, causing slow loads, full-row updates, and tangled pagination logic. This Skill explains how CQRS and Event Sourcing let you shrink aggregates to the minimal state needed for command validation while delegating read responsibilities to a read model. ## Core Features & Use Cases - Aggregate boundary redefinition: Classify each aggregate field by whether command validation requires it, and move query-only data to the read model. - Lightweight aggregate design: Keep only ID lists and state flags in the aggregate, record changes as events, and build query-optimized read models from those events. - Use Case: A Thread aggregate holding 1000 full messages forces a 1001-row update for every new message. Applying this Skill, the aggregate keeps only member IDs and message IDs, appends a single MessageAdded event, and a read model serves paginated message queries. ## Quick Start Ask the AI to review an oversized aggregate and redesign it using CQRS so it keeps only the state needed for command validation.