domain-storytelling
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDomain Storytelling Skill
Domain Storytelling Skill
Overview
概述
Domain Storytelling is a collaborative modeling technique that captures business processes through pictographic stories. This skill guides AI-assisted domain storytelling sessions that can feed into event storming and bounded context discovery.
Key Principle: Stories are told from the perspective of domain experts, using their language and understanding.
Domain Storytelling是一种协作建模技术,通过象形故事来捕捉业务流程。本Skill可指导AI辅助的Domain Storytelling会话,其成果可用于event storming和bounded context发现。
核心原则:故事从领域专家的视角出发,使用他们的语言和认知来讲述。
When to Use This Skill
适用场景
Keywords: domain storytelling, pictographic, actors, work objects, activities, AS-IS, TO-BE, business workflow, domain modeling, story collection, bounded context discovery, requirements gathering
Use this skill when:
- Gathering requirements from domain experts
- Understanding existing business workflows (AS-IS)
- Designing future state processes (TO-BE)
- Onboarding team members to a domain
- Preparing for event storming sessions
- Identifying bounded context candidates
- Building a ubiquitous language glossary
关键词:domain storytelling、象形化、参与者、工作对象、活动、AS-IS、TO-BE、业务工作流、领域建模、故事收集、bounded context发现、需求收集
在以下场景使用本Skill:
- 从领域专家处收集需求
- 梳理现有业务工作流(AS-IS)
- 设计未来状态流程(TO-BE)
- 帮助团队成员快速熟悉业务领域
- 为event storming会话做准备
- 识别bounded context候选对象
- 构建通用语言术语表
Story Types
故事类型
AS-IS Stories
AS-IS故事
Document how things work today:
- Current state processes
- Existing pain points
- Workarounds and exceptions
- Real behavior (not idealized)
When to use: Understanding current state, identifying problems, baseline before changes.
记录当前的运作方式:
- 当前状态流程
- 现存痛点
- 变通方案与异常情况
- 实际行为(非理想化)
适用场景:了解当前状态、识别问题、作为变更前的基准。
TO-BE Stories
TO-BE故事
Document how things should work:
- Desired future state
- Improved processes
- New capabilities
- Idealized flow (but achievable)
When to use: Requirements gathering, designing solutions, communicating vision.
记录理想的运作方式:
- 期望的未来状态
- 优化后的流程
- 新增能力
- 理想化但可实现的流程
适用场景:需求收集、解决方案设计、愿景传达。
Pictographic Language
象形语言
Domain Storytelling uses simple pictographic elements:
| Element | Symbol | Description |
|---|---|---|
| Actor | 🧑 (stick figure) | Person or system that performs activities |
| Work Object | 📄 (document) | Data, documents, or physical items exchanged |
| Activity | ➡️ (arrow with verb) | Action performed by an actor |
| Sequence | ① ② ③ | Numbered order of activities |
| Annotation | 💬 (note) | Additional context or explanation |
Detailed notation guide: See
references/pictographic-notation.mdDomain Storytelling使用简单的象形元素:
| 元素 | 符号 | 描述 |
|---|---|---|
| 参与者(Actor) | 🧑(简笔画人物) | 执行活动的人员或系统 |
| 工作对象(Work Object) | 📄(文档) | 交换的数据、文档或实物 |
| 活动(Activity) | ➡️(带动词的箭头) | 参与者执行的动作 |
| 顺序(Sequence) | ① ② ③ | 活动的编号顺序 |
| 注释(Annotation) | 💬(便签) | 额外的上下文或说明 |
详细符号指南:请查看
references/pictographic-notation.mdAI-Assisted Story Collection Protocol
AI辅助故事收集流程
Phase 1: Story Collection
阶段1:故事收集
Goal: Gather the narrative from the user in their own words.
Prompts:
- "Tell me about a typical [process] from start to finish"
- "Walk me through what happens when [trigger event]"
- "Who is involved and what do they do?"
Capture:
- Who does what (actors and activities)
- What they work with (work objects)
- In what order (sequence)
- Any variations or exceptions
目标:用用户自己的语言收集完整叙事。
提示语:
- "请告诉我一个从开始到结束的典型[流程]"
- "请带我梳理[触发事件]发生后的整个过程"
- "涉及哪些角色,他们分别做什么?"
需捕捉的信息:
- 谁做了什么(参与者和活动)
- 他们处理的对象(工作对象)
- 执行顺序
- 任何变体或异常情况
Phase 2: Story Refinement
阶段2:故事细化
Goal: Explore edge cases and variations.
Prompts:
- "What happens if [X] fails or is unavailable?"
- "Are there any special cases or exceptions?"
- "What's the most common path vs rare paths?"
- "What frustrates you about this process?"
Capture:
- Alternative flows
- Error handling
- Pain points
- Implicit knowledge
目标:探索边缘场景和流程变体。
提示语:
- "如果[X]失败或不可用,会发生什么?"
- "有没有特殊情况或异常场景?"
- "最常见的流程路径和罕见路径分别是什么?"
- "这个流程中最让你困扰的点是什么?"
需捕捉的信息:
- 备选流程
- 错误处理方式
- 痛点
- 隐性知识
Phase 3: Actor Identification
阶段3:参与者识别
Goal: Map all participants in the story.
Prompts:
- "Who else is involved that we haven't mentioned?"
- "Are there any systems or external parties?"
- "Who approves, reviews, or audits?"
Capture:
- Human actors (by role, not name)
- System actors (internal and external)
- Actor responsibilities
目标:梳理故事中所有的参与角色。
提示语:
- "还有哪些我们没提到的参与者?"
- "有没有涉及系统或外部合作方?"
- "谁负责审批、审核或审计?"
需捕捉的信息:
- 人类参与者(按角色,而非姓名)
- 系统参与者(内部和外部)
- 参与者的职责
Phase 4: Work Object Cataloging
阶段4:工作对象分类
Goal: Identify all data and documents exchanged.
Prompts:
- "What information is passed between actors?"
- "What documents or forms are used?"
- "What data is created, updated, or referenced?"
Capture:
- Documents and forms
- Data entities
- Physical items (if applicable)
- Work object lifecycle
目标:识别所有交换的数据和文档。
提示语:
- "参与者之间传递的是什么信息?"
- "使用了哪些文档或表单?"
- "创建、更新或引用了哪些数据?"
需捕捉的信息:
- 文档和表单
- 数据实体
- 实物(如有)
- 工作对象的生命周期
Phase 5: Boundary Discovery
阶段5:边界发现
Goal: Find bounded context candidates.
Analysis:
- Where does terminology change?
- Which actors work together closely?
- What work objects belong together?
- Where are the natural handoff points?
Output: Potential bounded context candidates for event storming.
Detailed boundary discovery: See
references/boundary-discovery.md目标:找出bounded context候选对象。
分析维度:
- 术语发生变化的节点
- 哪些参与者协作紧密
- 哪些工作对象属于同一组
- 自然的工作交接点在哪里
输出:可用于event storming的潜在bounded context候选对象。
详细边界发现方法:请查看
references/boundary-discovery.mdStory Output Format
故事输出格式
Text Representation
文本表示
markdown
undefinedmarkdown
undefinedDomain Story: [Story Name]
Domain Story: [故事名称]
Type: AS-IS | TO-BE
Domain: [Domain Name]
Date: YYYY-MM-DD
类型: AS-IS | TO-BE
领域: [领域名称]
日期: YYYY-MM-DD
Narrative Summary
叙事摘要
[2-3 sentence plain language summary]
[2-3句平实语言的摘要]
Story Sequence
故事流程
① Customer submits Order Form to Sales Rep
② Sales Rep validates Order Form using Product Catalog
③ Sales Rep creates Order in Order System
④ Order System notifies Warehouse with Pick List
⑤ Warehouse Staff picks items using Pick List
...
① 客户提交订单表单给销售代表
② 销售代表使用产品目录验证订单表单
③ 销售代表在订单系统中创建订单
④ 订单系统向仓库发送拣货清单通知
⑤ 仓库员工根据拣货清单拣选商品
...
Actors
参与者
| Actor | Type | Responsibilities |
|---|---|---|
| Customer | Human (External) | Initiates orders |
| Sales Rep | Human (Internal) | Validates and enters orders |
| Order System | System (Internal) | Order management |
| Warehouse | System (Internal) | Inventory and fulfillment |
| 参与者 | 类型 | 职责 |
|---|---|---|
| 客户 | 外部人类 | 发起订单 |
| 销售代表 | 内部人类 | 验证并录入订单 |
| 订单系统 | 内部系统 | 订单管理 |
| 仓库 | 内部系统 | 库存与履约 |
Work Objects
工作对象
| Work Object | Type | Used By | Description |
|---|---|---|---|
| Order Form | Document | Customer, Sales Rep | Customer order request |
| Product Catalog | Reference | Sales Rep | Available products |
| Order | Data | Order System | Validated order record |
| Pick List | Document | Warehouse Staff | Items to pick |
| 工作对象 | 类型 | 使用方 | 描述 |
|---|---|---|---|
| 订单表单 | 文档 | 客户、销售代表 | 客户的订单请求 |
| 产品目录 | 参考资料 | 销售代表 | 可用产品列表 |
| 订单 | 数据 | 订单系统 | 已验证的订单记录 |
| 拣货清单 | 文档 | 仓库员工 | 需要拣选的商品列表 |
Annotations
注释
- [Note 1]: Exception handling for out-of-stock items
- [Note 2]: Peak season requires additional staff
undefinedundefinedMermaid Diagram (Optional)
Mermaid 图(可选)
text
sequenceDiagram
participant C as Customer
participant SR as Sales Rep
participant OS as Order System
participant W as Warehouse
C->>SR: ① submits Order Form
SR->>SR: ② validates using Product Catalog
SR->>OS: ③ creates Order
OS->>W: ④ notifies with Pick List
W->>W: ⑤ picks itemsStory templates: See
references/story-templates.mdtext
sequenceDiagram
participant C as Customer
participant SR as Sales Rep
participant OS as Order System
participant W as Warehouse
C->>SR: ① submits Order Form
SR->>SR: ② validates using Product Catalog
SR->>OS: ③ creates Order
OS->>W: ④ notifies with Pick List
W->>W: ⑤ picks items故事模板:请查看
references/story-templates.mdIntegration with Event Storming
与Event Storming的集成
Domain stories naturally feed into event storming:
| Story Element | Event Storming Element |
|---|---|
| Activity | Command or Event |
| Actor | Actor (yellow sticky) |
| Work Object | Aggregate or Read Model |
| Sequence | Timeline ordering |
| Boundary | Bounded context candidate |
Workflow:
text
Domain Storytelling (understand "what happens")
↓
Event Storming (design "how it happens")
↓
Bounded Contexts → Modular ArchitectureTo proceed to event storming: Invoke the skill with collected stories as input.
enterprise-architecture:event-stormingDomain Story的成果可自然衔接event storming:
| 故事元素 | Event Storming元素 |
|---|---|
| 活动 | 命令或事件 |
| 参与者 | 参与者(黄色便利贴) |
| 工作对象 | 聚合或查询模型 |
| 顺序 | 时间线排序 |
| 边界 | Bounded context候选对象 |
工作流:
text
Domain Storytelling(梳理“发生了什么”)
↓
Event Storming(设计“如何实现”)
↓
Bounded Contexts → 模块化架构如需进入event storming:调用Skill,并将收集到的故事作为输入。
enterprise-architecture:event-stormingFacilitation Modes
引导模式
Interactive Mode (Recommended)
交互模式(推荐)
The skill guides an interactive conversation with the user:
- Ask open-ended questions
- Capture responses as story elements
- Reflect back for validation
- Iterate until story is complete
Skill会引导与用户进行交互式对话:
- 提出开放式问题
- 将回复捕捉为故事元素
- 反馈内容供用户验证
- 迭代直至故事完整
Quick Mode
快速模式
Rapid story capture from user-provided narrative:
- User provides full narrative
- Skill extracts actors, work objects, activities
- Skill structures into story format
- User validates and refines
从用户提供的完整叙事中快速提取故事:
- 用户提供完整叙事
- Skill提取参与者、工作对象、活动
- Skill将内容整理为故事格式
- 用户验证并细化
Document Mode
文档模式
Extract stories from existing documentation:
- Read existing process documents
- Extract story elements
- Structure into story format
- Validate with user
从现有文档中提取故事:
- 读取现有流程文档
- 提取故事元素
- 整理为故事格式
- 与用户验证
Glossary Building
术语表构建
As stories are collected, build a domain glossary:
| Term | Definition | Context | Aliases |
|---|---|---|---|
| Order | A validated customer request for products | Sales | Purchase Order, PO |
| Pick List | List of items to retrieve from warehouse | Warehouse | Picking Ticket |
Glossary purpose:
- Establishes ubiquitous language
- Identifies term collisions (same word, different meanings)
- Documents domain knowledge
- Supports bounded context discovery
在收集故事的过程中,同步构建领域术语表:
| 术语 | 定义 | 上下文 | 别名 |
|---|---|---|---|
| 订单 | 已验证的客户产品请求 | 销售 | 采购订单、PO |
| 拣货清单 | 需从仓库取出的商品列表 | 仓库 | 拣货单 |
术语表用途:
- 建立通用语言
- 识别术语冲突(同一词汇不同含义)
- 记录领域知识
- 支持bounded context发现
Best Practices
最佳实践
DO
建议
- Use domain expert's language, not technical jargon
- Capture stories at the right granularity (not too detailed)
- Include exceptions and variations
- Number activities sequentially
- Document annotations for implicit knowledge
- Build glossary as you go
- 使用领域专家的语言,而非技术术语
- 以合适的粒度捕捉故事(不要过于细节)
- 包含异常和变体场景
- 为活动按顺序编号
- 记录注释以留存隐性知识
- 随故事收集同步构建术语表
DON'T
禁忌
- Impose technical terminology
- Skip edge cases and exceptions
- Assume you understand without asking
- Mix AS-IS and TO-BE in same story
- Forget to validate with domain expert
- 强加技术术语
- 忽略边缘场景和异常情况
- 未确认就假设自己理解内容
- 在同一个故事中混合AS-IS和TO-BE内容
- 忘记与领域专家验证内容
References
参考资料
- - Detailed notation guide with examples
references/pictographic-notation.md - - YAML headers, output formats
references/story-templates.md - - Finding bounded contexts from stories
references/boundary-discovery.md
- - 带示例的详细符号指南
references/pictographic-notation.md - - YAML头部、输出格式
references/story-templates.md - - 从故事中寻找bounded context的方法
references/boundary-discovery.md
Related Skills
相关Skill
- - Design "how it happens" after understanding "what happens"
event-storming - - Implement bounded contexts discovered from stories
modular-architecture - - Document significant decisions discovered during storytelling
adr-management
Last Updated: 2025-12-22
- - 在理解“发生了什么”后,设计“如何实现”
event-storming - - 实现从故事中发现的bounded context
modular-architecture - - 记录在Domain Storytelling过程中发现的重要决策
adr-management
最后更新时间:2025-12-22
Version History
版本历史
- v1.0.0 (2025-12-26): Initial release
- v1.0.0(2025-12-26):初始版本