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.
npx claudepluginhub melodic-software/claude-code-plugins --plugin enterprise-architectureThis skill is limited to using the following tools:
Use AskUserQuestion to configure the event storming session:
Guides advanced Event Storming for process, design, and software levels using color-coded sticky notes, facilitation steps, and Brandolini's methodology. For deep domain modeling.
Runs event storming workshops to discover domain events, commands, aggregates, and bounded contexts. Useful for domain design, service boundaries, monolith-to-microservices migration, and event-sourced systems.
Guides AI-assisted domain storytelling with pictographic notation for actors, work objects, and activities. Use for requirements gathering, business workflows, onboarding, event storming.
Share bugs, ideas, or general feedback.
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