Simulates event storming workshops with multi-persona agents to discover domain events, commands, actors, and bounded contexts. Use full-simulation, quick, or guided modes for domain modeling.
How this skill is triggered — by the user, by Claude, or both
Slash command
/enterprise-architecture:event-stormingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use AskUserQuestion to configure the event storming session:
Use AskUserQuestion to configure the event storming session:
# Question 1: Workshop Mode (MCP: Event Storming methodology)
question: "Which event storming mode do you need?"
header: "Mode"
options:
- label: "Full Simulation (Recommended)"
description: "All 5 personas debate in parallel, 6 phases (~15K tokens)"
- label: "Quick"
description: "Single analysis pass, no personas (~3K tokens)"
- label: "Guided"
description: "Interactive with user, personas on-demand"
- label: "Codebase Analysis"
description: "Discover events from existing code structure"
# Question 2: Domain Scope (MCP: DDD bounded context patterns)
question: "How complex is the domain you're exploring?"
header: "Scope"
options:
- label: "Single Bounded Context"
description: "One domain area, focused discovery"
- label: "Multiple Contexts"
description: "Identify 2-5 bounded context boundaries"
- label: "Enterprise Domain"
description: "Comprehensive cross-domain mapping"
- label: "Unknown"
description: "Help me determine scope first"
Use these responses to select the appropriate workshop mode and calibrate depth of analysis.
Use this skill when you need to:
Keywords: event storming, domain events, commands, actors, bounded contexts, aggregates, domain discovery, workshop simulation, multi-persona, DDD
Event Storming is a workshop-based method for collaborative domain discovery. Participants use sticky notes to map out:
This skill supports three modes of operation:
| Mode | Description | Token Cost | Use Case |
|---|---|---|---|
full-simulation | All 5 personas debate in parallel, 6 phases | ~15K tokens | Comprehensive discovery |
quick | Single analysis pass, no personas | ~3K tokens | Quick domain overview |
guided | Interactive with user, personas on-demand | Variable | User wants control |
Use full-simulation when:
Use quick when:
Use guided when:
The full-simulation mode uses 5 specialized agents to simulate different stakeholder perspectives:
| Persona Agent | Role | Perspective | Contributions |
|---|---|---|---|
domain-expert | Subject Matter Expert | Deep business knowledge | Domain events, business rules, edge cases |
developer-persona | Technical Implementation | System constraints | Technical events, integration points |
business-analyst | Process & Requirements | Process flow | Commands, actors, acceptance criteria |
product-owner | Product Vision | User value | Priorities, MVP scope, user stories |
devils-advocate | Challenger | Identify gaps | Hot spots, missing scenarios, contradictions |
All personas brainstorm events independently. No constraints, no ordering.
Orchestration:
Launch 5 parallel Task agents:
- Task(event-storming-persona domain-expert, "Identify all domain events for: {domain}")
- Task(event-storming-persona developer, "Identify technical events for: {domain}")
- Task(event-storming-persona business-analyst, "Identify commands and actors for: {domain}")
- Task(event-storming-persona product-owner, "Prioritize and identify MVP scope for: {domain}")
- Task(event-storming-persona devils-advocate, "Challenge and identify gaps for: {domain}")
Synthesize and order events chronologically. Create the timeline.
Identify what triggers each event. Map commands to events.
Map who issues each command. Define roles and systems.
Group related events/commands. Identify natural boundaries.
Devil's advocate challenges. Resolve conflicts and gaps.
Detailed phase guidance: See references/workshop-facilitation.md
| Color | Represents | Example |
|---|---|---|
| 🟧 Orange | Domain Event | "Order Placed", "Payment Received" |
| 🟦 Blue | Command | "Place Order", "Process Payment" |
| 🟨 Yellow (small) | Actor | "Customer", "Admin", "System" |
| 🟨 Yellow (large) | Aggregate | "Order", "Customer", "Product" |
| 🟩 Green | Read Model | "Order Summary", "Product Catalog" |
| 🟪 Purple | Policy | "When order placed, reserve inventory" |
| 🟫 Pink | External System | "Payment Gateway", "Email Service" |
| ❗ Red/Pink | Hot Spot | Areas of confusion or conflict |
Detailed conventions: See references/sticky-note-types.md
Since Claude Code subagents cannot spawn other subagents, the main conversation orchestrates:
Main Conversation
↓
Invokes event-storming skill
↓
Skill guides parallel Task tool calls:
├── Task(event-storming-persona domain-expert, prompt)
├── Task(event-storming-persona developer, prompt)
├── Task(event-storming-persona business-analyst, prompt)
├── Task(event-storming-persona product-owner, prompt)
└── Task(event-storming-persona devils-advocate, prompt)
↓
Skill synthesizes results with provenance tracking
↓
Outputs event catalog with [persona] attribution
I want to run a full event storming simulation for an e-commerce order management system.
Please:
1. Launch all 5 persona agents in parallel
2. Have them analyze the domain
3. Synthesize their findings
4. Identify bounded contexts
5. Resolve any hot spots
Give me a quick event storm overview for a subscription billing system.
Focus on the core happy path events.
Let's do a guided event storming session for a hospital appointment system.
Start with the patient booking journey and I'll guide from there.
The event storming session produces a structured event catalog:
# Event Storm: [Domain Name]
## Event Catalog
### [Bounded Context Name]
**Events:**
- [Event Name] [Domain Expert] - [Description]
- [Event Name] [Developer] - [Description]
**Commands:**
- [Command Name] → [Event Name] [Business Analyst]
**Actors:**
- [Actor Name]: [Commands they can issue]
**Aggregates:**
- [Aggregate Name]: [Events it produces]
**Policies:**
- [Policy Name]: [Trigger] → [Action]
## Bounded Contexts Identified
1. [Context Name]
- Core Domain / Supporting / Generic
- [Events in this context]
## Hot Spots
- [Issue] - [Resolution or TODO]
Full template: See references/templates/event-storm-output.md
Event storming connects with:
Workflow:
Domain Storytelling → Event Storming → Modular Architecture
(understand "what") (design "how") (implement "where")
references/workshop-facilitation.md - Phase orchestration and timingreferences/persona-prompts.md - Prompt templates for each personareferences/sticky-note-types.md - Color conventions and usagereferences/bounded-context-discovery.md - Context identification patternsreferences/templates/event-storm-output.md - Output format with provenanceWhen invoked directly by the user, this skill runs an AI-simulated event storming workshop.
guided.docs/event-storming/[domain-name]-[date].md (or custom --dir).Date: 2025-12-22 Model: claude-opus-4-5-20251101
npx claudepluginhub melodic-software/claude-code-plugins --plugin enterprise-architectureGuides advanced Event Storming for process, design, and software levels using color-coded sticky notes, facilitation steps, and Brandolini's methodology. For deep domain modeling.
Guides AI-assisted domain storytelling with pictographic notation for actors, work objects, and activities. Use for requirements gathering, business workflows, onboarding, event storming.