Claude Code plugin
This repository is also a Claude Code plugin marketplace, miragon-bpmn. Its plugin bpmn-cli has one skill, bpmn (invoked as bpmn-cli:bpmn). It makes Claude create, read, change, format and validate BPMN 2.0 models with the CLI instead of writing BPMN XML by hand.
Install
In Claude Code:
/plugin marketplace add Miragon/bpmn-cli
/plugin install bpmn-cli@miragon-bpmnOr from your shell:
claude plugin marketplace add Miragon/bpmn-cli
claude plugin install bpmn-cli@miragon-bpmnThe skill runs bpmn when it is on your PATH, else npx -y @miragon/bpmn-cli@<version> with the version of the plugin, so you need Node.js 22.12 or later. It pre-approves only these two commands.
Update
The plugin carries the version of the CLI it describes, and each release of bpmn-cli is a new plugin version. Claude Code does not fetch it on its own: refresh the marketplace, update the plugin and restart Claude Code.
claude plugin marketplace update miragon-bpmn
claude plugin update bpmn-cli@miragon-bpmnOr turn on auto-update for the marketplace under /plugin > Marketplaces.
For your team
Commit the marketplace and the plugin to your repository's .claude/settings.json, so everyone who works in the repository gets them:
{
"extraKnownMarketplaces": {
"miragon-bpmn": { "source": { "source": "github", "repo": "Miragon/bpmn-cli" } }
},
"enabledPlugins": {
"bpmn-cli@miragon-bpmn": true
}
}What the skill does
- Standing rules. Claude never writes or patches
.bpmnXML, addresses elements by id, gives every new element a speaking id such asActivity_CheckInvoice, sends onebpmn applybatch per change and keeps your drawing. - The loop. Claude reads the model with
bpmn showandbpmn find, changes it in one batch, reads the result, renders a change that drew something to a PNG in.bpmn-render/and fixes the numbered layout problems, then runsbpmn validate. Delete.bpmn-render/or add it to.gitignore. - Your rules. With a
.bpmnlintrcin the repository, the results list the bpmnlint findings a change added, and Claude fixes them in the same batch. In a repository you do not trust, the skill tells Claude to pass--no-lint-config. - Camunda 7 and Camunda 8. Recipes for external tasks, job workers, mappings and error handling, loaded only when a request needs them.
The skill, its reference files and its eval suite are in plugins/bpmn-cli on GitHub.