bpmn
- Repo stars 2,891
- Author repo skills
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
```plantumlor```pumlcode fence. NEVER use```text— it will NOT render as a diagram.
Critical Rules
- Every diagram starts with
@startumland ends with@enduml - Use
left to right directionfor 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
fillColororstrokeColor - 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 |
- Fluxly category
- Engineering
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @markdown-viewer · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Unspecified
- Detected file/system behavior
-
- Read-only
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
# 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 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
Mxgraph Stencil Syntax
Events — Circle shapes for process triggers and outcomes: Icon · Meaning mxgraph.bpmn.event.start · Start Event
Icon · Meaning mxgraph.eip.messageChannel · Message Channel mxgraph.eip.deadLetterChannel · Dead Letter Channel
Icon · Meaning mxgraph.leanmapping.outsidesources · Supplier / Customer mxgraph.leanmapping.manufacturingprocess · Process Step
Syntax · Meaning · Use Case A --> B · Solid arrow · Sequence flow (task→task) A ..> B · Dashed arrow · Message flow (cross-pool) / async trigger
# 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](../uml/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 |
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> Critical Rules → Mxgraph Stencil Syntax → BPMN Stencil Family (mxgraph.bpmn.) → EIP Stencil Family (mxgraph.eip.) → Lean Mapping Stencil Family (mxgraph.leanmapping.) → Connection Types
terms -> Quick Start · IMPORTANT · Full stencil reference · Events · Gateways · Tasks · Data
files/cmd -> plantuml · puml · text · @startuml · @enduml · left to right direction · mxgraph.bpmn. · mxgraph.eip.
body sha256 -> c3bf6f979e0e
Decide Fit First
Design Intent
How To Use It
Boundaries And Review