From uipath
Authors, validates, packages, operates, and diagnoses UiPath Maestro .bpmn projects. Use for registry-driven BPMN authoring, editing structural BPMN elements, adding UiPath extension nodes, packaging/running projects, and diagnosing failed runs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/uipath:uipath-maestro-bpmnThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Work with UiPath Maestro (Process Orchestration) `.bpmn` projects across their
references/cli-conventions.mdreferences/diagnose/CAPABILITY.mdreferences/diagnose/references/failure-modes.mdreferences/diagnose/references/troubleshooting-guide.mdreferences/expression-authoring.mdreferences/operate/CAPABILITY.mdreferences/operate/references/manage.mdreferences/operate/references/run.mdreferences/operate/references/ship.mdreferences/public-safety.mdreferences/registry-workflow.mdreferences/shared/local-metadata-regeneration-guide.mdreferences/shared/project-layout.mdreferences/structural-bpmn.mdvalidator/README.mdvalidator/bpmn-spec.jsonvalidator/model.mjsvalidator/package.jsonvalidator/rules.mjsvalidator/samples/invalid-conditional-and-variable.bpmnWork with UiPath Maestro (Process Orchestration) .bpmn projects across their
lifecycle: author, validate, package, operate, and diagnose. Authoring is
registry-driven: every uipath:* extension payload comes from a template the
registry serves; the structural BPMN that holds those nodes together (process
scaffold, sequence flows, gateways, events, boundary events, containers,
multi-instance markers, and the diagram) is authored from the documented spec +
canvas contract. Packaging, operating (upload, publish, run, manage), and
diagnosing are driven through the UiPath CLI, covered in the capability
references below.
.bpmn from a description..bpmn structure: gateways, events, boundary events, subprocesses, call
activities, multi-instance loops, sequence-flow conditions, variables..bpmn against the canvas rules before import..bpmn (preserve what you did not author)The skill can edit an existing file. Make surgical edits and preserve
content you did not author: unknown uipath:* elements, uipath:migrationVersion,
tags, imported Integration Service payloads, and stable element IDs. Do not
regenerate the whole file or drop extension data the skill does not recognize —
preserve-only structures (see the blocklist in
references/structural-bpmn.md) round-trip
untouched.
For .flow JSON use uipath-maestro-flow; for XAML/coded workflows use
uipath-rpa; for Python agents use uipath-agents; for Case plans use
uipath-maestro-case.
Two halves make a valid Maestro .bpmn:
uipath:* payloads — registry-owned. Each node's extension XML
(uipath:activity / uipath:event / uipath:mapping, its context,
input, output, and bindingInfo) comes from
uip maestro bpmn registry get <type>'s xmlTemplate. Never hand-author a
uipath:* element from prose.<bpmn:definitions>/<bpmn:process>, no sequence flows, no gateway
conditions/defaults, no event-definition payloads, no boundary-event
attributes, no subprocess/loop structure, and no diagram. Author all of these
from references/structural-bpmn.md, which is
grounded in the registry spec and the Studio Web canvas serializer.Work the four steps quickly and author early — do not pre-read every reference before writing. Read a reference only when you reach the structure it covers.
Discover. uip maestro bpmn registry pull once (cached for the
session — do not re-pull), then list / search to map intent to extension
types; uip is connections list --all-folders for live connections (always
--all-folders — a folder-scoped list silently misses connections). Confirm
every selection with the user (use AskUserQuestion). Never fabricate an identifier.
See references/registry-workflow.md.
Get templates. uip maestro bpmn registry get <type> --output json for
each chosen node. Enrich Intsvc.* connector nodes with
--connection-id/--object-name.
Assemble. Author directly from the complete minimal file in
references/structural-bpmn.md
plus each node's xmlTemplate (fill placeholders only). That skeleton already
shows variables, the entry point, a branch, and the diagram. Do not read the
validator's test/fixtures/ to infer the pattern — it is the top reason
authoring runs out of time. Add only the structural pieces your process needs
(extra gateways, events, boundary events, containers, multi-instance markers),
then generate one BPMNShape/BPMNEdge per node and flow.
Validate. There is no uip maestro bpmn validate CLI command. Run the
bundled validator — it reconstructs the canvas model and runs every
PO.Frontend rule:
cd skills/uipath-maestro-bpmn/validator && npm install --silent
node validate-bpmn.mjs <file.bpmn> # prints VALID (exit 0) or the errors (exit 1)
A well-formed-XML parse is the secondary fallback if Node is unavailable. See references/structural-bpmn.md#validation. Validate once; fix only ERROR-severity findings (warnings do not block import). Do not re-validate in a loop chasing warnings.
Beyond authoring, this skill packages, ships, runs, and diagnoses Maestro projects through the UiPath CLI.
Any cloud-side change (upload, publish, deploy, run, pause, resume, cancel, retry, migrate) requires explicit user consent, and local validation should pass first.
This skill teaches authoring of the full surface the canvas supports. What the registry serves a template for vs. what you author by hand:
| Structure | Source |
|---|---|
Node uipath:* payloads (RPA, agent, HITL, queue, business rule, API workflow, IS connector, internal message, timer, script, variables) | Registry xmlTemplate |
<bpmn:definitions>/<bpmn:process> scaffold + namespaces | Authored (registry gap) |
Sequence flows, conditionExpression, gateway default | Authored (registry gap) |
| Gateways: exclusive, parallel, inclusive, event-based (complex is preserve-only) | Authored (registry gap) |
| Events + event-definition matrix: message, timer, error, terminate (end-only). Signal/escalation/conditional/link/compensate/cancel/multiple are preserve-only | Authored (registry gap); payload per canvas serializer |
Boundary events: attachedToRef, interrupting/non-interrupting (cancelActivity) | Authored (registry gap) |
Subprocess, event subprocess (triggeredByEvent), call activity | Authored (registry gap); call-activity payloads from registry |
| Multi-instance / loop characteristics | Authored from canvas contract — registry exposes no template (registry gap) |
bpmndi:BPMNDiagram (shape per node, edge per flow) | Always generated — registry emits none (registry gap) |
Flagged registry gaps: the registry serves no template for structural BPMN, sequence-flow conditions, event-definition payloads, boundary-event attributes, multi-instance markers, or the diagram. These are authored from the spec + canvas contract in references/structural-bpmn.md and honestly surfaced to the user as gaps when asked.
uipath:* payload. Author from
registry get templates; never hand-write uipath: XML from prose.BPMNShape, every flow a BPMNEdge, or it will not appear on the canvas.uipath:activity
/ uipath:event / uipath:mapping declares its type as
<uipath:type value="<Type>" version="v1" /> inside the wrapper. Never write
<uipath:activity type="…"> — the canvas will not recognize the node.-- in XML comments. XML forbids -- (double-hyphen) inside
<!-- … -->, so never paste CLI commands or flags (--output,
--connection-id, --object-name) into a comment — it makes the file
unparseable. Keep comments minimal.--output json for parsed CLI calls.| Topic | Read |
|---|---|
| Discover → template → bind → assemble loop | references/registry-workflow.md |
| Structural BPMN, event matrix, boundary events, containers, multi-instance, diagram, validation | references/structural-bpmn.md |
Runtime expressions, vars./bindings./iterator., =js: (Jint) syntax | references/expression-authoring.md |
| CLI conventions and the side-effect boundary | references/cli-conventions.md |
| Keeping content public-safe | references/public-safety.md |
| Bundled offline validator (every PO.Frontend rule) | validator/README.md |
| Package, upload, publish, run, or manage instances | references/operate/CAPABILITY.md |
| Diagnose a failed or misbehaving run | references/diagnose/CAPABILITY.md |
| Project layout and generated package files | references/shared/project-layout.md |
npx claudepluginhub uipath/skills --plugin uipathBuilds, edits, debugs, publishes, and evaluates UiPath Maestro Flow (.flow) projects via the `uip` CLI. Includes node authoring, IxP/document-extraction integration, deployment, incident diagnosis, and evaluation design.
Audits Corezoid BPM processes for structural issues, hardcoded values, and optimization opportunities. Use when analyzing or reviewing `.conv.json` process definitions.
Guides planning, building, validating, testing, publishing, and handing off n8n workflows. Covers sticky notes, descriptions, naming, folders, and credentials verification.