
Claude Code plugin (Agent Skill) for BPMN 2.0 - read, explain, create & edit .bpmn process diagrams with clean auto-generated layout, validation, and control-flow linting (deadlocks, stuck tokens).
概览
A Claude Code plugin that lets Claude work with process diagrams (.bpmn XML): read and explain them in plain language, and create or edit them so they come out in any modeler (Camunda Modeler, bpmn.io, Cawemo…). The model does the semantic reasoning (what the process means, what to change); a small bundled Node script does the deterministic mechanics — parsing, regenerating layout, validating, and linting control flow. - a .bpmn: happy path, decision points, exception/timeout handling. - processes from a description (you never hand-write diagram coordinates), with full layout coverage: collaborations (all pools + message flows), swimlanes, sub-process drill-down pages, and data objects/annotations. - : layout is — on a file that already has a diagram it preserves the layout (hand-tuned positions, Camunda multi-diagram sub-process pages) and only prunes shapes for deleted elements and places shapes for new ones. A full re-layout happens only with --rebuild.
README
以下为原文 README 节选,完整内容请查看原文。
bpmn — Claude Code plugin for BPMN 2.0
A Claude Code plugin that lets Claude work with
BPMN 2.0 process diagrams (.bpmn XML): read and explain them in plain
language, and create or edit them so they come out valid and visually clean
in any modeler (Camunda Modeler, bpmn.io, Cawemo…).
The model does the semantic reasoning (what the process means, what to change); a small bundled Node script does the deterministic mechanics — parsing, regenerating layout, validating, and linting control flow.
What it can do
- Explain a
.bpmn: happy path, decision points, exception/timeout handling. - Create / edit processes from a description (you never hand-write diagram coordinates), with full layout coverage: collaborations (all pools + message flows), swimlanes, sub-process drill-down pages, and data objects/annotations.
- Edit non-destructively: layout is safe by default — on a file that
already has a diagram it preserves the layout (hand-tuned positions, Camunda
multi-diagram sub-process pages) and only prunes shapes for deleted elements
and places shapes for new ones. A full re-layout happens only with
--rebuild. - Validate: well-formed XML, every node/edge has a shape, no overlaps (checked per diagram plane).
- Lint control flow: catches bugs that are valid XML but wrong behaviour — deadlock (parallel join after an exclusive split), double execution (exclusive join after a parallel split), stuck-token gateways (all branches conditioned, no default), unreachable nodes, dead ends, and a missing start/end event.
- Compare & search:
difftwo versions (As-Is vs To-Be or edit review) andfindelements by name or type.
Requirements
- Claude Code
- Node.js >= 18 and npm — on first use the skill runs
npm installin its own folder to fetchbpmn-moddleandbpmn-auto-layout(deps are not committed).
Install
This repository is both the plugin and a one-plugin marketplace:
/plugin marketplace add architawr/claude-bpmn-skill
/plugin install bpmn@bpmn-tools
/reload-plugins
The skill is model-invoked: once installed, Claude uses it automatically when you
work with .bpmn files or ask to model/review a process. It is namespaced as
bpmn (the plugin name).
Or, for local development without installing:
claude --plugin-dir ./claude-bpmn-skill
Commands
The skill is model-invoked automatically, but the plugin also adds explicit
slash commands (namespaced /bpmn:):
| Command | What it does |
|---|---|
/bpmn:explain |
Read a diagram and explain it in plain language |
/bpmn:create |
Model a new diagram from a text description |
/bpmn:edit — |
Apply a change, preserving the existing layout, then validate + lint |
/bpmn:validate |
Structural validation + control-flow lint, with fixes |
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add architawr/claude-bpmn-skill