bpmn 可帮助你在 PlantUML 中使用 BPMN、EIP 和 Lean Mapping 的模板图标创建业务流程和集成图。它面向工作流自动化、审批、编排、消息传递、ETL 和价值流映射,并清楚说明何时适合使用 bpmn、何时应改用 uml 或 vega。
该技能得分 82/100,属于一个很适合需要 BPMN 风格流程图和集成图用户的目录条目。仓库提供了足够的操作指引、示例以及使用边界说明,代理可以比通用提示更少猜测地触发它;但安装和参考脚手架仍不够完整,如果补齐会更容易落地。
- 操作性很强:明确要求在 PlantUML 中使用 `@startuml`/`@enduml`、`left to right direction`,以及 `mxgraph.bpmn.*`、`mxgraph.eip.*`、`mxgraph.lean_mapping.*` 等明确的模板命名空间。
- 工作流覆盖面广:示例涵盖审批流程、客户服务、ETL、事件驱动架构、微服务编排、订单处理和 EIP 消息传递,体现出很强的通用流程图价值。
- 安装决策很清晰:明确给出了最佳适用场景和不适用场景,包括不建议用于通用软件建模或数据可视化。
- 没有提供脚本、参考文件或安装命令,用户只能依赖 `SKILL.md` 中的说明和示例。
- 该技能更偏向图表绘制,而不是通用建模技能;如果需要 UML 或图表,用户应选择其他工具。
bpmn 技能概览
bpmn 技能可以帮助你在 PlantUML 中使用 BPMN、EIP 和 Lean Mapping 的图标模板,创建业务流程图和集成图。当你需要一张能够清楚说明工作流自动化、审批、编排、消息传递或 ETL 逻辑、并且让团队成员可以据此行动的图时,它特别适合。
当你的真实需求是把一个粗略的流程想法,整理成一张结构清晰的图,并且正确选择 gateway、event、task 以及 pool/lane 时,就该用 bpmn 技能。它对通用软件架构图,或者本质上是数据可视化的图表,帮助就没那么大。
bpmn 最适合做什么
- 工作流自动化:审批、升级、交接、重试和 SLA 路径
- 基于消息的集成:路由器、通道、转换器、适配器和死信处理
- 运营流程:订单处理、支持分流、saga 编排、ETL 和价值流
这个技能为什么不一样
这个仓库优化的重点是图标模板纪律,而不是随意画图。也就是说,当你需要的是 BPMN 特有元素,比如开始/结束事件、消息流、gateway 和 lane,而不是一堆普通方框和箭头时,它的输出会更好。bpmn 技能也更容易帮你选对视觉语言,区分流程、集成和价值流这几类问题。
什么时候不要用它
如果你想画类图、组件图或通用软件建模图,请改用 uml。如果你需要仪表盘、图表或数据可视化,请改用 vega。这类不匹配的场景,通常用围绕 bpmn 技能设计的提示词反而效果更差。
如何使用 bpmn 技能
安装并打开技能文件
使用下面的命令安装 bpmn 技能:
npx skills add markdown-viewer/skills --skill bpmn
然后先打开 SKILL.md,再看与你的流程类型相匹配的示例文件。示例是最快掌握这个仓库标注习惯、并避免 PlantUML 语法出错的方式。
为 bpmn 写好提示词
一条好的 bpmn 提示词应该包含:
- 流程名称
- 触发条件或开始事件
- 主要参与者或 pool
- 关键决策和异常情况
- 是偏 BPMN、EIP 还是 Lean Mapping
- 是否存在 SLA、重试或补偿行为
提示词示例:
“为一个发票审批工作流创建 bpmn 技能图。以发票提交开始,小额发票走自动批准,中额发票走经理审核,大额发票走经理加财务审核。包含 SLA 计时器、升级路径和拒绝结束状态。”
这样就给了模型足够的结构信息,去选择合适的图标家族和流程逻辑。
先读这些文件
先从下面这些文件开始:
SKILL.md:核心规则和 fence 要求examples/approval-workflow.md:偏决策的 BPMN 示例examples/microservice-orchestration.md:saga 风格编排示例examples/eip-messaging.md:集成模式图示例examples/etl-pipeline.md:批处理和数据流转示例
这些文件是最实用的 bpmn 指南,因为它们直接展示了不同图标家族分别对应哪些使用场景。
能提升输出质量的实用技巧
- 只使用
```plantuml或```puml代码围栏。 - 图必须放在
@startuml/@enduml之间。 - 对于从开始到结束阅读的流程,优先使用
left to right direction。 - 如果职责分工很重要,尽早说明 pools/lanes。
- 说明流程是 sequence flows 还是 message flows。
- 决策点请写成问题句,而不是标签。
例如,“Payment OK?” 比 “Payment status” 更适合作为决策点。
bpmn 技能常见问题
bpmn 只是给流程图用的吗?
不是。bpmn 技能覆盖 BPMN 流程图,也包括 EIP 集成模式和 Lean Mapping 符号。这让它不仅适用于经典审批流,也适用于工作流自动化、服务编排和运营价值流图。
使用 bpmn 之前,我必须先懂 BPMN 吗?
不需要,但懂一点流程语言会有帮助。只要你能描述是谁发起工作、有哪些决策点、工作会在哪里失败或暂停,这个技能通常都能把这些信息转成一张有用的图。
bpmn 和普通提示词相比,优势在哪里?
普通提示词可能只会产出通用的方框和箭头。bpmn 技能会把输出偏向正确的图标家族、PlantUML 格式,以及适合工作流的约定,从而减少返工,也让图在工作流自动化场景里更易读。
什么时候该选别的技能?
如果主要目标是软件结构、UI 原型、分析图表或数据可视化,就应该选别的技能。bpmn 技能最强的场景,是你在问“工作如何流转?”,而不是“系统里有什么?”
如何改进 bpmn 技能
提供流程状态,而不只是主题
想要更好的 bpmn 结果,输入里要描述真实的工作流状态机。要包含开始、分支、异常、完成和交接边界。例如:
- 弱一些:
“画一个订单图” - 更强:
“订单在 checkout 后开始,先验证支付,再并行检查库存,预留成功后发送发货和通知,失败则走取消或缺货待处理路径”
这些额外细节会同时提升结构质量和图标选择的准确性。
告诉技能你最看重什么
如果你的重点是审批策略,就直接说。若重点是集成可靠性,也要明确写出来。若重点是吞吐量或交接清晰度,同样要点明。bpmn 技能可以强调流程中的不同部分,但前提是你先说明判断标准。
注意常见失败模式
最常见的问题是 gateway 过于模糊、lane 归属缺失,以及把 message flows 和 sequence flows 混在一起。另一个常见问题是把图做得太满,塞进太多装饰性步骤。只保留那些会改变路由、责任或系统行为的步骤。
用有针对性的修正方式迭代
第一次输出后,下一版最好一次只修正一件事:
- “48 小时后加一个 timer 升级”
- “把人工任务拆成经理和财务两个 lane”
- “把通用任务框替换成 EIP 的 message translator 和 router 图标”
- “展示支付失败时的 compensation 步骤”
这种方式比要求整篇重写更有效,也能让 bpmn 技能始终聚焦在阻塞你工作流自动化设计的那个环节上。
