drawio-impl-bpmn
Installation
SKILL.md
Draw.io BPMN 2.0 Implementation
Purpose
This skill enables correct generation of BPMN 2.0 (Business Process Model and Notation) process diagrams in Draw.io mxGraph XML. It enforces BPMN 2.0 shape semantics and prevents the most common AI mistakes: using generic shapes instead of BPMN-specific shapes, mixing sequence flows with message flows, and omitting mandatory pool containers for inter-organizational processes.
Critical Rules (Memorize These)
- ALWAYS use
shape=mxgraph.bpmn.shapefor events and gateways -- NEVER use genericellipsefor events orrhombusfor gateways. BPMN shapes carry semantic meaning throughoutlineandsymbolproperties. - ALWAYS use dashed lines for message flows -- Message flows between pools MUST have
dashed=1;endArrow=open;endFill=0;startArrow=oval;startFill=0;. NEVER use solid arrows for message flows. - ALWAYS use solid arrows for sequence flows -- Sequence flows within a pool MUST have
endArrow=classic;html=1;. NEVER use dashed arrows for sequence flows. - NEVER connect elements in different pools with sequence flows -- Cross-pool communication ALWAYS uses message flows. Sequence flows are ONLY valid within a single pool.
- ALWAYS wrap activities in a pool or lane -- Every BPMN diagram with more than one participant MUST use pool containers. NEVER place BPMN elements directly on the canvas without a pool when modelling inter-organizational processes.
- ALWAYS use the correct gateway symbol -- Exclusive (X) uses
symbol=exclusiveGw, Parallel (+) usessymbol=parallelGw, Inclusive (O) usessymbol=inclusiveGw, Event-based usessymbol=eventGw. NEVER use a blank diamond. - ALWAYS label gateway outgoing edges -- Every edge leaving a gateway MUST have a
valueattribute describing the condition (except for parallel gateways where all paths execute). - ALWAYS set
perimeter=ellipsePerimeteron events andperimeter=rhombusPerimeteron gateways -- This ensures edges connect correctly to the shape boundary.