diff --git a/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md b/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md index b5b0bada..1a9888dd 100644 --- a/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md +++ b/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md @@ -58,6 +58,7 @@ Use this workflow for greenfield projects and for brownfield edits that change t | Add or revise BPMN structure | [references/brownfield.md](references/brownfield.md) + [references/editing-operations.md](references/editing-operations.md) + [shared/bpmn-xml-contract.md](../shared/bpmn-xml-contract.md) | | Add variables, mappings, bindings, or expressions | [references/planning-impl.md](references/planning-impl.md) + [shared/variables-bindings-expressions.md](../shared/variables-bindings-expressions.md) | | Add an Integration Service activity or trigger | [references/plugins/integration-service/](references/plugins/integration-service/) | +| Add a specific BPMN or UiPath extension element | [Plugin references](#plugin-references) | | Prepare for upload or run | [references/validation.md](references/validation.md) then [operate/CAPABILITY.md](../operate/CAPABILITY.md) | | Keep authored content public-safe | [shared/public-safety.md](../shared/public-safety.md) | @@ -83,6 +84,27 @@ Use this workflow for greenfield projects and for brownfield edits that change t - [validation.md](references/validation.md) - local validation checklist - [plugins/integration-service/](references/plugins/integration-service/) - Integration Service planning and CLI enrichment boundary +### Plugin references + +Each plugin reference has a `planning.md` for pass 1 shape/resource decisions and an `impl.md` for pass 2 XML ownership and validation boundaries. + +- [plugins/start-end-events/](references/plugins/start-end-events/) - start events, end events, intermediate events, and boundary events +- [plugins/gateways/](references/plugins/gateways/) - exclusive, inclusive, parallel, event-based, and complex gateways +- [plugins/sequence-flows/](references/plugins/sequence-flows/) - control-flow edges, conditions, defaults, and diagram waypoints +- [plugins/service-tasks/](references/plugins/service-tasks/) - service task wrappers and common service metadata boundaries +- [plugins/connectors/](references/plugins/connectors/) - connector-backed activities, triggers, waits, and dynamic schemas +- [plugins/waits-triggers/](references/plugins/waits-triggers/) - timers, waits, triggers, receives, and timeout behavior +- [plugins/script/](references/plugins/script/) - script tasks, script metadata, inputs, outputs, and error paths +- [plugins/hitl/](references/plugins/hitl/) - human-in-the-loop tasks, outcomes, timeouts, and Action Center bindings +- [plugins/queues/](references/plugins/queues/) - Orchestrator queue item creation and queue result handling +- [plugins/call-activity-subprocess/](references/plugins/call-activity-subprocess/) - call activities, subprocesses, event subprocesses, and scoped mappings +- [plugins/multi-instance/](references/plugins/multi-instance/) - sequential or parallel collection processing +- [plugins/agents/](references/plugins/agents/) - agent job and A2A agent execution shells +- [plugins/rpa-jobs/](references/plugins/rpa-jobs/) - Orchestrator RPA process job execution +- [plugins/api-workflows/](references/plugins/api-workflows/) - API workflow invocation and response handling +- [plugins/signals/](references/plugins/signals/) - signal definitions, throws, catches, waits, and broadcast semantics +- [plugins/business-rules/](references/plugins/business-rules/) - business rule task invocation and result routing + ### Cross-capability - [shared/bpmn-xml-contract.md](../shared/bpmn-xml-contract.md) - model-owned versus CLI-owned XML diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/impl.md new file mode 100644 index 00000000..0d890db0 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/impl.md @@ -0,0 +1,28 @@ +# Agent Implementation + +This document defines the implementation boundary for agent tasks. + +## Model-owned implementation + +The model may edit: + +- `bpmn:serviceTask` wrapper for agent invocation. +- Documented `Orchestrator.StartAgentJob` or `A2A.AgentExecution` `uipath:activity` shells. +- Input CDATA for public-safe invocation payloads. +- Output mappings for job ID, status, result, and structured fields. +- Timeout/error boundary events and validation gateways. + +## CLI or operator-owned implementation + +The CLI or operator must resolve: + +- Real agent resource identity, version, folder, and binding metadata. +- Dynamic schemas for agent inputs and outputs. +- Deployment, creation, or modification of the agent itself. + +## Validation expectations + +- Agent binding resolves before upload/run. +- Input variables and output variables exist. +- Timeout and invalid-output paths are modeled when needed. +- High-impact outputs have review or validation gates when required by user intent. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/planning.md new file mode 100644 index 00000000..264aeddd --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/planning.md @@ -0,0 +1,29 @@ +# Agent Planning + +Use this reference when planning agent execution from BPMN. + +## When to use + +- Starting a UiPath agent job. +- Calling an A2A or external agent execution shell. +- Routing based on agent status, answer, or structured output. +- Combining agent work with HITL validation, RPA jobs, or business rules. + +## Planning steps + +1. Identify agent type, invocation style, input contract, output contract, and timeout behavior. +2. Decide whether the agent resource already exists or must be created by a sibling workflow outside this skill. +3. Plan variables for prompt/input, structured output, status, and errors. +4. Add validation or HITL review if agent output affects high-impact decisions. +5. Use placeholder-safe bindings for agent resources. +6. Plan fallback paths for timeout, no answer, or invalid output. + +## Model may draft + +- Service task wrapper with documented `Orchestrator.StartAgentJob` or `A2A.AgentExecution` shell. +- Input/output mappings, boundary timeout/error paths, and gateways. +- Public-safe resource placeholders. + +## Stop conditions + +Stop before Operate when agent identity, version, input schema, output schema, or resource binding is unresolved. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/impl.md new file mode 100644 index 00000000..6f2b5232 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/impl.md @@ -0,0 +1,29 @@ +# API Workflow Implementation + +This document defines the implementation boundary for API workflow tasks. + +## Model-owned implementation + +The model may edit: + +- `bpmn:serviceTask` wrapper for API workflow execution. +- Documented `Orchestrator.ExecuteApiWorkflowAsync` `uipath:activity` shell. +- Request input CDATA using declared variables. +- Output mappings for invocation ID, status, result, and errors. +- Retry and boundary error metadata when specified. + +## CLI or operator-owned implementation + +The CLI or operator must resolve: + +- Real API workflow resource identity and folder binding. +- Dynamic request and response schemas. +- Generated binding resources and package metadata. + +## Validation expectations + +- Workflow binding resolves before upload/run. +- Request body matches the resolved schema. +- Output mappings target declared variables. +- Fire-and-forget versus wait behavior is explicit. +- No private endpoint URLs, resource IDs, or exported payloads are committed. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/planning.md new file mode 100644 index 00000000..86427272 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/planning.md @@ -0,0 +1,28 @@ +# API Workflow Planning + +Use this reference when planning API workflow execution from BPMN. + +## When to use + +- Calling an Orchestrator API workflow asynchronously. +- Passing structured request data to an API workflow. +- Routing based on workflow status or structured response. +- Combining API workflows with connector, agent, RPA, or HITL steps. + +## Planning steps + +1. Identify API workflow resource, input schema, output schema, timeout, and error behavior. +2. Decide whether execution is fire-and-forget or waits for completion. +3. Plan request variables, response variables, job/status variables, and mapping. +4. Add retries or boundary errors for transient failures. +5. Use placeholders until the API workflow binding and schemas are resolved. + +## Model may draft + +- Service task wrapper with documented `Orchestrator.ExecuteApiWorkflowAsync` shell. +- Input/output mappings and public-safe request examples. +- Boundary error paths and gateways. + +## Stop conditions + +Stop before Operate when workflow identity, schema, binding, or wait semantics are unresolved. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/impl.md new file mode 100644 index 00000000..329e1d0e --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/impl.md @@ -0,0 +1,28 @@ +# Business Rule Implementation + +This document defines the implementation boundary for business rule tasks. + +## Model-owned implementation + +The model may edit: + +- `bpmn:businessRuleTask` or service task wrapper when that is the local pattern. +- Documented `Orchestrator.BusinessRules` `uipath:activity` shell. +- Input CDATA for facts using declared variables. +- Output mappings for rule result, matched rule, diagnostics, and outcome. +- Gateway conditions that route by declared rule outputs. + +## CLI or operator-owned implementation + +The CLI or operator must resolve: + +- Real business rule resource identity, version, and binding metadata. +- Dynamic input/output schemas. +- Generated package metadata. + +## Validation expectations + +- Rule binding resolves before upload/run. +- Facts match the resolved rule input contract. +- Result variables exist and route expressions are assignment-free. +- Fallback or manual review paths exist when rule failure is recoverable. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/planning.md new file mode 100644 index 00000000..41b1aa3b --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/planning.md @@ -0,0 +1,29 @@ +# Business Rule Planning + +Use this reference when planning business rule execution from BPMN. + +## When to use + +- Evaluating rule tables or decision logic managed outside the BPMN diagram. +- Routing based on a rule result. +- Keeping business decisions separate from script code or gateway expressions. +- Combining rule evaluation with HITL review, queueing, RPA, or API workflow calls. + +## Planning steps + +1. Identify rule resource, input facts, output shape, and decision routes. +2. Decide whether rule failure should stop, retry, or route to manual review. +3. Declare variables for facts, result, diagnostics, and selected outcome. +4. Add a gateway after the rule task when result values drive routing. +5. Use placeholder-safe bindings until the rule resource is resolved. + +## Model may draft + +- Service task wrapper with documented `Orchestrator.BusinessRules` shell. +- Input/output mappings and post-rule gateway conditions. +- Retry and boundary error paths. +- Public-safe binding placeholders. + +## Stop conditions + +Stop before Operate when rule identity, input schema, output schema, version, or binding is unresolved. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/impl.md new file mode 100644 index 00000000..f1740775 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/impl.md @@ -0,0 +1,29 @@ +# Call Activity and Subprocess Implementation + +This document defines the implementation boundary for call activities and subprocesses. + +## Model-owned implementation + +The model may edit: + +- `bpmn:subProcess`, event subprocess, and `bpmn:callActivity`. +- Nested events, tasks, gateways, flows, and diagram planes. +- Scoped variables and `uipath:mapping` for boundary data. +- Boundary events, retries, and error mappings. +- Placeholder-safe called element references when documented. + +## CLI or operator-owned implementation + +The CLI or operator must resolve: + +- Real called process, package, API workflow, agent, or solution resource identity. +- Generated bindings and package metadata. +- Dynamic input/output schemas for called resources. + +## Validation expectations + +- Sequence flows stay within subprocess scope. +- Event subprocess start rules are satisfied. +- Call activity inputs and outputs match declared contracts. +- Nested visible elements have diagrams. +- Called-resource bindings are resolved before upload/run. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/planning.md new file mode 100644 index 00000000..27a1aa90 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/planning.md @@ -0,0 +1,29 @@ +# Call Activity and Subprocess Planning + +Use this reference when planning reusable or scoped process blocks. + +## When to use + +- Expanded subprocesses for local scoped work. +- Event subprocesses for scoped exception handling. +- Call activities for reusable processes or external workflows. +- Isolating variables, retries, and boundaries. + +## Planning steps + +1. Decide whether the work is local subprocess content or a call to another reusable process. +2. Define subprocess start/end behavior, variables, and mappings. +3. Confirm whether nested content must render in Studio Web and needs its own diagram. +4. Plan boundary events on the activity or subprocess. +5. Keep sequence flows inside scope; use mappings for data crossing boundaries. +6. Record unresolved called-resource bindings as placeholders. + +## Model may draft + +- `bpmn:subProcess`, event subprocess, and `bpmn:callActivity` structure. +- Scoped variables, input/output mappings, loop metadata, and diagram geometry. +- Boundary events and error paths. + +## Stop conditions + +Stop when a called process/resource is unknown, subprocess scope would be crossed by sequence flows, or input/output contracts are unclear. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/impl.md new file mode 100644 index 00000000..8d089dbe --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/impl.md @@ -0,0 +1,29 @@ +# Connector Implementation + +This document defines the implementation boundary for connector-backed BPMN elements. + +## Model-owned implementation + +The model may edit: + +- Standard BPMN wrapper elements around connector intent. +- Variables and mappings that consume connector outputs. +- Error, timeout, and fallback paths. +- Diagram geometry. + +## CLI-owned implementation + +The CLI or registry-backed tool must generate: + +- `Intsvc.*` `uipath:activity` or `uipath:event` payloads. +- Connector key, operation/event, object, and version context. +- Connection binding expressions and `bindings_v2.json` resources. +- Dynamic input/output schemas and generated output metadata. +- Trigger property bindings for connector triggers. + +## Validation expectations + +- Every executable connector element has enriched context, inputs, outputs, and schemas. +- Binding expressions resolve. +- Required parameters and filters are present. +- No tenant URLs, connection IDs, folder keys, or copied exported metadata are committed. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/planning.md new file mode 100644 index 00000000..8d8f1d24 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/planning.md @@ -0,0 +1,33 @@ +# Connector Planning + +Use this reference for connector-backed activities and triggers. Connector execution is Integration Service-owned. + +## When to use + +- Connector activities. +- Connector triggers. +- Connector-backed waits. +- Unified HTTP or authenticated HTTP through Integration Service. +- Dynamic connector schemas. + +## Planning steps + +1. Identify connector, operation or event, object, filters, inputs, outputs, and failure behavior. +2. Decide if the connector is a start trigger, intermediate wait, service task, or boundary behavior. +3. Plan surrounding BPMN structure and variables. +4. Record required operator choices: connection, folder scope, operation, filters, and output variable names. +5. Leave enrichment to the CLI before validation for upload/run. + +## Model may draft + +- Placeholder BPMN wrappers with stable IDs and public-safe labels. +- Surrounding flows, gateways, variables, and error paths. +- Draft notes that describe connector intent. + +## CLI must provide + +- Connector metadata, operation/event metadata, connection binding, trigger properties, schemas, and generated binding resources. + +## Stop conditions + +Stop before Operate if the connector element is not CLI-enriched or if copied private connection metadata appears in the source. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/impl.md new file mode 100644 index 00000000..a57335a9 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/impl.md @@ -0,0 +1,30 @@ +# Gateway Implementation + +This document defines the implementation boundary for BPMN gateways. + +## Model-owned implementation + +The model may edit: + +- `bpmn:exclusiveGateway`, `bpmn:inclusiveGateway`, `bpmn:parallelGateway`, `bpmn:eventBasedGateway`, and `bpmn:complexGateway`. +- Incoming and outgoing `bpmn:sequenceFlow` references. +- `default` attributes for exclusive and inclusive split gateways. +- `bpmn:conditionExpression` on outgoing flows. +- Gateway shapes and sequence flow edges. + +## Implementation rules + +- Store branch logic on outgoing sequence flows, not on the gateway element. +- Use a leading `=` for runtime expressions where the frontend expects expressions. +- Do not use assignment expressions in gateway conditions. +- Prefer explicit default flows for fallthrough paths. +- Use parallel gateways only when every branch should run or rejoin. +- Use event-based gateways only when the next route is determined by the first event that occurs. + +## Validation expectations + +- Split gateways have the right number of outgoing flows. +- Join gateways have the right number of incoming flows. +- Defaults reference an outgoing flow from the same gateway. +- Conditional branches reference declared variables. +- Event-based gateway outgoing flows lead to valid catch events or receive tasks. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/planning.md new file mode 100644 index 00000000..f80172e0 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/planning.md @@ -0,0 +1,31 @@ +# Gateway Planning + +Use this reference when planning BPMN routing, branching, and joining. + +## When to use + +- Exclusive, inclusive, parallel, event-based, or complex decisions. +- Merging alternative paths. +- Joining parallel or inclusive work. +- Waiting for one of several events. + +## Planning steps + +1. Identify whether the gateway splits, joins, or does both. +2. Choose the simplest gateway type that matches the business semantics. +3. Put human-readable branch intent on outgoing sequence flows. +4. Decide the default route for exclusive and inclusive splits. +5. Decide join semantics for parallel and inclusive branches. +6. Ensure no sequence flow crosses subprocess or participant scope. +7. Plan diagram placement so conditions and routes are reviewable. + +## Model may draft + +- Standard gateway elements. +- Outgoing sequence flow conditions and default flow references. +- Public-safe IDs, names, and diagram geometry. +- Text annotations that explain unresolved business decisions. + +## Stop conditions + +Stop for user input when branch conditions are ambiguous, defaults are unknown, or a join can deadlock because the triggering split semantics are unclear. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/impl.md new file mode 100644 index 00000000..c6960621 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/impl.md @@ -0,0 +1,29 @@ +# HITL Implementation + +This document defines the implementation boundary for HITL tasks. + +## Model-owned implementation + +The model may edit: + +- `bpmn:serviceTask` wrapper for human work. +- Documented `Actions.HITL` `uipath:activity` shell. +- Input body CDATA using synthetic payload fields. +- Output mappings for action result, completed fields, comments, and decision values. +- Boundary timeout/error events and post-task gateways. + +## Operator or CLI-owned implementation + +The operator or tooling must resolve: + +- Real Action Center app, form, folder, queue, group, or assignee references. +- Dynamic form schemas and generated resources. +- Tenant-specific routing and notification metadata. + +## Validation expectations + +- Task inputs and outputs reference declared variables. +- Outcome gateway conditions match possible result values. +- Timeout paths do not discard required process state. +- Binding references are placeholders or resolved generated resources. +- No personal names, emails, tenant URLs, or exported form payloads are committed. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/planning.md new file mode 100644 index 00000000..d4102bef --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/planning.md @@ -0,0 +1,30 @@ +# HITL Planning + +Use this reference when planning human-in-the-loop Action Center tasks in BPMN. + +## When to use + +- Human approval, validation, enrichment, or exception handling. +- A task must pause the process until a person completes work. +- Outcomes route the process through gateways. +- Escalation or timeout paths are required. + +## Planning steps + +1. Define the human decision or data entry outcome. +2. Decide required inputs, task payload, outputs, assignee/routing intent, due date, and escalation behavior. +3. Plan result variables and gateway routes after completion. +4. Add timeout or cancellation paths when the process cannot wait indefinitely. +5. Use public-safe placeholders for queues, groups, folders, apps, and task titles. +6. Confirm whether any Action Center resource must be resolved by tooling or the operator. + +## Model may draft + +- Service task wrapper and `Actions.HITL` shell when the contract is documented. +- Input/output mappings and outcome routes. +- Boundary timeout/error paths. +- Public-safe labels and diagram geometry. + +## Stop conditions + +Stop before Operate when real assignee, folder, app, task form, schema, or resource binding is unresolved. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/impl.md new file mode 100644 index 00000000..8969d0fe --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/impl.md @@ -0,0 +1,28 @@ +# Multi-Instance Implementation + +This document defines the implementation boundary for multi-instance activities. + +## Model-owned implementation + +The model may edit: + +- `bpmn:multiInstanceLoopCharacteristics`. +- Sequential or parallel marker attributes. +- `uipath:loopCharacteristics` extension metadata. +- Input collection, item variable, and output mappings. +- Boundary error paths and completion-condition expressions. + +## Implementation rules + +- Declare collection and item variables before referencing them. +- Use sequential execution when item order or resource limits matter. +- Keep per-item outputs distinct from aggregate outputs. +- Do not hide service-call retries inside loop metadata; model retry or boundary behavior explicitly. + +## Validation expectations + +- Input collection exists and is iterable. +- Item variable is scoped and referenced consistently. +- Completion conditions use readable variables and no assignments. +- Output aggregation target exists. +- Parallel execution does not conflict with known resource constraints. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/planning.md new file mode 100644 index 00000000..1964d02a --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/planning.md @@ -0,0 +1,29 @@ +# Multi-Instance Planning + +Use this reference when planning repeated execution over a collection. + +## When to use + +- Running an activity once per item. +- Parallel or sequential collection processing. +- Aggregating per-item outputs. +- Combining multi-instance with subprocess, service task, HITL, RPA, agent, or API workflow calls. + +## Planning steps + +1. Identify input collection, item variable, output collection, and completion condition. +2. Choose sequential or parallel execution based on side effects and ordering. +3. Decide how errors should affect the batch. +4. Plan aggregation and downstream gateway behavior. +5. Add UiPath loop metadata only after variables are declared. +6. Avoid parallel fan-out when called resources have rate limits or side effects that require ordering. + +## Model may draft + +- Standard BPMN loop characteristics. +- `uipath:loopCharacteristics` with input collection and input element metadata. +- Variables, mappings, boundary errors, and diagrams. + +## Stop conditions + +Stop when collection shape, item variable, ordering, aggregation, or failure behavior is not defined. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/impl.md new file mode 100644 index 00000000..78515b1f --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/impl.md @@ -0,0 +1,28 @@ +# Queue Implementation + +This document defines the implementation boundary for queue tasks. + +## Model-owned implementation + +The model may edit: + +- Service task wrapper for queue item creation. +- Documented `Orchestrator.CreateQueueItem` `uipath:activity` shell. +- Input CDATA for item payload, reference, priority, deadline, and transaction data. +- Output mappings for queue item ID, status, or correlation fields. +- Boundary error handling. + +## CLI or operator-owned implementation + +The CLI or operator must resolve: + +- Real queue binding, folder scope, and generated package resources. +- Tenant-specific queue names, IDs, or folder keys. +- Queue schema or downstream callback contracts when required. + +## Validation expectations + +- Queue binding expression resolves. +- Payload fields come from declared variables or literals. +- Outputs map to declared writable variables. +- Duplicate reference and unavailable-resource paths are modeled when required. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/planning.md new file mode 100644 index 00000000..1e4ef652 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/planning.md @@ -0,0 +1,29 @@ +# Queue Planning + +Use this reference when planning Orchestrator queue interactions from BPMN. + +## When to use + +- Creating queue items. +- Routing based on queue submission results. +- Adding transaction metadata or references. +- Using queue work as a handoff to another automation. + +## Planning steps + +1. Identify queue operation and whether BPMN only creates an item or also waits for downstream completion. +2. Define item payload, reference, priority, deadline, and result variables. +3. Plan queue resource binding with placeholders unless a public-safe binding is provided. +4. Add error handling for duplicate references, validation failures, and unavailable queues. +5. Keep downstream processing outside BPMN unless explicitly modeled as a wait or callback. + +## Model may draft + +- `bpmn:serviceTask` with documented `Orchestrator.CreateQueueItem` shell. +- Queue payload CDATA with synthetic fields. +- Output mappings and error paths. +- Placeholder-safe binding references. + +## Stop conditions + +Stop before Operate when the queue resource, folder scope, payload schema, or retry/error behavior is unresolved. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/impl.md new file mode 100644 index 00000000..9042123e --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/impl.md @@ -0,0 +1,29 @@ +# RPA Job Implementation + +This document defines the implementation boundary for RPA job tasks. + +## Model-owned implementation + +The model may edit: + +- `bpmn:serviceTask` wrapper for RPA job execution. +- Documented `Orchestrator.StartJob` `uipath:activity` shell. +- Input CDATA for job arguments using declared variables. +- Output mappings for job ID, status, outputs, and exception fields. +- Retry, timeout, and boundary error paths. + +## CLI or operator-owned implementation + +The CLI or operator must resolve: + +- Real process, release, folder, robot, and binding metadata. +- Generated package resources and argument schemas. +- Creation or update of the RPA automation itself. + +## Validation expectations + +- Process binding expression resolves. +- Argument names match the resolved process contract. +- Wait and timeout behavior is explicit. +- Outputs map to declared writable variables. +- No release keys, folder IDs, robot names, or exported private metadata are committed. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/planning.md new file mode 100644 index 00000000..c2dfd537 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/planning.md @@ -0,0 +1,29 @@ +# RPA Job Planning + +Use this reference when planning Orchestrator RPA process execution from BPMN. + +## When to use + +- Starting an unattended or attended process job. +- Passing BPMN variables into an RPA process. +- Waiting for job result or routing by status. +- Handling job faults, timeouts, and business exceptions. + +## Planning steps + +1. Identify process, folder/resource scope, input arguments, output arguments, and wait behavior. +2. Decide if the BPMN path should continue after starting the job or wait for completion. +3. Plan job ID, status, output, and error variables. +4. Add boundary timeout/error behavior and retry intent. +5. Use placeholder-safe bindings unless the operator provides public-safe resource references. +6. Hand missing RPA project creation or editing to the RPA skill; do not create it here. + +## Model may draft + +- Service task wrapper with documented `Orchestrator.StartJob` shell. +- Input/output mappings and error paths. +- Public-safe binding placeholders and diagram geometry. + +## Stop conditions + +Stop before Operate when process identity, folder binding, argument schema, or wait semantics are unresolved. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/script/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/script/impl.md new file mode 100644 index 00000000..0d3bd1a7 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/script/impl.md @@ -0,0 +1,29 @@ +# Script Implementation + +This document defines the implementation boundary for script tasks. + +## Model-owned implementation + +The model may edit: + +- `bpmn:scriptTask` with `scriptFormat="JavaScript"`. +- `bpmn:script` content in CDATA. +- `uipath:scriptVersion`. +- `uipath:mapping` for `args` input and outputs. +- Declared variables and JSON schemas used by the script. +- Boundary error paths. + +## Implementation rules + +- Keep script source deterministic and side-effect-light. +- Use `args` as the input object when that is the local convention. +- Return or map explicit outputs instead of mutating undeclared globals. +- Do not embed secrets, account data, URLs, or local paths. +- Do not use scripts as a substitute for connector enrichment or RPA work. + +## Validation expectations + +- Input variables exist and are readable. +- Output variables exist and are writable. +- Script CDATA is syntactically coherent. +- `uipath:scriptVersion` is present when required by the local contract. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/script/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/script/planning.md new file mode 100644 index 00000000..19919ec2 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/script/planning.md @@ -0,0 +1,30 @@ +# Script Planning + +Use this reference when planning BPMN script tasks. + +## When to use + +- Deterministic in-process data transformation. +- Small validation or routing helper logic. +- Preparing request bodies for downstream tasks. +- Normalizing outputs before gateways or end events. + +## Planning steps + +1. Confirm the logic belongs inside BPMN instead of an RPA job, API workflow, agent, or connector. +2. Define input variables, output variables, and error behavior. +3. Keep scripts small, deterministic, and public-safe. +4. Plan `args` input shape and output mappings. +5. Add boundary error handling when script failure should be recoverable. +6. Avoid secrets, tenant data, network calls, and private examples. + +## Model may draft + +- `bpmn:scriptTask` with JavaScript script CDATA. +- `uipath:scriptVersion`. +- Input and output mappings using declared variables. +- Diagram geometry and surrounding error paths. + +## Stop conditions + +Stop when the script needs secrets, network access, long-running work, external packages, or customer-specific logic that should be implemented outside BPMN. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/impl.md new file mode 100644 index 00000000..a8eb22da --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/impl.md @@ -0,0 +1,29 @@ +# Sequence Flow Implementation + +This document defines the implementation boundary for BPMN sequence flows. + +## Model-owned implementation + +The model may edit: + +- `bpmn:sequenceFlow` with `id`, `sourceRef`, `targetRef`, and optional `name`. +- `bpmn:conditionExpression` bodies. +- `incoming` and `outgoing` child references on flow nodes. +- Gateway `default` attributes that reference sequence flows. +- `bpmndi:BPMNEdge` waypoints. + +## Implementation rules + +- Keep sequence flows inside one process or subprocess scope. +- Use `xsi:type="bpmn:tFormalExpression"` for condition expressions when the file uses that convention. +- Use a leading `=` for UiPath runtime expressions. +- Do not attach conditions to outgoing flows from parallel gateways. +- Update both XML references and diagram edges together. + +## Validation expectations + +- Every sequence flow source and target exists. +- Connected elements reference the sequence flow consistently. +- Conditional expressions parse and use declared variables. +- Default flows are not also treated as mandatory conditional branches. +- Every visible sequence flow has a BPMN DI edge. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/planning.md new file mode 100644 index 00000000..5d459bb9 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/planning.md @@ -0,0 +1,30 @@ +# Sequence Flow Planning + +Use this reference when planning control-flow edges between BPMN nodes in the same scope. + +## When to use + +- Connecting tasks, events, gateways, and subprocesses. +- Adding branch conditions or default routes. +- Re-routing existing process paths. +- Adding diagram waypoints for Studio Web rendering. + +## Planning steps + +1. Identify source and target elements and confirm they are in the same BPMN scope. +2. Decide whether the flow is unconditional, conditional, or a gateway default. +3. Name flows only when the label helps reviewers understand a branch. +4. Plan expressions from declared variables and mappings. +5. Update diagram waypoints with readable routing. +6. Check downstream joins and end states after every route change. + +## Model may draft + +- `bpmn:sequenceFlow` elements. +- Conditional expressions and default-route labels. +- Incoming and outgoing references on connected nodes. +- BPMN DI edges and waypoints. + +## Stop conditions + +Stop when a requested route crosses subprocess, event subprocess, or participant boundaries; use message flow, call activity, or subprocess modeling instead. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/impl.md new file mode 100644 index 00000000..38a872ec --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/impl.md @@ -0,0 +1,30 @@ +# Service Task Implementation + +This document defines the implementation boundary for service tasks. + +## Model-owned implementation + +The model may edit: + +- `bpmn:serviceTask` elements, flow references, and diagram shapes. +- `uipath:mapping` for declared variables. +- `uipath:retry`, `uipath:errorMapping`, and tags when explicitly requested. +- Documented non-Integration-Service `uipath:activity` shells with public-safe context. +- Boundary error or timeout events attached to the task. + +## CLI-owned implementation + +The CLI must enrich or validate: + +- Integration Service payloads. +- Dynamic schemas and generated outputs. +- Binding resources in generated package files. +- Real resource identifiers for cloud-side execution. + +## Validation expectations + +- Required service context fields exist for the selected type. +- Inputs reference declared variables or literals. +- Outputs map to declared writable variables. +- Binding expressions resolve to root `uipath:bindings` or generated bindings. +- Boundary events use valid event definitions and stay in scope. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/planning.md new file mode 100644 index 00000000..a4154908 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/planning.md @@ -0,0 +1,30 @@ +# Service Task Planning + +Use this reference when planning BPMN service tasks and service-like work. + +## When to use + +- System work represented by `bpmn:serviceTask`. +- UiPath extension-backed service shells. +- Draft placeholders for connector, queue, agent, RPA, API workflow, or business rule calls. +- Service work that needs retry, error mapping, input mapping, or output mapping. + +## Planning steps + +1. Identify the service owner: model-authored shell, CLI-enriched connector, Orchestrator resource, or external dependency. +2. Decide whether the task can be implemented now or must remain a draft placeholder. +3. List required inputs, outputs, bindings, retry behavior, and boundary error paths. +4. Declare variables before mapping task outputs. +5. Plan resource bindings with placeholder-safe IDs only. +6. Add diagram geometry and surrounding flows. + +## Model may draft + +- Standard `bpmn:serviceTask` wrappers. +- Public-safe IDs, labels, mappings, retries, and boundary errors. +- Documented non-Integration-Service `uipath:activity` shells. +- Placeholders for CLI-owned service details. + +## Stop conditions + +Stop before upload/run when required service type metadata, resource binding, input schema, output schema, or executable context is missing. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/impl.md new file mode 100644 index 00000000..b260a5db --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/impl.md @@ -0,0 +1,28 @@ +# Signal Implementation + +This document defines the implementation boundary for BPMN signals. + +## Model-owned implementation + +The model may edit: + +- Root `bpmn:signal` definitions. +- `bpmn:signalEventDefinition` references on start, intermediate, boundary, and end events. +- Signal throw/catch sequence flows and event subprocesses. +- Public-safe payload variable mappings. +- Diagram shapes and edges. + +## CLI or operator-owned implementation + +The CLI or operator must resolve: + +- Any runtime subscription or cross-process signal binding outside standard BPMN XML. +- Payload schemas that are generated by a runtime resource. +- Tenant-specific channel, folder, or resource identifiers. + +## Validation expectations + +- Every signal event definition references an existing signal. +- Throw and catch semantics are intentional and documented in labels or annotations. +- Signal waits have timeout or fallback paths when required. +- Payload mappings reference declared variables. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/planning.md new file mode 100644 index 00000000..07d7692f --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/planning.md @@ -0,0 +1,29 @@ +# Signal Planning + +Use this reference when planning BPMN signal throw/catch behavior. + +## When to use + +- Broadcasting an event to one or more waiting process paths. +- Starting or resuming a path from a signal. +- Coordinating between event subprocesses or independent processes. +- Modeling public-safe cross-process notification without connector metadata. + +## Planning steps + +1. Decide whether the signal is local modeling intent or an executable runtime contract. +2. Define signal name, payload variables, catch locations, and throw locations. +3. Plan correlation and idempotency behavior if multiple instances can catch the signal. +4. Add timeout or fallback paths for waits. +5. Use signal events where broadcast semantics are intended; use message events for directed correlation. + +## Model may draft + +- `bpmn:signal` definitions. +- Signal start, catch, throw, boundary, and end events. +- Mappings and diagram geometry. +- Public-safe signal names and payload variables. + +## Stop conditions + +Stop before Operate when runtime signal subscription, correlation, payload schema, or cross-process contract is unresolved. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/impl.md new file mode 100644 index 00000000..6f3ecfe1 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/impl.md @@ -0,0 +1,32 @@ +# Start, End, and Event Implementation + +This document defines the implementation boundary for BPMN events. + +## Model-owned implementation + +The model may edit: + +- `bpmn:startEvent`, `bpmn:endEvent`, `bpmn:intermediateCatchEvent`, `bpmn:intermediateThrowEvent`, and `bpmn:boundaryEvent`. +- Standard event definitions such as timer, message, signal, error, escalation, conditional, link, and terminate where supported. +- Event IDs, names, `attachedToRef`, `cancelActivity`, incoming/outgoing flows, and BPMN DI. +- Root `uipath:entryPointId` values for root starts. +- `uipath:mapping` entries for event input/output movement. +- Documented non-Integration-Service `uipath:event` shells such as Maestro message events. + +## CLI-owned or externally resolved implementation + +The CLI or operator must resolve: + +- Integration Service trigger and wait metadata. +- Trigger property bindings and generated schemas. +- Real connection, folder, queue, or external-system identifiers. +- Cloud-side subscription, schedule, or correlation resources. + +## Validation expectations + +- Root runnable starts have unique entry point IDs. +- Entry point variables reference the owning start event. +- Event subprocesses have exactly one valid start event. +- Boundary events attach to an activity in the same scope. +- Message, signal, error, and escalation references resolve. +- Every visible event and event flow has diagram geometry. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/planning.md new file mode 100644 index 00000000..907449f7 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/planning.md @@ -0,0 +1,32 @@ +# Start, End, and Event Planning + +Use this reference when planning BPMN start events, end events, intermediate events, and boundary events. + +## When to use + +- Manual, timer, message, signal, conditional, or trigger-driven starts. +- Normal, terminate, error, escalation, message, or signal ends. +- Intermediate catch or throw events in the process body. +- Boundary events attached to activities for timeout, error, message, signal, or escalation paths. + +## Planning steps + +1. Identify whether the event starts work, waits for work, throws a notification, handles an exception, or finishes the process. +2. Choose the BPMN event type and event definition before adding UiPath metadata. +3. Determine scope: root process, subprocess, event subprocess, or activity boundary. +4. Decide entry point status for root start events and list required entry variables. +5. Plan event outputs and mappings to process variables. +6. Record any runtime resource that needs CLI enrichment, especially connector-backed triggers or waits. +7. Plan outgoing sequence flows, boundary escape paths, and end-state outputs. + +## Model may draft + +- Standard BPMN event elements and event definitions. +- `uipath:entryPointId` for runnable root start events. +- Public-safe IDs, labels, mappings, and diagram geometry. +- Message, signal, error, or escalation definitions with synthetic names. +- Boundary attachment and interrupting versus non-interrupting intent. + +## Stop conditions + +Stop before Operate when an event depends on unresolved connector metadata, trigger properties, dynamic schema, real message correlation contract, or private identifiers. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/impl.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/impl.md new file mode 100644 index 00000000..687d877b --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/impl.md @@ -0,0 +1,30 @@ +# Wait and Trigger Implementation + +This document defines the implementation boundary for waits and triggers. + +## Model-owned implementation + +The model may edit: + +- Timer, message, signal, conditional, and boundary event definitions. +- Receive-task or event-based-gateway structures. +- Entry point metadata for runnable starts. +- Public-safe correlation variable names and mappings. +- Non-Integration-Service message event shells when documented. + +## CLI-owned or operator-owned implementation + +The CLI or operator must provide: + +- Integration Service trigger/wait context and schemas. +- Schedule resource details when they are cloud-owned. +- Real correlation identifiers, subscriptions, and binding resources. +- Generated package files for executable triggers. + +## Validation expectations + +- Start triggers are valid entry points. +- Intermediate waits have a path to resume or time out. +- Boundary timers attach to valid activities. +- Event schemas and output mappings resolve. +- Connector-backed waits are enriched before upload/run. diff --git a/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/planning.md b/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/planning.md new file mode 100644 index 00000000..144252d5 --- /dev/null +++ b/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/planning.md @@ -0,0 +1,30 @@ +# Wait and Trigger Planning + +Use this reference when planning process starts or pauses that wait for time, messages, signals, schedules, or external events. + +## When to use + +- Timer starts or timer intermediate events. +- Message, signal, conditional, or connector-backed starts. +- Intermediate waits for messages, signals, or external connector events. +- Timeout branches and boundary timers. + +## Planning steps + +1. Identify whether the wait begins the process, pauses the current path, or interrupts an activity. +2. Choose timer, message, signal, conditional, receive task, event-based gateway, or connector trigger shape. +3. Define correlation inputs and outputs in public-safe terms. +4. Plan timeout and cancellation behavior. +5. Mark Integration Service trigger or wait enrichment as CLI-owned. +6. Confirm whether the process may resume with stale data and how outputs update variables. + +## Model may draft + +- Standard timer, message, signal, conditional, and boundary event structure. +- Receive/wait task wrappers for non-connector message waits. +- `uipath:event` shells for documented non-Integration-Service events. +- Entry point IDs and variable mappings. + +## Stop conditions + +Stop before Operate when schedule, trigger properties, correlation contract, connector metadata, or dynamic event schema is unresolved.