creating-flow
Installation
SKILL.md
Robomotion Flow Builder
Robomotion is an RPA platform with a TypeScript SDK and a visual node editor. This skill is a thin index over the reference docs in ./docs/. Read the relevant doc when a topic comes up — don't try to memorize it from this file.
Hard Rules (SDK rejects violations at validate time)
The SDK enforces these. Violations throw at robomotion validate / build with descriptive messages, so the agent never silently produces broken flows:
- Node IDs MUST be 6-char lowercase hex —
/^[0-9a-f]{6}$/.f.node(),.then(),f.edge()reject non-hex IDs ('begin','label','maps', uppercase) at registration. Pick fresh hex per node. See./docs/reference/id-format.md. - Subflow node ID =
subflows/<id>.tsfilename, exactly. Both must be 6-hex. The Designer's "enter subflow" UX depends on the match. f.addDependency(namespace, version)is validated against the live package index.versionmust be concrete ('latest'is rejected) and must exist in the package's publishedversionslist.namespacemust exist inhttps://packages.robomotion.io/stable/index.json. Runrobomotion get packages <ns>orrobomotion describe package <ns>to resolve real versions before callingaddDependency. Never invent a version.- Terminal nodes (
Debug,Log,Stop,GoTo,End,WaitGroup.Done) have 0 outputs — wire TO them viaf.edge(), never.then()from them. - Every
Core.Flow.GoToreferences aCore.Flow.Labelid that exists in the same flow file.
Required First Line
Every flow file (main.ts and every subflows/*.ts) starts with this exact import — copy verbatim, including helpers you don't currently use (Bun won't flag dead imports, but missing ones become runtime ReferenceError):