event-storming
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseEvent Storming
Event Storming
Interactive Workshop Configuration
交互式工作坊配置
Use AskUserQuestion to configure the event storming session:
yaml
undefined使用AskUserQuestion来配置Event Storming会话:
yaml
undefinedQuestion 1: Workshop Mode (MCP: Event Storming methodology)
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: "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 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.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"
根据这些回复选择合适的工作坊模式并调整分析深度。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
在以下场景中使用本技能:
- 为业务流程发现领域事件
- 识别系统中的命令与参与者
- 寻找限界上下文边界
- 模拟多利益相关者的Event Storming工作坊
- 为实际Event Storming引导做准备
- 分析现有代码库以发现领域事件
关键词: event storming, domain events, commands, actors, bounded contexts, aggregates, domain discovery, workshop simulation, multi-persona, DDD
What is Event Storming?
什么是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
Event Storming是一种基于工作坊的协作式领域发现方法。参与者使用便利贴绘制以下内容:
- 事件(橙色)- 领域中发生的事情
- 命令(蓝色)- 触发事件的动作
- 参与者(黄色)- 发出命令的角色
- 聚合根(黄色大便利贴)- 处理命令的业务实体
- 查询模型(绿色)- 决策所需的信息
- 策略(紫色)- 业务规则与响应逻辑
- 外部系统(粉色)- 外部集成服务
- 热点(红/粉色)- 存在困惑或冲突的区域
Workshop Modes
工作坊模式
This skill supports three modes of operation:
| Mode | Description | Token Cost | Use Case |
|---|---|---|---|
| All 5 personas debate in parallel, 6 phases | ~15K tokens | Comprehensive discovery |
| Single analysis pass, no personas | ~3K tokens | Quick domain overview |
| Interactive with user, personas on-demand | Variable | User wants control |
本技能支持三种操作模式:
| 模式 | 描述 | Token成本 | 使用场景 |
|---|---|---|---|
| 5个角色并行讨论,共6个阶段 | ~15000 tokens | 全面领域发现 |
| 单次分析,无角色模拟 | ~3000 tokens | 快速领域概览 |
| 与用户交互,按需调用角色 | 可变 | 用户希望掌控流程 |
Mode Selection Guide
模式选择指南
Use when:
full-simulation- Starting a new project or major feature
- You need comprehensive domain discovery
- Multiple perspectives are valuable
- Time is less critical than thoroughness
Use when:
quick- You need a fast domain overview
- Token budget is constrained
- Domain is relatively simple
- You'll refine later
Use when:
guided- You want to drive the process
- You have specific questions
- You want to invoke specific personas
- Interactive exploration is preferred
选择当:
full-simulation- 启动新项目或重大功能
- 需要全面的领域发现
- 多视角分析很有价值
- 时间充裕,更看重分析彻底性
选择当:
quick- 需要快速的领域概览
- Token预算有限
- 领域相对简单
- 后续会进行细化分析
选择当:
guided- 希望主导流程
- 有特定问题需要解答
- 希望调用特定角色
- 偏好交互式探索
Multi-Persona Simulation
多角色模拟
The full-simulation mode uses 5 specialized agents to simulate different stakeholder perspectives:
| Persona Agent | Role | Perspective | Contributions |
|---|---|---|---|
| Subject Matter Expert | Deep business knowledge | Domain events, business rules, edge cases |
| Technical Implementation | System constraints | Technical events, integration points |
| Process & Requirements | Process flow | Commands, actors, acceptance criteria |
| Product Vision | User value | Priorities, MVP scope, user stories |
| Challenger | Identify gaps | Hot spots, missing scenarios, contradictions |
全模拟模式使用5个专业Agent来模拟不同利益相关者的视角:
| 角色Agent | 角色 | 视角 | 贡献 |
|---|---|---|---|
| 领域专家 | 深入的业务知识 | 领域事件、业务规则、边缘场景 |
| 技术实现人员 | 系统约束 | 技术事件、集成点 |
| 流程与需求分析师 | 业务流程 | 命令、参与者、验收标准 |
| 产品负责人 | 用户价值 | 优先级、MVP范围、用户故事 |
| 挑刺者 | 发现漏洞 | 热点、缺失场景、矛盾点 |
6 Workshop Phases (Full Simulation)
6个工作坊阶段(全模拟)
Phase 1: Chaotic Exploration
阶段1:混沌探索
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}")所有角色独立头脑风暴事件,无约束、无顺序要求。
编排逻辑:
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
阶段2:时间线排序
Synthesize and order events chronologically. Create the timeline.
综合并按时间顺序排列事件,创建时间线。
Phase 3: Command Discovery
阶段3:命令发现
Identify what triggers each event. Map commands to events.
识别每个事件的触发因素,将命令与事件关联。
Phase 4: Actor Identification
阶段4:参与者识别
Map who issues each command. Define roles and systems.
映射发出每个命令的角色,定义角色与系统。
Phase 5: Bounded Context Discovery
阶段5:限界上下文发现
Group related events/commands. Identify natural boundaries.
对相关事件/命令进行分组,识别自然边界。
Phase 6: Hot Spot Resolution
阶段6:热点解决
Devil's advocate challenges. Resolve conflicts and gaps.
Detailed phase guidance: See
references/workshop-facilitation.md挑刺者提出质疑,解决冲突与漏洞。
详细阶段指南: 参见
references/workshop-facilitation.mdSticky 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| 颜色 | 代表内容 | 示例 |
|---|---|---|
| 🟧 橙色 | 领域事件 | "订单已提交"、"付款已收到" |
| 🟦 蓝色 | 命令 | "提交订单"、"处理付款" |
| 🟨 黄色(小) | 参与者 | "客户"、"管理员"、"系统" |
| 🟨 黄色(大) | 聚合根 | "订单"、"客户"、"产品" |
| 🟩 绿色 | 查询模型 | "订单摘要"、"产品目录" |
| 🟪 紫色 | 策略 | "当订单提交时,预留库存" |
| 🟫 粉色 | 外部系统 | "支付网关"、"邮件服务" |
| ❗ 红/粉色 | 热点 | 存在困惑或冲突的区域 |
详细规范: 参见
references/sticky-note-types.mdOrchestration 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由于Claude Code子Agent无法生成其他子Agent,由主对话负责编排:
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] attributionQuick 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 spotsmarkdown
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 spotsQuick Mode
快速模式
markdown
Give me a quick event storm overview for a subscription billing system.
Focus on the core happy path events.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.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
undefinedEvent Storming会话会生成结构化的事件目录:
markdown
undefinedEvent Storm: [Domain Name]
Event Storm: [Domain Name]
Event Catalog
Event Catalog
[Bounded Context Name]
[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]
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
Bounded Contexts Identified
- [Context Name]
- Core Domain / Supporting / Generic
- [Events in this context]
- [Context Name]
- Core Domain / Supporting / Generic
- [Events in this context]
Hot Spots
Hot Spots
- [Issue] - [Resolution or TODO]
**Full template:** See `references/templates/event-storm-output.md`- [Issue] - [Resolution or TODO]
**完整模板:** 参见`references/templates/event-storm-output.md`Integration with Other Skills
与其他技能的集成
Event storming connects with:
- domain-storytelling - Stories feed into event discovery
- modular-architecture - Bounded contexts become modules
- fitness-functions - Module isolation tests
- adr-management - Document bounded context decisions
Workflow:
text
Domain Storytelling → Event Storming → Modular Architecture
(understand "what") (design "how") (implement "where")Event Storming可与以下技能集成:
- domain-storytelling - 领域故事为事件发现提供输入
- modular-architecture - 限界上下文可作为模块基础
- fitness-functions - 模块隔离测试
- adr-management - 记录限界上下文决策
工作流:
text
Domain Storytelling → Event Storming → Modular Architecture
(理解“是什么”) (设计“怎么做”) (实现“在哪里”)Best Practices
最佳实践
- Start with events - Events are facts, commands are debatable
- Use past tense - "Order Placed" not "Place Order"
- Explore boundaries - Events help find module boundaries
- Embrace chaos - Initial brainstorming should be messy
- Track provenance - Know which perspective each insight came from
- Resolve hot spots - Don't leave conflicts unaddressed
- 从事件开始 - 事件是事实,命令存在争议
- 使用过去式 - 如“订单已提交”而非“提交订单”
- 探索边界 - 事件有助于发现模块边界
- 接纳混沌 - 初始头脑风暴应保持开放
- 跟踪来源 - 记录每个见解的视角来源
- 解决热点 - 不要遗留冲突与漏洞
References
参考资料
- - Phase orchestration and timing
references/workshop-facilitation.md - - Prompt templates for each persona
references/persona-prompts.md - - Color conventions and usage
references/sticky-note-types.md - - Context identification patterns
references/bounded-context-discovery.md - - Output format with provenance
references/templates/event-storm-output.md
- - 阶段编排与时间规划
references/workshop-facilitation.md - - 各角色的提示词模板
references/persona-prompts.md - - 便利贴类型与规范
references/sticky-note-types.md - - 上下文识别模式
references/bounded-context-discovery.md - - 带来源跟踪的输出模板
references/templates/event-storm-output.md
Version History
版本历史
- v1.0.0 (2025-12-22): Initial release
- Multi-persona simulation with 5 agents
- Three workshop modes (full, quick, guided)
- 6-phase workshop structure
- Provenance tracking for insights
- Integration with domain-storytelling and modular-architecture
- v1.0.0 (2025-12-22): 初始版本
- 支持5个Agent的多角色模拟
- 三种工作坊模式(全模拟、快速、引导式)
- 6阶段工作坊结构
- 见解来源跟踪
- 与domain-storytelling和modular-architecture集成
Last Updated
最后更新
Date: 2025-12-22
Model: claude-opus-4-5-20251101
日期: 2025-12-22
模型: claude-opus-4-5-20251101