事件风暴Skill event-storming

这是一个AI模拟的事件风暴工作坊技能,用于在软件开发过程中发现领域事件、命令、参与者和有界上下文。支持全模拟、快速和引导三种模式,帮助团队进行领域驱动设计(DDD)和架构规划。关键词包括事件风暴、DDD、软件架构、AI模拟、领域发现、工作坊、多角色、领域事件。

架构设计 0 次安装 0 次浏览 更新于 3/11/2026

名称: 事件风暴 描述: AI模拟的事件风暴工作坊,支持多角色。用于发现领域事件、命令、参与者和有界上下文。支持三种模式 - 全模拟(5个角色代理辩论)、快速(单次分析)和引导(与用户交互)。协调角色代理并综合结果。 参数提示: <领域描述> [–模式 全|快速|引导] [–目录 <路径>] 允许工具: 读取、写入、全局、搜索、技能、任务、询问用户问题

事件风暴

交互式工作坊配置

使用询问用户问题来配置事件风暴会话:

# 问题 1: 工作坊模式(MCP:事件风暴方法论)
question: "您需要哪种事件风暴模式?"
header: "模式"
options:
  - label: "全模拟(推荐)"
    description: "所有5个角色并行辩论,6个阶段(约15K tokens)"
  - label: "快速"
    description: "单次分析传递,无角色(约3K tokens)"
  - label: "引导"
    description: "与用户交互,按需调用角色"
  - label: "代码库分析"
    description: "从现有代码结构中发现事件"

# 问题 2: 领域范围(MCP:DDD有界上下文模式)
question: "您探索的领域有多复杂?"
header: "范围"
options:
  - label: "单一有界上下文"
    description: "一个领域区域,聚焦发现"
  - label: "多个上下文"
    description: "识别2-5个有界上下文边界"
  - label: "企业领域"
    description: "全面的跨领域映射"
  - label: "未知"
    description: "先帮助我确定范围"

使用这些响应来选择适当的工作坊模式并校准分析深度。

何时使用此技能

在以下情况下使用此技能:

  • 发现业务过程中的领域事件
  • 识别系统中的命令和参与者
  • 找到有界上下文边界
  • 模拟多利益相关者事件风暴工作坊
  • 为实际事件风暴引导做准备
  • 分析现有代码库以发现领域事件

关键词: 事件风暴、领域事件、命令、参与者、有界上下文、聚合、领域发现、工作坊模拟、多角色、DDD

什么是事件风暴?

事件风暴是一种基于工作坊的协作领域发现方法。参与者使用便签来映射:

  • 事件(橙色) - 在领域中发生的事情
  • 命令(蓝色) - 触发事件的动作
  • 参与者(黄色) - 谁发出命令
  • 聚合(黄色) - 处理命令的业务实体
  • 读取模型(绿色) - 决策所需的信息
  • 策略(紫色) - 业务规则和反应
  • 外部系统(粉色) - 外部集成
  • 热点(红色/粉色) - 困惑或冲突的区域

工作坊模式

此技能支持三种操作模式:

模式 描述 token 成本 使用案例
全模拟 所有5个角色并行辩论,6个阶段 约15K tokens 全面发现
快速 单次分析传递,无角色 约3K tokens 快速领域概述
引导 与用户交互,角色按需调用 可变 用户想要控制

模式选择指南

使用全模拟当:

  • 开始新项目或主要功能
  • 需要全面领域发现
  • 多个视角有价值
  • 时间不如彻底性关键

使用快速当:

  • 需要快速领域概述
  • token 预算有限
  • 领域相对简单
  • 稍后会细化

使用引导当:

  • 想要驱动过程
  • 有特定问题
  • 想要调用特定角色
  • 偏好交互式探索

多角色模拟

全模拟模式使用5个专门代理来模拟不同利益相关者视角:

角色代理 角色 视角 贡献
领域专家 主题专家 深度业务知识 领域事件、业务规则、边缘案例
开发者角色 技术实现 系统约束 技术事件、集成点
业务分析师 过程和需求 过程流 命令、参与者、验收标准
产品负责人 产品愿景 用户价值 优先级、MVP范围、用户故事
魔鬼代言人 挑战者 识别差距 热点、缺失场景、矛盾

6个工作坊阶段(全模拟)

阶段 1: 混乱探索

所有角色独立头脑风暴事件。无约束、无排序。

协调:

启动5个并行任务代理:
- 任务(事件风暴角色 领域专家, "为{领域}识别所有领域事件")
- 任务(事件风暴角色 开发者, "为{领域}识别技术事件")
- 任务(事件风暴角色 业务分析师, "为{领域}识别命令和参与者")
- 任务(事件风暴角色 产品负责人, "为{领域}确定优先级和MVP范围")
- 任务(事件风暴角色 魔鬼代言人, "为{领域}挑战和识别差距")

阶段 2: 时间线排序

综合并按时间顺序排序事件。创建时间线。

阶段 3: 命令发现

识别每个事件的触发因素。映射命令到事件。

阶段 4: 参与者识别

映射谁发出每个命令。定义角色和系统。

阶段 5: 有界上下文发现

分组相关事件/命令。识别自然边界。

阶段 6: 热点解决

魔鬼代言人挑战。解决冲突和差距。

详细阶段指导:references/workshop-facilitation.md

便签颜色约定

颜色 代表 示例
🟧 橙色 领域事件 “订单已下”、“付款已收”
🟦 蓝色 命令 “下订单”、“处理付款”
🟨 黄色(小) 参与者 “客户”、“管理员”、“系统”
🟨 黄色(大) 聚合 “订单”、“客户”、“产品”
🟩 绿色 读取模型 “订单摘要”、“产品目录”
🟪 紫色 策略 “当订单已下时,保留库存”
🟫 粉色 外部系统 “支付网关”、“邮件服务”
❗ 红色/粉色 热点 困惑或冲突的区域

详细约定:references/sticky-note-types.md

协调模式

由于Claude Code子代理无法生成其他子代理,主对话协调:

主对话
    ↓
调用事件风暴技能
    ↓
技能指导并行任务工具调用:
    ├── 任务(事件风暴角色 领域专家, 提示)
    ├── 任务(事件风暴角色 开发者, 提示)
    ├── 任务(事件风暴角色 业务分析师, 提示)
    ├── 任务(事件风暴角色 产品负责人, 提示)
    └── 任务(事件风暴角色 魔鬼代言人, 提示)
    ↓
技能用来源跟踪综合结果
    ↓
输出带有[角色]归属的事件目录

快速开始

全模拟模式

我想为电商订单管理系统运行全事件风暴模拟。

请:
1. 并行启动所有5个角色代理
2. 让他们分析领域
3. 综合他们的发现
4. 识别有界上下文
5. 解决任何热点

快速模式

给我订阅计费系统的快速事件风暴概述。
专注于核心顺利路径事件。

引导模式

让我们为医院预约系统进行引导事件风暴会话。
从患者预订旅程开始,我会从那里指导。

输出格式

事件风暴会话产生结构化事件目录:

# 事件风暴: [领域名称]

## 事件目录

### [有界上下文名称]

**事件:**
- [事件名称] [领域专家] - [描述]
- [事件名称] [开发者] - [描述]

**命令:**
- [命令名称] → [事件名称] [业务分析师]

**参与者:**
- [参与者名称]: [他们可以发出的命令]

**聚合:**
- [聚合名称]: [它产生的事件]

**策略:**
- [策略名称]: [触发] → [动作]

## 识别的有界上下文

1. [上下文名称]
   - 核心领域 / 支持 / 通用
   - [此上下文中的事件]

## 热点

- [问题] - [解决方案或待办事项]

完整模板:references/templates/event-storm-output.md

与其他技能的集成

事件风暴与以下技能连接:

  • 领域故事讲述 - 故事输入事件发现
  • 模块化架构 - 有界上下文成为模块
  • 适应度函数 - 模块隔离测试
  • ADR管理 - 文档化有界上下文决策

工作流:

领域故事讲述 → 事件风暴 → 模块化架构
(理解“什么”)   (设计“如何”)   (实现“在哪里”)

最佳实践

  1. 从事件开始 - 事件是事实,命令是可辩论的
  2. 使用过去时 - “订单已下” 而不是 “下订单”
  3. 探索边界 - 事件帮助找到模块边界
  4. 拥抱混乱 - 初始头脑风暴应该混乱
  5. 跟踪来源 - 知道每个洞察来自哪个视角
  6. 解决热点 - 不要留下未解决的冲突

参考

  • references/workshop-facilitation.md - 阶段协调和定时
  • references/persona-prompts.md - 每个角色的提示模板
  • references/sticky-note-types.md - 颜色约定和用法
  • references/bounded-context-discovery.md - 上下文识别模式
  • references/templates/event-storm-output.md - 带有来源的输出格式

面向用户的界面

当用户直接调用时,此技能运行AI模拟的事件风暴工作坊。

执行工作流

  1. 解析参数 - 提取领域描述和模式。如果未提供描述,询问用户要事件风暴哪个领域。默认模式是引导
  2. 基于模式执行:
    • 全模拟:并行启动5个角色代理(领域专家、开发者、业务分析师、产品负责人、魔鬼代言人)。用来源跟踪综合输出,合并事件目录,识别热点,并分组到有界上下文候选。
    • 快速:单次传递分析识别领域事件、命令、参与者和潜在有界上下文边界。
    • 引导:交互式6阶段工作坊(混乱探索、时间线排序、命令发现、参与者识别、有界上下文发现、热点解决)。
  3. 生成输出 - 产生带有领域事件、命令、有界上下文候选和热点的事件目录。
  4. 保存结果 - 保存到docs/event-storming/[领域名称]-[日期].md(或自定义--目录)。
  5. 建议后续 - 推荐领域故事讲述用于不明确过程,上下文映射用于集成策略,和ADR用于关键决策。

版本历史

  • v1.0.0 (2025-12-22): 初始发布
    • 5个代理的多角色模拟
    • 三种工作坊模式(全模拟、快速、引导)
    • 6阶段工作坊结构
    • 洞察来源跟踪
    • 与领域故事讲述和模块化架构集成

最后更新

日期: 2025-12-22 模型: claude-opus-4-5-20251101