From grimoire
Designs event-driven systems with event sourcing and CQRS patterns, including event identification, schema design, transport selection, and versioning.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:design-event-driven-systemThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Design systems where components communicate via immutable events, enabling loose coupling, auditability, and temporal decoupling.
Design systems where components communicate via immutable events, enabling loose coupling, auditability, and temporal decoupling.
Adopted by: LinkedIn (Kafka origin), Uber, Airbnb, AWS (EventBridge), Martin Fowler's canonical patterns Impact: LinkedIn's move to event-driven with Kafka handled 7 trillion messages/day; event sourcing provides a complete audit log by construction, eliminating a common compliance requirement.
Why best: Events as first-class citizens decouple producers from consumers in time and space. Event sourcing makes the audit log the source of truth. CQRS separates read and write models, allowing each to scale and evolve independently.
OrderPlaced, PaymentFailed).Order saga (choreography):
OrderService publishes OrderPlaced.InventoryService listens → reserves stock → publishes StockReserved.PaymentService listens → charges → publishes PaymentConfirmed.OrderService listens → marks order Confirmed.No orchestrator; each service reacts to events independently.
GetUserRequest as an event defeats the purpose; use synchronous calls for queries.npx claudepluginhub jeffreytse/grimoire --plugin grimoireDesigns event-driven architectures for loose coupling, async processing, and real-time data propagation. Covers domain event modeling, streaming platforms, schema design, and the outbox pattern.
Design systems that communicate through events instead of direct service calls. Use when building loosely-coupled, scalable, and resilient architectures.
Designs event-sourced systems with CQRS, event stores, projections, sagas, snapshotting, and eventual consistency. Use for audit trails, temporal queries, and complex domain modeling.