bpmn

Installation
SKILL.md

Business Process & Integration Diagram Generator

Quick Start: Choose diagram type → Declare stencil icons for events/gateways/tasks → Group into pools/lanes → Connect with arrow syntax → Wrap in ```plantuml fence.

⚠️ IMPORTANT: Always use ```plantuml or ```puml code fence. NEVER use ```text — it will NOT render as a diagram.

Critical Rules

  • Every diagram starts with @startuml and ends with @enduml
  • Use left to right direction for process flows (start→end reads left-to-right)
  • Use mxgraph.bpmn.* for BPMN events, gateways, and task markers
  • Use mxgraph.eip.* for Enterprise Integration Pattern icons
  • Use mxgraph.lean_mapping.* for Value Stream Mapping symbols
  • Default colors are applied automatically — you do NOT need to specify fillColor or strokeColor
  • Use rectangle "Pool" { ... } for BPMN pools and lanes
  • Sequence flows use -->, message flows use ..> (dashed)

Full stencil reference: See stencils/README.md for 9500+ available icons.

Mxgraph Stencil Syntax

mxgraph.<library>.<icon> "Label" as <alias>

BPMN Stencil Family (mxgraph.bpmn.*)

Events — Circle shapes for process triggers and outcomes:

Icon Meaning
mxgraph.bpmn.event.start Start Event
mxgraph.bpmn.event.end End Event
mxgraph.bpmn.event.terminateEnd Terminate End
mxgraph.bpmn.event.timerStart Timer Start
mxgraph.bpmn.event.timerCatching Timer Intermediate
mxgraph.bpmn.event.messageStart Message Start
mxgraph.bpmn.event.messageCatching Message Catching
mxgraph.bpmn.event.messageEnd Message End
mxgraph.bpmn.event.errorEnd Error End
mxgraph.bpmn.event.errorBound Error Boundary
mxgraph.bpmn.event.signalStart Signal Start
mxgraph.bpmn.event.signalEnd Signal End

Gateways — Diamond shapes for branching/merging:

Icon Meaning
mxgraph.bpmn.gateway2.exclusive Exclusive Gateway (XOR)
mxgraph.bpmn.gateway2.parallel Parallel Gateway (AND)
mxgraph.bpmn.gateway2.inclusive Inclusive Gateway (OR)
mxgraph.bpmn.gateway2.complex Complex Gateway

Tasks — Use rectangle for tasks, stencil markers for typed tasks:

Icon Meaning
mxgraph.bpmn.user_task User Task
mxgraph.bpmn.service_task Service Task
mxgraph.bpmn.script_task Script Task
mxgraph.bpmn.manual_task Manual Task
mxgraph.bpmn.business_rule_task Business Rule Task

Data — Document-like shapes:

Icon Meaning
mxgraph.bpmn.data2.dataObject Data Object
mxgraph.bpmn.data2.dataInput Data Input
mxgraph.bpmn.data2.dataOutput Data Output

EIP Stencil Family (mxgraph.eip.*)

Icon Meaning
mxgraph.eip.messageChannel Message Channel
mxgraph.eip.deadLetterChannel Dead Letter Channel
mxgraph.eip.content_based_router Content-Based Router
mxgraph.eip.message_filter Message Filter
mxgraph.eip.splitter Splitter
mxgraph.eip.aggregator Aggregator
mxgraph.eip.message_translator Message Translator
mxgraph.eip.content_enricher Content Enricher
mxgraph.eip.messaging_gateway Messaging Gateway
mxgraph.eip.channel_adapter Channel Adapter
mxgraph.eip.messaging_bridge Messaging Bridge
mxgraph.eip.recipient_list Recipient List
mxgraph.eip.wire_tap Wire Tap
mxgraph.eip.event_driven_consumer Event-Driven Consumer
mxgraph.eip.competing_consumers Competing Consumers
mxgraph.eip.process_manager Process Manager

Lean Mapping Stencil Family (mxgraph.lean_mapping.*)

Icon Meaning
mxgraph.lean_mapping.outside_sources Supplier / Customer
mxgraph.lean_mapping.manufacturing_process Process Step
mxgraph.lean_mapping.supermarket Supermarket (Inventory Buffer)
mxgraph.lean_mapping.fifo_lane FIFO Lane
mxgraph.lean_mapping.production_kanban Production Kanban
mxgraph.lean_mapping.withdrawal_kanban Withdrawal Kanban
mxgraph.lean_mapping.signal_kanban Signal Kanban
mxgraph.lean_mapping.truck_shipment Truck Shipment
mxgraph.lean_mapping.operator Operator
mxgraph.lean_mapping.inventory_box Inventory
mxgraph.lean_mapping.kaizen_lightening_burst Kaizen Burst
mxgraph.lean_mapping.mrp_erp MRP / ERP System
mxgraph.lean_mapping.warehouse Warehouse
mxgraph.lean_mapping.push_arrow Push Arrow
mxgraph.lean_mapping.timeline2 Timeline

Connection Types

Syntax Meaning Use Case
A --> B Solid arrow Sequence flow (task→task)
A ..> B Dashed arrow Message flow (cross-pool) / async trigger
A --> B : "label" Labeled solid Conditional flow (gateway branch)
A ..> B : "label" Labeled dashed Named message / signal

Quick Example

@startuml
left to right direction

mxgraph.bpmn.event.start "Start" as start
rectangle "Review\nRequest" as review
mxgraph.bpmn.gateway2.exclusive "Approved?" as gw
rectangle "Process\nOrder" as process
rectangle "Notify\nRejection" as reject
mxgraph.bpmn.event.end "End" as end_ok
mxgraph.bpmn.event.end "End" as end_fail

start --> review
review --> gw
gw --> process : "Yes"
gw --> reject : "No"
process --> end_ok
reject --> end_fail
@enduml

Diagram Types

Type Purpose Key Stencils Example
Order Processing E-commerce / fulfillment mxgraph.bpmn.event.*, mxgraph.bpmn.gateway2.* order-processing.md
Approval Workflow Multi-level approval mxgraph.bpmn.event.*, mxgraph.bpmn.gateway2.* approval-workflow.md
EIP Messaging Message routing & transformation mxgraph.eip.* eip-messaging.md
ETL Pipeline Data extraction & loading mxgraph.bpmn.event.*, mxgraph.eip.* etl-pipeline.md
Value Stream Lean manufacturing flow mxgraph.lean_mapping.* value-stream.md
Microservice Orchestration Service choreography mxgraph.bpmn.event.*, mxgraph.eip.* microservice-orchestration.md
Event-Driven Architecture Pub/Sub event flows mxgraph.bpmn.event.*, mxgraph.eip.* event-driven.md
Customer Service Support ticket lifecycle mxgraph.bpmn.event.*, mxgraph.bpmn.gateway2.* customer-service.md
Weekly Installs
600
GitHub Stars
1.2K
First Seen
2 days ago
Installed on
codex590
github-copilot586
cursor584
opencode584
kimi-cli583
gemini-cli582