event-driven-design

Design event-driven architectures using event storming and pub/sub patterns.

Updated Mar 15, 2026
One-click install
npx skills add https://github.com/a53ali/ai-dev --skill event-driven-design-a53ali
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-driven-design
Source: https://github.com/a53ali/ai-dev/tree/main/skills/cross-cutting/event-driven-design
Command: npx skills add https://github.com/a53ali/ai-dev --skill event-driven-design-a53ali

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps engineers and managers design and implement event-driven systems, reducing coupling and improving system resilience through event storming, domain events, and pub/sub patterns.

Core Features & Use Cases

  • Event Storming: Collaborative technique for mapping domain events before coding.
  • Domain Event Design: Best practices for event schema and naming conventions.
  • Pub/Sub Architecture: Zero-coupling, high-performance communication pattern.
  • Anti-Patterns: Identifies common pitfalls and solutions for event-driven systems.
  • Decision Framework: Guides in choosing between choreography and orchestration.
  • Event Design Document: Template for documenting event-driven designs.

Quick Start

Apply event-driven design to your next project using the event-driven-design skill.

Frequently Asked Questions about event-driven-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is event-driven architecture and how does it decouple services?

Event-driven architecture decouples services by using pub/sub patterns and domain events for communication, enhancing system resilience and reducing direct dependencies between components. It enables independent service scaling and failure isolation.

How do I use event storming to map domain events before coding?

Event storming is a collaborative technique used to map domain events before coding. It helps teams model domain events, establish naming conventions, and design event schemas by visualizing the system's workflow and identifying bounded contexts.

Should I use choreography or orchestration for my event-driven system design?

Choosing between choreography and orchestration for event-driven system design depends on your workflow complexity. A decision framework helps evaluate whether decentralized event chaining or a central coordinator better suits your system's resilience and coupling requirements.

What are common event-driven architecture anti-patterns and how do I avoid them?

Common event-driven architecture anti-patterns include tight coupling through synchronous events and event schema rigidity. Avoid these by applying domain event design best practices, utilizing pub/sub for zero-coupling, and documenting designs with an event design document template.

When should I not use event-driven architecture for system communication?

You should not use event-driven architecture when system communication requires strict transactional consistency or when workflow logic is too simple to justify pub/sub overhead. In these cases, synchronous request-response models often provide better operational simplicity.