AI-simulated event storming workshop with multi-persona support. Use when discovering domain events, commands, actors, and bounded contexts. Supports three modes - full-simulation (5 persona agents debate), quick (single-pass analysis), and guided (interactive with user). Orchestrates persona agents and synthesizes results.
This skill is limited to using the following tools:
references/bounded-context-discovery.mdreferences/persona-prompts.mdreferences/sticky-note-types.mdreferences/templates/event-storm-output.mdreferences/workshop-facilitation.mdUse 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(domain-expert, "Identify all domain events for: {domain}")
- Task(developer-persona, "Identify technical events for: {domain}")
- Task(business-analyst, "Identify commands and actors for: {domain}")
- Task(product-owner, "Prioritize and identify MVP scope for: {domain}")
- Task(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(domain-expert, prompt)
├── Task(developer-persona, prompt)
├── Task(business-analyst, prompt)
├── Task(product-owner, prompt)
└── Task(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 provenanceDate: 2025-12-22 Model: claude-opus-4-5-20251101