event-storming
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.
What this skill does
# Event Storming
## Interactive Workshop Configuration
Use AskUserQuestion to configure the event storming session:
```yaml
# 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.
## When to Use This Skill
Use this skill when you need to:
- Discover domain events for a business process
- Identify commands and actors in a system
- Find bounded context boundaries
- Simulate a multi-stakeholder event storming workshop
- Prepare for actual event storming facilitation
- Analyze an existing codebase for domain events
**Keywords:** event storming, domain events, commands, actors, bounded contexts, aggregates, domain discovery, workshop simulation, multi-persona, DDD
## What is Event Storming?
Event Storming is a workshop-based method for collaborative domain discovery. Participants use sticky notes to map out:
- **Events** (Orange) - Things that happen in the domain
- **Commands** (Blue) - Actions that trigger events
- **Actors** (Yellow) - Who issues commands
- **Aggregates** (Yellow) - Business entities that handle commands
- **Read Models** (Green) - Information needed for decisions
- **Policies** (Purple) - Business rules and reactions
- **External Systems** (Pink) - Outside integrations
- **Hot Spots** (Red/Pink) - Areas of confusion or conflict
## Workshop Modes
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 |
### Mode Selection Guide
**Use `full-simulation` when:**
- Starting a new project or major feature
- You need comprehensive domain discovery
- Multiple perspectives are valuable
- Time is less critical than thoroughness
**Use `quick` when:**
- You need a fast domain overview
- Token budget is constrained
- Domain is relatively simple
- You'll refine later
**Use `guided` when:**
- You want to drive the process
- You have specific questions
- You want to invoke specific personas
- Interactive exploration is preferred
## Multi-Persona Simulation
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 |
## 6 Workshop Phases (Full Simulation)
### Phase 1: Chaotic Exploration
All personas brainstorm events independently. No constraints, no ordering.
**Orchestration:**
```markdown
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}")
```
### Phase 2: Timeline Ordering
Synthesize and order events chronologically. Create the timeline.
### Phase 3: Command Discovery
Identify what triggers each event. Map commands to events.
### Phase 4: Actor Identification
Map who issues each command. Define roles and systems.
### Phase 5: Bounded Context Discovery
Group related events/commands. Identify natural boundaries.
### Phase 6: Hot Spot Resolution
Devil's advocate challenges. Resolve conflicts and gaps.
**Detailed phase guidance:** See `references/workshop-facilitation.md`
## Sticky Note Color Convention
| 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`
## Orchestration Pattern
Since Claude Code subagents cannot spawn other subagents, the main conversation orchestrates:
```text
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
```
## Quick Start
### Full Simulation Mode
```markdown
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
```
### Quick Mode
```markdown
Give me a quick event storm overview for a subscription billing system.
Focus on the core happy path events.
```
### Guided Mode
```markdown
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.
```
## Output Format
The event storming session produces a structured event catalog:
```markdown
# 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`
## Integration with Other Skills
Event storming connects with:
- **domain-storytelling** - Stories feed intoRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.