What problem does it solve? Event Sourcing and CQRS systems fail in predictable ways: bloated write-side state, impure appliers that break replay, events that lose business intent, and enum ordinals that silently corrupt stored streams. This Skill encodes the design heuristics from Greg Young, Alexey Zimarev, and Microsoft's Azure Architecture patterns so those mistakes are caught at design time. ## Core Features & Use Cases - Write-side design: Command naming in imperative tense, application service Load-Execute-Save orchestration, minimal IHoldState interfaces, and focused state slices per command handler. - Event and aggregate design: Past-tense intent-capturing events, Apply vs Load aggregate modes, EnsureValidState invariants, optimistic concurrency via stream versions, and reversal transactions instead of deletes. - Schema evolution and projections: Greg Young's migration ladder (weak schema, upcasting, double publish, copy-replace, copy-transform, versioning bankruptcy), safe enum encoding on the wire, and rebuildable idempotent projections with checkpointing. - Use Case: When reviewing an applier that calls DateTime.Now or deciding whether ProductName belongs in write-side state or the event payload, this Skill gives the correct rule and a code example. ## Quick Start Ask Claude to review your event-sourced aggregate, command handler, or event schema migration plan against CQRS and Event Sourcing principles.