@uipath/skills 1.200.0 → 1.201.0-preview.433
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +32 -0
- package/CODEOWNERS +25 -4
- package/README.md +1 -0
- package/assets/skill-status.json +8 -0
- package/assets/uip-catalog-snapshot.json +113 -41
- package/assets/uipath-icon.png +0 -0
- package/commands/install-permissions.md +1 -0
- package/package.json +3 -2
- package/skills/uipath-admin/SKILL.md +1 -1
- package/skills/uipath-admin/references/authorization/permission-catalog.md +61 -1
- package/skills/uipath-admin/references/authorization/role-management.md +3 -1
- package/skills/uipath-admin/references/diagnose/references/failure-modes.md +29 -4
- package/skills/uipath-admin/references/diagnose/references/troubleshooting-guide.md +13 -0
- package/skills/uipath-agents/SKILL.md +1 -0
- package/skills/uipath-agents/references/coded/capabilities/context-grounding.md +3 -3
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +6 -1
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +89 -1
- package/skills/uipath-agents/references/coded/embedding-in-flows.md +17 -1
- package/skills/uipath-agents/references/coded/frameworks/llamaindex-integration.md +64 -2
- package/skills/uipath-agents/references/coded/lifecycle/deployment.md +3 -0
- package/skills/uipath-agents/references/coded/lifecycle/environment-variables.md +90 -0
- package/skills/uipath-agents/references/coded/lifecycle/file-sync.md +3 -1
- package/skills/uipath-agents/references/coded/quickstart.md +10 -6
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +20 -5
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +13 -0
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +1 -3
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +17 -6
- package/skills/uipath-automationhub/SKILL.md +58 -0
- package/skills/uipath-automationhub/references/api-endpoints.md +140 -0
- package/skills/uipath-automationhub/references/get-process.md +69 -0
- package/skills/uipath-automationhub/references/publish-process.md +171 -0
- package/skills/uipath-coded-apps/SKILL.md +24 -11
- package/skills/uipath-coded-apps/references/commands-reference.md +29 -29
- package/skills/uipath-coded-apps/references/create-action-app.md +4 -0
- package/skills/uipath-coded-apps/references/create-web-app.md +10 -0
- package/skills/uipath-coded-apps/references/debug.md +16 -0
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +3 -1
- package/skills/uipath-coded-apps/references/oauth-scopes.md +39 -4
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +37 -21
- package/skills/uipath-coded-apps/references/sdk/conversational-agent.md +2 -0
- package/skills/uipath-coded-apps/references/sdk/data-fabric.md +2 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +2 -0
- package/skills/uipath-coded-apps/references/widgets/conversational-agent-chat.md +90 -0
- package/skills/uipath-coded-apps/references/widgets/datatable.md +97 -0
- package/skills/uipath-coded-apps/references/widgets/external-auth.md +97 -0
- package/skills/uipath-coded-apps/references/widgets/multi-file-upload.md +98 -0
- package/skills/uipath-coded-apps/references/widgets/pdf-viewer.md +122 -0
- package/skills/uipath-coded-apps/references/widgets/validation-station.md +1 -1
- package/skills/uipath-functions/SKILL.md +11 -0
- package/skills/uipath-insights/SKILL.md +52 -247
- package/skills/uipath-insights/references/filter-discovery-guide.md +106 -0
- package/skills/uipath-insights/references/investigation-playbook-guide.md +24 -16
- package/skills/uipath-insights/references/jobs-commands-guide.md +196 -53
- package/skills/uipath-ixp/SKILL.md +10 -4
- package/skills/uipath-ixp/references/cli-reference.md +59 -5
- package/skills/uipath-ixp/references/label-documents-guide.md +12 -5
- package/skills/uipath-maestro-bpmn/SKILL.md +27 -9
- package/skills/uipath-maestro-bpmn/references/diagnose/references/failure-modes.md +6 -3
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-bpmn/references/operate/references/ship.md +9 -3
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +1 -1
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +18 -11
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +13 -7
- package/skills/uipath-maestro-case/SKILL.md +138 -170
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +14 -1
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +25 -1
- package/skills/uipath-maestro-case/references/brownfield.md +7 -3
- package/skills/uipath-maestro-case/references/case-commands.md +63 -8
- package/skills/uipath-maestro-case/references/case-editing-operations.md +11 -8
- package/skills/uipath-maestro-case/references/case-schema.md +5 -3
- package/skills/uipath-maestro-case/references/case-spec-input-details.md +4 -0
- package/skills/uipath-maestro-case/references/connector-integration.md +3 -1
- package/skills/uipath-maestro-case/references/connector-trigger-impl.md +236 -0
- package/skills/uipath-maestro-case/references/connector-trigger-planning.md +300 -0
- package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -0
- package/skills/uipath-maestro-case/references/evals/evals.json +33 -40
- package/skills/uipath-maestro-case/references/implementation.md +58 -13
- package/skills/uipath-maestro-case/references/phased-execution.md +87 -20
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +3 -1
- package/skills/uipath-maestro-case/references/planning.md +26 -16
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +2 -5
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +42 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +50 -32
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +2 -4
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +1 -4
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +43 -13
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -7
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -6
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +1 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +1 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +40 -2
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +12 -2
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +8 -6
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +17 -3
- package/skills/uipath-maestro-case/references/registry-discovery.md +9 -5
- package/skills/uipath-maestro-case/references/sla-response-shapes.md +3 -1
- package/skills/uipath-maestro-case/references/troubleshooting-guide.md +2 -0
- package/skills/uipath-maestro-case/scripts/audit_plan.py +231 -0
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +8 -4
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-cli.md +5 -3
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +14 -4
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +3 -3
- package/skills/uipath-maestro-flow/references/author/references/greenfield.md +12 -3
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +17 -13
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +49 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +59 -17
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +3 -3
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +3 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +3 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +5 -2
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +31 -16
- package/skills/uipath-maestro-flow/references/author/references/plugins/ixp/impl.md +13 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/loop/impl.md +185 -25
- package/skills/uipath-maestro-flow/references/author/references/plugins/loop/planning.md +18 -10
- package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +9 -3
- package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +6 -3
- package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +68 -0
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +2 -1
- package/skills/uipath-maestro-flow/references/shared/file-format.md +36 -9
- package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +77 -20
- package/skills/uipath-planner/SKILL.md +30 -12
- package/skills/{uipath-maestro-case/assets/templates/sdd-template-examples.md → uipath-planner/assets/templates/case-sdd-examples.md} +18 -32
- package/skills/uipath-planner/assets/templates/case-sdd-template.md +289 -309
- package/skills/uipath-planner/references/case-design-lane-guide.md +288 -0
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +1 -1
- package/skills/uipath-planner/references/package-selection-guide.md +2 -2
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +5 -1
- package/skills/uipath-planner/references/product-selection-guide.md +2 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +16 -15
- package/skills/uipath-planner/scripts/audit_sdd.py +437 -0
- package/skills/uipath-platform/SKILL.md +7 -2
- package/skills/uipath-platform/references/data-fabric/choice-sets.md +1 -1
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +1 -1
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +37 -21
- package/skills/uipath-platform/references/data-fabric/file-attachments.md +1 -1
- package/skills/uipath-platform/references/guardrails/byo-configurations.md +205 -0
- package/skills/uipath-platform/references/traces/feedback.md +4 -2
- package/skills/uipath-platform/references/uip-commands.md +2 -2
- package/skills/uipath-review/SKILL.md +55 -52
- package/skills/uipath-review/references/agents/agent-grading-rubric.md +62 -40
- package/skills/uipath-review/references/agents/agents-coded-rules.md +7 -1
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +21 -2
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +78 -13
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +11 -4
- package/skills/uipath-review/references/architecture-assessment-guide.md +1 -1
- package/skills/uipath-review/references/review-workflow-guide.md +19 -10
- package/skills/uipath-review/references/rule-catalog-workflow.md +6 -6
- package/skills/uipath-review/references/rule-format.md +1 -1
- package/skills/uipath-rpa/SKILL.md +1 -1
- package/skills/uipath-solution/SKILL.md +4 -4
- package/skills/uipath-solution/references/solution-overview.md +7 -2
- package/skills/uipath-tasks/SKILL.md +27 -1
- package/skills/uipath-tasks/references/task-catalogs.md +79 -0
- package/skills/uipath-tasks/references/task-data.md +45 -0
- package/skills/uipath-tasks/references/task-metadata.md +69 -0
- package/skills/uipath-test/SKILL.md +3 -3
- package/skills/uipath-test/references/test-result-report-guide.md +16 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +2 -2
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +12 -0
- package/version-manifest.json +2 -2
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +0 -667
- package/skills/uipath-maestro-case/references/connector-trigger-common.md +0 -511
- package/skills/uipath-maestro-case/references/phase-0-interview.md +0 -279
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +0 -1026
- package/skills/uipath-review/references/agents/agent-common-issues.md +0 -401
- package/skills/uipath-review/references/agents/agent-review-checklist.md +0 -379
- /package/skills/{uipath-maestro-case → uipath-planner}/assets/templates/sdd-viewer.html +0 -0
|
@@ -1,87 +1,87 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: uipath-maestro-case
|
|
3
|
-
description: "Always invoke for UiPath Maestro Case Management work: `caseplan.json`, `sdd.md`,
|
|
3
|
+
description: "Always invoke for UiPath Maestro Case Management build work: `caseplan.json`, `sdd.md`, or building/creating a case when no SDD exists yet (the case design is produced first, then confirmed in one review). Produces tasks.md and authors or edits caseplan.json directly with Write/Edit. For .xaml→uipath-rpa, .flow→uipath-maestro-flow, .bpmn→uipath-maestro-bpmn. For standalone case SDD design, case `sdd.draft.md` finalization, PDD→SDD, or cross-product planning→uipath-planner."
|
|
4
4
|
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion, TodoWrite, Agent
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# UiPath Case Management Authoring Assistant
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Build UiPath Case Management definitions from `sdd.md`. Generate `tasks.md`, then write `caseplan.json` directly using the applicable per-plugin JSON recipes.
|
|
10
10
|
|
|
11
|
-
> **Authoring invariant:** Never use mutating `uip maestro case` commands (`cases|stages|tasks|*-conditions ... add|update|remove`, including `tasks add-connector`) or explore them
|
|
11
|
+
> **Authoring invariant:** Never use mutating `uip maestro case` commands (`cases|stages|tasks|*-conditions ... add|update|remove`, including `tasks add-connector`) or explore them with `--help`. Use the CLI only for scaffolding, metadata reads, validation/debug, runtime operations, and solution sync/upload. Consult [case-commands.md](references/case-commands.md) only when exact syntax is needed. CLI availability or a final `validate` requirement never overrides this rule.
|
|
12
12
|
|
|
13
|
-
When `sdd.md` is absent,
|
|
13
|
+
When `sdd.md` is absent, case design belongs exclusively to **`uipath-planner`**, which runs its Case Design Lane in this conversation. This skill never designs independently. The lane uses best-assumption design, Listen → Sketch → full design-time tenant resolution, a mandatory other-path sweep, and one decision-first eight-section Case Review. Its Build answer is consent; it writes template-conformant `sdd.md`, then this skill continues immediately with `uip solution init`, Phase 1, and later phases. The same handoff applies to `sdd.draft.md` finalization. Never overwrite an existing `sdd.md`.
|
|
14
14
|
|
|
15
|
-
**Scope:**
|
|
15
|
+
**Scope:** greenfield builds from `sdd.md` and brownfield targeted edits to an existing `caseplan.json`; see [references/brownfield.md](references/brownfield.md). For Studio Web cases, pull current server state first with `uip solution download` or `solution projects resync` so publishing cannot clobber server changes.
|
|
16
16
|
|
|
17
17
|
## When to Use This Skill
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
- User asks to create new case management project but has no `sdd.md` (Phase 0 interview generates one)
|
|
21
|
-
- User asks to create new case management project or definition
|
|
22
|
-
- User asks to generate implementation tasks from `sdd.md` or convert spec to plan
|
|
23
|
-
- User asks to edit, modify, or update an existing `caseplan.json` (add/remove a stage or task, change a condition, swap a trigger) — targeted edits skip planning; see [references/brownfield.md](references/brownfield.md)
|
|
24
|
-
- User asks about case management JSON schema — nodes, transitions, tasks, rules, SLA
|
|
25
|
-
- User wants to manage runtime case instances (list, pause, resume, cancel) — see [references/case-commands.md](references/case-commands.md)
|
|
19
|
+
Use for:
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
- Building a Case Management project from `sdd.md`.
|
|
22
|
+
- Creating a case when no SDD exists; hand design to `uipath-planner` in this conversation.
|
|
23
|
+
- Generating implementation tasks from an SDD.
|
|
24
|
+
- Editing an existing `caseplan.json` by targeted intent: stage/task changes, conditions, or triggers.
|
|
25
|
+
- Questions about case JSON schema, nodes, transitions, tasks, rules, SLA, or runtime case instances.
|
|
26
|
+
|
|
27
|
+
Do not use for `.xaml` → `uipath-rpa`, `.flow` → `uipath-maestro-flow`, or standalone agents/APIs/processes outside case context.
|
|
28
28
|
|
|
29
29
|
## Critical Rules
|
|
30
30
|
|
|
31
|
-
1. **
|
|
32
|
-
2. **
|
|
33
|
-
3. **
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
31
|
+
1. **Design handoff and SDD authority.** If `sdd.md` is absent, immediately invoke `uipath-planner`’s Case Design Lane in this conversation, before reading references or running tenant commands. Do not improvise interviews, design subagents, generic Build Plan approvals, or design-only behavior here. The lane’s single Case Review has exactly these sections: Case Snapshot; Primary Journey; Other Paths Considered; SLA and Escalations; Rules and Outcomes; Resources and Integrations with design-time resolutions; Decisions I Made; Review Flags. It names every stage/task, type, activation/grouping, required status, routing/outcome, and SLA context; `sdd.md` separately contains the complete data contract, variables, and task inputs/outputs. The Build options incorporate Rule 11, and the Build answer is the sole consent. Corrections re-show only changed review sections. Before approval, every `selected-tasks-completed` selector must resolve to a non-adhoc sibling in the same stage. The lane writes `sdd.md` early, then this skill runs `uip solution init <SolutionName>` and Phase 1 without another prompt unless explicitly requested. If the request asks only for `sdd.md` plus `tasks/tasks.md`, write compact `tasks/tasks.md` after Save/Build, do not read plugin references or run tenant discovery, and stop before `caseplan.json`. If `sdd.draft.md` is to be finalized, use the lane fast path with target basename `sdd.md`. Never overwrite `sdd.md`.
|
|
32
|
+
2. **SDD is the sole post-design input, across sessions.** Trust user-provided or previously written `sdd.md`; do not validate, gap-fill, or silently infer it. In the same conversation as design approval, use the in-memory model that wrote it without rereading. Use AskUserQuestion for build-phase ambiguity. Run a one-Grep receipt spot-check before reading an SDD not watched being written: it must contain `## Section 1: Case Definition` through `## Section 4: Integrations` and at least one `##### Task` block. Freeform/summary SDDs go back through the planner template-conformance gate.
|
|
33
|
+
3. **Phase 1 registry gate.** Run `uip login status --output json`, then `uip maestro case registry pull`, before cache inspection, carryover, resolution, or Phase 1 writes. Pull at most once per session. If the planner lane ran in this session, its pull succeeded, and it wrote the SDD, reuse the cache. With the lane’s in-context resolution outcomes, use verify-only planning: persist them verbatim to `tasks/registry-resolved.json`, spot-check cache entries, execute gate decisions, and re-resolve only stale/missing entries. Otherwise run the full gate. Login/pull failure stops Phase 1. Read `~/.uip/case-resources/<type>-index.json` directly; `registry search` has known gaps, especially action-apps. Before a successful pull, missing cache files are failed refresh preconditions, never zero matches; only after success may empty exact-name matches or absent indexes enter empty-lookup handling. Trust the SDD; the pull refreshes discovery only. The planner lane owns design-time resolution, lazily starting login/pull when tenant-bound work first appears, resolving identities with one batched Case Review gate, and recording SDD cells plus its resolution ledger. No schema discovery occurs there.
|
|
34
|
+
|
|
35
|
+
**Plan-only exception:** when explicitly stopping at `sdd.md`, `sdd.draft.md`, or `tasks.md` without `caseplan.json`, solution, or build, do not run tenant registry, connection, schema, or user-discovery commands. Preserve intended names, mark identities `resolve at build`, and report deferred wiring. This exception does not apply when the user requests resource/identity resolution, registry refresh, stale-audit replacement, `tasks/registry-resolved.json`, or `tasks/recipients-resolved.json`; then run the normal gate, resolve identities, emit build-path `tasks.md`, and stop at the Rule 7 plan gate.
|
|
36
|
+
4. **Parsed reads require `--output json`.**
|
|
37
|
+
5. **Use plugin references.** Read the matching plugin `planning.md` during planning and `impl-json.md` during execution; never guess JSON shapes.
|
|
38
|
+
6. **`tasks.md` is declarative and lossless.** No shell commands. Use plain field identifiers, not CLI flags. Create one T-entry for every SDD stage, task, trigger, condition, SLA rule, variable, and argument, including explicit defaults. Preserve every valid explicit rule/selector exactly; reject and repair invalid `selected-tasks-completed` selectors. Preserve stage/task/SLA `Design Rationale` and condition routing/activation rationales as `rationale:`. Preserve every Inputs row, binding mode, and value. Preserve JSON object literals exactly: native object or JSON-encoded string in `input.value`; add `=js:`/`=jsonString:` only when explicitly present in the SDD. Project Outputs through [`plugins/variables/io-binding/planning.md`](references/plugins/variables/io-binding/planning.md#sdd-outputs-table-to-tasksmd-projection-mandatory), preserving operator and operands. SDD output rows require `->` or `=`; schema-discovered bare outputs are not authored SDD rows. Never simplify equal-name `->` rows; `greeting -> greeting` differs from schema-discovered bare `greeting`. `—` placeholders are not operands. AskUserQuestion for unrecognized or ambiguous rows; never omit silently. Regenerate greenfield plans from scratch; brownfield edits preserve IDs. Every §4.6 task entry has its own `activation-mode:` and `entry-rule:` — repeat this per task, never author it once and drop it for later similar tasks; `validate` only warns `Task has no entry rules`, while a miss hangs `case debug` indefinitely. Every task heading is exactly `## T<n>: Add <type> task "<name>" to "<stage>"`. See [references/planning.md §4.0](references/planning.md) and the [Plan-shape gate](references/planning.md#step-5--finalize-tasksmd-auto-proceed-to-phase-2).
|
|
39
|
+
7. **Plan gate.** Phase 1 auto-proceeds to Phase 2 and treats the plan as approved. Stop after `tasks.md` only when the request explicitly says plan-only, Phase 1 only, review first, or not to build. Re-read `tasks.md` before execution.
|
|
40
|
+
8. **Unresolved resources.** Never fabricate IDs. Keep `<UNRESOLVED: ...>` in `tasks.md`. A placeholder task has `type`, `displayName`, structural fields, and `data: {}`; conditions still reference its TaskId. A placeholder event trigger has render fields and only `data.inputs: { serviceType: "Intsvc.EventTrigger" }`; append its `entry-points.json` entry and create no trigger edge. See [references/placeholder-tasks.md](references/placeholder-tasks.md) and [references/plugins/triggers/event/impl-json.md](references/plugins/triggers/event/impl-json.md).
|
|
41
|
+
9. **Resolution audit.** Persist one object per task in `tasks/registry-resolved.json` with exact keys `stage`, `task`, `taskType`, `cacheFile`, `searchQuery`, `matches`, `selected`, and `rationale`, plus resolved I/O/review metadata. Add `gateDecision` only when the user answered the design-time resource gate; default deferrals have none. `matches` is the complete exact-name set from the refreshed cache; `selected` is a match or `null` after a genuine empty lookup. Same-session planner ledgers are persisted verbatim, then verified/extended under Rule 3. The resolution ledger and `registry-resolved.json` are machine-only — never shown to the user, including in the Case Review.
|
|
42
|
+
10. **Cross-task references.** Use `"Stage Name"."Task Name".output_name` and the common output-reference-ID algorithm in [`plugins/variables/io-binding/impl-json.md`](references/plugins/variables/io-binding/impl-json.md#output-reference-id-authoritative). Use the source output’s `.id`; only a custom `=` output without `.id` uses its verified root companion’s `.id`. Never use a reassigned output’s `.var`. Discover names with `uip maestro case spec` for connector tasks or `uip maestro case tasks describe` for non-connectors. In larger `=js:` expressions use `vars.$xref('Stage','Task','output')`, resolved at Step 11.5. See [references/bindings-and-expressions.md](references/bindings-and-expressions.md).
|
|
43
|
+
11. **Build-review preference.** Capture once at journey start. Design handoff folds it into the Case Review Build options (`Build it — straight through` or `Build it — pause at the build preview`); provided SDD asks once after the roadmap. Non-interactive and resumed runs without a preference default to straight-through. At Phase 2→3, try `validate --skeleton-v2`; fall back once to legacy `--skeleton` only when the response explicitly says v2 is unknown/unsupported, typically invalid_argument/exit 3. Exit 3 alone is insufficient; real v2 failures are reported. Validation findings do not halt this advisory gate. Straight-through continues without prompting. Pause-at-preview follows [references/phased-execution.md](references/phased-execution.md): AskUserQuestion `Publish for review` / `Skip publish and continue` / `Abort`; on publish, refresh resources, upload with the required filter, print `DesignerUrl` before the follow-up, then ask `Continue to implementation` / `Abort`. Hard stops always remain at Phase 4 retry exhaustion, Phase 5, Phase 6, and Phase 7.
|
|
44
|
+
12. **Never auto-debug or publish to Orchestrator.** `uip maestro case debug` executes real emails, messages, and API calls. Phase 7 (`case pack` → `solution pack` → `solution publish`) ships to the tenant. Each requires its own AskUserQuestion consent.
|
|
45
|
+
13. **Artifact I/O.** For `caseplan.json`, `sdd.md`, `sdd.draft.md`, `tasks.md`, `tasks/registry-resolved.json`, `tasks/trigger-spec-cache.json`, `tasks/spec-cache.<elementId>.json`, `bindings_v2.json`, `id-map.json`, `entry-points.json`, and `build-issues.md`, use only Read and Write/Edit. No Python, Node, jq, sed, awk, scripts, shell redirection, `tee`, `cp`, `mv`, `install`, or `rsync`; no helper scripts, including under `/tmp`. The `node -e ... fs.*` ban covers all file reads, including `~/.uip/case-resources/`; use Read or `cat ... | python3 -c ...` for cache lookup. If `caseplan.json` exceeds about 30KB, use the preview/detail cadence in [case-editing-operations.md](references/case-editing-operations.md), never a helper. Bash is allowed only for UUID v4 generation without filesystem access, CLI metadata, validate, debug, and solution scaffold/upload. Prefixed IDs are chosen inline.
|
|
46
|
+
14. **Runnable resources and sidecars.** Before Phase 4, run Step 12 Checks 7, 9, 11, and 12 even when publish, debug, or resource refresh is skipped. A non-null `selected` resource must not become a placeholder: retain `data.name` and `data.folderPath` with complete root bindings, project it into `bindings_v2.json.resources[]`, and make its `resourceKey` self-consistent with its own defaults, never a copied tenant identity/UUID. Checks 9/11 exempt connector nodes; Check 12 covers resolved connector tasks, event triggers, and `wait-for-connector` rules, which require spliced `caseShape.context` plus Connection/Folder root bindings, not degraded typeId/connectionId-only data. CLI validate is insufficient. Repair and recheck mismatches; halt before Phase 4 if they remain. Repeat Check 7 before every `resources refresh`. Refresh before every upload or debug. Every upload uses `--output-filter "{Status: Status, SolutionId: SolutionId, DesignerUrl: DesignerUrl}"`; print the returned DesignerUrl.
|
|
47
|
+
15. **Handoff contract.** Invoke `uipath-planner`’s Case Design Lane in this conversation, never as a subagent. It owns design, resolution, review, and SDD writing; this skill resumes at solution initialization. User-facing language presents one continuous flow and never mentions the handoff. If unavailable, say so in one line, request `sdd.md` or an approved pasted design, and stop. Cross-product planning remains a plain-text suggestion to the planner. Apply the Rule 15 receipt spot-check before unobserved SDD reads.
|
|
48
|
+
16. **Closed task types.** `caseplan.json` task `type` must be exactly one of: `process`, `agent`, `rpa`, `action`, `api-workflow`, `case-management`, `execute-connector-activity`, `wait-for-connector`, `wait-for-timer`. Never use plugin folder or CLI names, `external-agent`, `external-workflow`, `document-extraction`, `flow-process`, `wait-for-event`, or other invented values. The unsupported types remain unsupported. See [references/case-schema.md](references/case-schema.md) and the Plugin Index.
|
|
49
|
+
17. **Empty lookup gate.** If the same-session ledger has a user `gateDecision`, execute it without asking again: `resolve-at-build` → placeholder; `create-during-build` → inline create; `pick:<name>` → bind it. A missing decision is a default deferral, not consent; run the full gate. For zero matches, use one batched AskUserQuestion grouped by `(name,type)` with: `Force pull and re-resolve`; `Use placeholders for all`; and, only when creatable resources exist and `registry --local` is supported, `Create missing resources inline`. Create only selected `agent` or `api-workflow` resources, invoking `uipath-agents` or `uipath-api-workflow`; never infer Create from SDD content. Other empty types remain placeholder-only. Selected resources with identical I/O may share one build; differing I/O splits later with the anchor retaining the name, and SDD updates require permission. See [registry-discovery.md § 1c](references/registry-discovery.md#1c--dedup-the-selected-builds-one-resource-per-name-and-type), [Create-on-Missing](references/registry-discovery.md#create-on-missing-build-and-rediscovery), and [§ MUST Confirm](references/registry-discovery.md#must-confirm-before-placeholder-fallback).
|
|
50
|
+
18. **Layout.** Emit top-level `layout: {}` only. Do not emit node `position`, `style`, `measured`, `width`, `height`, `zIndex`, or edge `data.waypoints`; do not compute positions.
|
|
51
|
+
19. **Global output IDs.** Run Step 12 Check 8 once at Phase 3 exit. It is mandatory; do not enter Phase 4 until it passes and do not substitute CLI validate.
|
|
52
|
+
20. **No authored edges.** Keep `schema.edges` as `[]`; never author TriggerEdge/Edge objects. Conditions provide stage flow; the first stage uses `case-entered`. Read-only edge shapes are documented in [case-schema.md Appendix](references/case-schema.md#appendix--edge-shapes-read-only--never-author).
|
|
53
|
+
21. **Global events and SLA responses.** Model a global external event once as an interrupting secondary-stage `wait-for-connector` entry. Choose SLA response explicitly: `notify-only`, `start-task`, `enter-stage`, `exit-stage`, or `exit-case`. A `start-task` response belongs on the follow-up task’s own `sla-status-change` entry, not a stage entry. Interrupting depends on whether active work stops, pauses, or reroutes; parallel oversight uses `Interrupting: No` and remains secondary. `sla-status-change` names `slaId`; add `escalationId` only for at-risk responses. Without a stated response, at-risk and breach are notifications. Do not replicate rules across primary stages. See [references/sla-response-shapes.md](references/sla-response-shapes.md) and the SLA Response Map.
|
|
54
|
+
22. **Formal argument IDs.** `variables.inputs[].id` and `variables.outputs[].id` must be synthetic `v` + 8 characters and distinct from `name`/`var`; never copy companion names. Run Step 12 Check 10 once at Phase 3 exit and non-interactively re-mint violations. CLI validate does not check this. See [global-vars/impl-json.md § Formal-arg slot ID format](references/plugins/variables/global-vars/impl-json.md#formal-arg-slot-id-format).
|
|
55
|
+
23. **Never run `uip maestro case init`.** It may create a second solution and separate manifest. Use `uip solution init <SolutionName>` and the T01 direct-JSON scaffold in [implementation.md § Step 6](references/implementation.md#step-6--create-the-case-project-structure). See [case-commands.md § case init](references/case-commands.md#uip-maestro-case-init).
|
|
56
|
+
24. **Read references to EOF before mutation.** Every `references/*.md` ends with `<!-- END: <filename> -->`. Before the first Write/Edit using a shape, procedure, constraint, or verification rule, Read that exact reference until its exact END marker appears in tool output during this session. Ranges, truncation, search hits, tables of contents, memory, and sibling references do not satisfy this. Reopen after compaction or when the prior read is unavailable. Keep reads modest to avoid output truncation. Tail contracts are normative.
|
|
57
|
+
25. **Unique labels and task names.** Stage `data.label` values are unique case-wide; task `displayName` values are unique across all stages, exact and untrimmed, and contain no `:`. A missing display name binds to the resource name and participates in uniqueness. Assign names in Phase 1; later renaming touches the SDD, plan, ID map, and name-keyed references.
|
|
58
|
+
|
|
59
|
+
## Routing
|
|
56
60
|
|
|
57
61
|
| Condition | Journey |
|
|
58
62
|
|---|---|
|
|
59
|
-
| New case,
|
|
60
|
-
|
|
|
61
|
-
|
|
62
|
-
Brownfield bypasses planning, prototyping, and their hard stops; it still honors the debug-consent gate (Rule 12) and reuses the Phase 5 / Phase 6 contracts.
|
|
63
|
+
| New case, SDD provided, no caseplan, or rebuild from spec | **Greenfield:** handoff if needed, then Phases 1–7 |
|
|
64
|
+
| Existing caseplan and targeted edit intent | **Brownfield:** skip handoff and Phases 1–7; use [brownfield.md](references/brownfield.md) |
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
Brownfield still requires latest-state pull, debug consent, and Orchestrator-publish consent, and reuses Phase 5–7 contracts.
|
|
65
67
|
|
|
66
|
-
|
|
68
|
+
## User-Facing Roadmap
|
|
67
69
|
|
|
68
|
-
|
|
69
|
-
|---|---|
|
|
70
|
-
| New case without an SDD | `1. I read your request and make the design calls, checking your UiPath tenant along the way. 2. One review packet: case snapshot, primary journey, other paths, SLA responses, business rules, resources, and every decision I made — you confirm or correct. 3. Build and validate without interruptions; the full technical design doc is saved alongside for reference. 4. Pause for your call before any run or publish.` |
|
|
71
|
-
| New case with an SDD | `1. Read the design and verify available UiPath resources. 2. One question: build straight through, or pause at a mid-build preview. 3. Plan, build, and validate without further interruptions. 4. Pause for your call before any run or publish.` |
|
|
72
|
-
| Targeted edit to an existing case | `1. Pull the latest case. 2. Apply the requested change. 3. Validate the updated case. 4. Ask before running or publishing anything.` |
|
|
70
|
+
Print once, after routing and before detailed work, in five lines or fewer. Do not expose phases, modes, filenames, or implementation mechanics.
|
|
73
71
|
|
|
74
|
-
|
|
72
|
+
- **New case without SDD:** `1. I read your request and make the design calls, checking your UiPath tenant along the way. 2. One review packet: case snapshot, primary journey, other paths, SLA responses, business rules, resources, and every decision I made — you confirm or correct. 3. Build and validate without interruptions; the full technical design doc is saved alongside for reference. 4. Pause for your call before any run or publish.`
|
|
73
|
+
- **New case with SDD:** `1. Read the design and verify available UiPath resources. 2. One question: build straight through, or pause at a mid-build preview. 3. Plan, build, and validate without further interruptions. 4. Pause for your call before any run or publish.`
|
|
74
|
+
- **Targeted edit:** `1. Pull the latest case. 2. Apply the requested change. 3. Validate the updated case. 4. Ask before running or publishing anything.`
|
|
75
75
|
|
|
76
76
|
## Workflow
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
Front-load decisions, then run unattended to consent gates:
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
**Design handoff when required → Phase 1 Planning → Phase 2 Prototyping → Phase 3 Implementation → Phase 4 Validate → Phase 5 Publish → Phase 6 Debug → Phase 7 Publish to Orchestrator.**
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
At invocation start, present once the matching kickoff block below, at handoff start or Phase 1 start. Status text must follow the Anti-patterns limits.
|
|
83
83
|
|
|
84
|
-
**Greenfield
|
|
84
|
+
**Greenfield kickoff:**
|
|
85
85
|
|
|
86
86
|
> Here's how I'll build this case, and where I'll stop for your call:
|
|
87
87
|
> - **Planning** — I draft a task plan from the spec and continue; ask up front if you want to review it first.
|
|
@@ -90,117 +90,106 @@ Before any planning or build work, present the flow once so the dev knows the st
|
|
|
90
90
|
> - **Validate** — I run validation and fix errors.
|
|
91
91
|
> - **Publish** (optional) — **you choose** whether to upload to Studio Web.
|
|
92
92
|
> - **Debug** (optional) — **you choose** whether to run the case for real (live emails / API calls).
|
|
93
|
+
> - **Publish to Orchestrator** (optional) — **you choose** whether to publish the case to Orchestrator.
|
|
93
94
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
**Brownfield** (editing an existing case): present the short version at entry — see [references/brownfield.md](references/brownfield.md).
|
|
95
|
+
For handoff, prefix: `First I'll design the case from what you've given me — checking your UiPath tenant along the way — and show one decision-first review packet with the case snapshot, primary journey, other paths, SLA responses, business rules, resources, and every decision made — one confirmation, then I build; the full technical design doc (sdd.md) is saved alongside for reference.`
|
|
97
96
|
|
|
98
|
-
|
|
97
|
+
For brownfield, use the short entry flow in [references/brownfield.md](references/brownfield.md).
|
|
99
98
|
|
|
100
|
-
|
|
99
|
+
### Design handoff
|
|
101
100
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
> **Light tenant grounding — requirement-driven.** No tenant work up front. For build runs, start the background login + registry chain only when the case first shows tenant-bound work, per [phase-0-interview.md § Tenant grounding](references/phase-0-interview.md#tenant-grounding--requirement-driven-one-light-pass-no-questions); then ONE parallel name-match pass at confirmation time (parallel read-only lookups when ≥ 4 items), joining the chain without ever delaying the confirmation. Single confident matches adopt silently; everything else is `resolve at build` — no schema discovery, no resource prompts in Phase 0. Explicit plan-only/no-build runs skip tenant grounding entirely and defer identities to the later build run. Phase 1 resolves authoritatively, reusing this session's successful pull (Rule 3 fast path).
|
|
105
|
-
|
|
106
|
-
- `sdd.md` — rendered from the confirmed in-memory model against `assets/templates/sdd-template.md`, batched with the first build actions (design-only requests save it and stop)
|
|
107
|
-
- `sdd-viewer.html` — optional, rendered from `assets/templates/sdd-viewer.html` on explicit request only; Phase 1 ignores it
|
|
108
|
-
- `sdd.draft.md` — only on an explicit draft request; `tasks/registry-resolved.json` is written by Phase 1, not Phase 0
|
|
109
|
-
|
|
110
|
-
If `sdd.md` already exists: skip Phase 0, hand to Phase 1 unchanged.
|
|
101
|
+
The trigger is binary: if no `.md` whose basename contains `sdd` exists at the resolved path, hand off. If the prompt names another SDD basename, copy it to `./sdd.md` using Read + Write; do not invoke the lane. If no `.md` is named, use `./sdd.md`. Do not read planning/plugin references or run tenant commands before the Case Review. For an explicit no-build design+plan request, write `sdd.md` and compact `tasks/tasks.md` after approval, without plugin references, schema, registry, connection, or user discovery, then stop. Planner-owned drafts and `sdd-viewer.html` stay with the planner. If unavailable, request an SDD and stop.
|
|
111
102
|
|
|
112
103
|
### Phase 1 — Planning
|
|
113
104
|
|
|
114
|
-
Read [references/planning.md](references/planning.md)
|
|
115
|
-
|
|
116
|
-
- `tasks/tasks.md` — T-numbered entries (stages → tasks → conditions → SLA)
|
|
117
|
-
- `tasks/registry-resolved.json` — audit trail
|
|
118
|
-
- When the user picks **Create** at the Rule 17 gate, Phase 1 also builds the selected agent(s) / API workflow(s) as in-solution siblings (one sub-agent per resource — `uipath-agents` for agents, `uipath-api-workflow` for API workflows), registers them (`uip solution projects add` + `resources refresh`), and binds them as resolved tasks. Registration and `--local` rediscovery need an enclosing solution `.uipx`, so the Create flow **first ensures the solution exists** (`uip solution init` if absent — Phase 2 Step 6.0 then skips its own `init`). See [references/registry-discovery.md § Create-on-Missing](references/registry-discovery.md#create-on-missing-build-and-rediscovery).
|
|
105
|
+
Read [references/planning.md](references/planning.md) to produce:
|
|
119
106
|
|
|
120
|
-
|
|
107
|
+
- `tasks/tasks.md`: T-numbered stages, tasks, conditions, SLA, variables, and arguments.
|
|
108
|
+
- `tasks/registry-resolved.json`: complete resolution audit.
|
|
109
|
+
- If Create is selected at Rule 17: build selected agents/API workflows as in-solution siblings through the permitted sub-agent paths, ensure a solution exists, register them, refresh resources, rediscover, and bind them. See [registry-discovery.md § Create-on-Missing](references/registry-discovery.md#create-on-missing-build-and-rediscovery).
|
|
121
110
|
|
|
122
|
-
|
|
111
|
+
`tasks/` is adjacent to `sdd.md`, never inside the solution/project. Auto-proceed to Phase 2 unless the request explicitly asks to stop for plan review. Re-read `tasks.md` first.
|
|
123
112
|
|
|
124
113
|
### Phase 2 — Prototyping
|
|
125
114
|
|
|
126
|
-
Read [references/implementation.md](references/implementation.md)
|
|
115
|
+
Read [references/implementation.md](references/implementation.md) and [references/phased-execution.md](references/phased-execution.md). Follow Steps 6–11.9:
|
|
127
116
|
|
|
128
|
-
1.
|
|
129
|
-
2.
|
|
130
|
-
3.
|
|
131
|
-
4.
|
|
132
|
-
5.
|
|
133
|
-
6.
|
|
134
|
-
7.
|
|
135
|
-
8.
|
|
136
|
-
9.
|
|
137
|
-
10.
|
|
117
|
+
1. Step 6: `uip solution init`, project, and root case (T01 direct-JSON recipe in [plugins/case/impl-json.md](references/plugins/case/impl-json.md)); never `case init`.
|
|
118
|
+
2. Step 6.1: manual, timer, and event triggers, including Rule 8 placeholders; capture trigger IDs.
|
|
119
|
+
3. Step 6.2: global variables and arguments; In-argument `elementId` references the trigger named by `sourceTriggers`, or the primary trigger when blank.
|
|
120
|
+
4. Step 6.3: synchronize `entry-points.json` from declared In/Out arguments per [entry-points-sync.md](references/entry-points-sync.md). Emit the `job-attachment` `definitions` block byte-for-byte from that reference — reproduce its `MimeType.description` inner quotes exactly (single-`\"` escaping); never re-escape (`\\"`) or rebalance them, or the JSON breaks.
|
|
121
|
+
5. Step 7: stages.
|
|
122
|
+
6. Step 9: task shapes; non-connectors get complete `data.inputs[]` with empty values, connectors only `typeId`/`connectionId`, unresolved resources use placeholders.
|
|
123
|
+
7. Step 11: SLA/escalation objects with stable IDs.
|
|
124
|
+
8. Step 10: all four condition scopes; connector waits use canonical stubs regardless of resolution.
|
|
125
|
+
9. Step 11.9: informational skeleton validation with Rule 11 fallback behavior.
|
|
126
|
+
10. Apply the Phase 2→3 preference. Preview branch uses resource refresh, filtered solution upload, printed DesignerUrl, and the prescribed continuation gate; Abort writes `build-issues.md` and exits.
|
|
138
127
|
|
|
139
128
|
### Phase 3 — Implementation
|
|
140
129
|
|
|
141
|
-
Re-read `tasks.md`
|
|
130
|
+
Re-read `tasks.md` and `caseplan.json` (Step 9.6), then follow Steps 9.7, 9.8, 10.5, and 11.5:
|
|
142
131
|
|
|
143
|
-
1.
|
|
144
|
-
2. I/O
|
|
145
|
-
3. Upgrade resolved connector-bound condition stubs in place
|
|
146
|
-
4.
|
|
147
|
-
5.
|
|
132
|
+
1. Resolve connector schemas/defaults with `uip maestro case spec`.
|
|
133
|
+
2. Bind I/O for all task classes using [io-binding/impl-json.md](references/plugins/variables/io-binding/impl-json.md).
|
|
134
|
+
3. Upgrade resolved connector-bound condition stubs in place; unresolved connectors retain stubs and are reported.
|
|
135
|
+
4. Resolve in-expression `vars.$xref` markers.
|
|
136
|
+
5. Perform resolved-resource emission, preservation, resourceKey, and connector completeness checks.
|
|
148
137
|
|
|
149
|
-
|
|
138
|
+
Proceed directly to Phase 4 after the Phase 3 checks pass.
|
|
150
139
|
|
|
151
140
|
### Phase 4 — Validate
|
|
152
141
|
|
|
153
|
-
|
|
154
|
-
2. After all Step 12 checks pass, run full `uip maestro case validate`. Retry up to 3×; on 3rd failure **HARD STOP** AskUserQuestion: `Retry with fix` / `Pause for manual edit` / `Abort`
|
|
155
|
-
3. Dump `build-issues.md` (Step 12.1)
|
|
142
|
+
Run Step 12 once at the Phase 3 boundary. It performs Checks 1–15, including Check 7 sidecar parity, Check 8 global output-ID uniqueness, Check 9 resource emission/preservation, Check 10 formal-arg IDs, Check 11 resourceKey consistency, Check 12 connector completeness, and Check 15 every task carrying a non-empty entry rule (`validate` only warns on a missing one). Then run full `uip maestro case validate`. Retry at most three times, with an edit before every retry; on the third failure, hard-stop with AskUserQuestion: `Retry with fix` / `Pause for manual edit` / `Abort`. Summarize `build-issues.md` using Step 12.1.
|
|
156
143
|
|
|
157
144
|
### Phase 5 — Publish
|
|
158
145
|
|
|
159
|
-
|
|
146
|
+
Provide the completion report, then hard-stop AskUserQuestion: `Publish to Studio Web` / `Skip to Debug` (Step 13). On publish, refresh resources and upload with the mandatory output filter, print DesignerUrl, and continue to Phase 6 either way.
|
|
160
147
|
|
|
161
148
|
### Phase 6 — Debug
|
|
162
149
|
|
|
163
|
-
|
|
150
|
+
Hard-stop AskUserQuestion (Step 15): `Run debug session` / `Continue to publish`. On Run, refresh resources, run `uip maestro case debug`, and loop after completion until `Continue to publish`. Never run debug automatically.
|
|
151
|
+
|
|
152
|
+
### Phase 7 — Publish to Orchestrator
|
|
153
|
+
|
|
154
|
+
Hard-stop AskUserQuestion (Step 16): `Publish to Orchestrator` / `Done`. On publish, run in order:
|
|
155
|
+
|
|
156
|
+
1. `uip solution resources refresh`
|
|
157
|
+
2. `uip maestro case pack <SolutionDir>/<ProjectName> <SolutionDir>/dist --output json`
|
|
158
|
+
3. `uip solution pack <SolutionDir> <SolutionDir>/dist --output json`
|
|
159
|
+
4. `uip solution publish <packagePath> --wait --output json`
|
|
160
|
+
|
|
161
|
+
`case pack` is mandatory because it creates `caseplan.json.bpmn`; `validate` does not. Publish the `solution pack` `.zip`, not the case `.nupkg`; read `<packagePath>` from `Data.Packages`, never guess. `Done` exits.
|
|
164
162
|
|
|
165
163
|
## Reference Navigation
|
|
166
164
|
|
|
167
|
-
|
|
|
165
|
+
| Need | Reference |
|
|
168
166
|
|---|---|
|
|
169
|
-
|
|
|
170
|
-
| Plan
|
|
171
|
-
| Execute
|
|
172
|
-
|
|
|
173
|
-
| Phase
|
|
174
|
-
|
|
|
175
|
-
|
|
|
176
|
-
|
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
|
|
|
184
|
-
|
|
|
167
|
+
| Design without SDD | `uipath-planner` Case Design Lane; Rule 15 |
|
|
168
|
+
| Plan from SDD | [references/planning.md](references/planning.md) |
|
|
169
|
+
| Execute plan | [references/implementation.md](references/implementation.md) |
|
|
170
|
+
| Brownfield edit | [references/brownfield.md](references/brownfield.md) |
|
|
171
|
+
| Phase contracts | [references/phased-execution.md](references/phased-execution.md) |
|
|
172
|
+
| Edit mechanics | [references/case-editing-operations.md](references/case-editing-operations.md) |
|
|
173
|
+
| Schema | [references/case-schema.md](references/case-schema.md) |
|
|
174
|
+
| Allowed CLI | [references/case-commands.md](references/case-commands.md) |
|
|
175
|
+
| Troubleshooting | [references/troubleshooting-guide.md](references/troubleshooting-guide.md) |
|
|
176
|
+
| Registry resolution | [references/registry-discovery.md](references/registry-discovery.md) |
|
|
177
|
+
| Bindings/expressions | [references/bindings-and-expressions.md](references/bindings-and-expressions.md) |
|
|
178
|
+
| Connector integration | [references/connector-integration.md](references/connector-integration.md) |
|
|
179
|
+
| Case spec input details | [references/case-spec-input-details.md](references/case-spec-input-details.md) |
|
|
180
|
+
| Placeholders | [references/placeholder-tasks.md](references/placeholder-tasks.md) |
|
|
181
|
+
| Bindings sidecar | [references/bindings-v2-sync.md](references/bindings-v2-sync.md) |
|
|
182
|
+
| Prune orphaned solution resource | [bindings-v2-sync.md § Prune orphaned solution resources](references/bindings-v2-sync.md#prune-orphaned-solution-resources) |
|
|
183
|
+
| Entry points | [references/entry-points-sync.md](references/entry-points-sync.md) |
|
|
184
|
+
| SLA responses | [references/sla-response-shapes.md](references/sla-response-shapes.md) |
|
|
185
185
|
|
|
186
186
|
### Plugin Index
|
|
187
187
|
|
|
188
|
-
**Structural:**
|
|
188
|
+
**Structural:** [case/planning.md](references/plugins/case/planning.md), [stages/planning.md](references/plugins/stages/planning.md), [sla/planning.md](references/plugins/sla/planning.md), [global-vars/planning.md](references/plugins/variables/global-vars/planning.md), [io-binding/planning.md](references/plugins/variables/io-binding/planning.md), and [logging/impl-json.md](references/plugins/logging/impl-json.md).
|
|
189
189
|
|
|
190
|
-
|
|
191
|
-
|--------|-------|
|
|
192
|
-
| [case](references/plugins/case/planning.md) | Root case (T01) |
|
|
193
|
-
| [stages](references/plugins/stages/planning.md) | Regular (primary) and secondary stages |
|
|
194
|
-
| [sla](references/plugins/sla/planning.md) | Default SLA, conditional rules, escalation |
|
|
195
|
-
| [global-vars](references/plugins/variables/global-vars/planning.md) | Case variables and arguments |
|
|
196
|
-
| [io-binding](references/plugins/variables/io-binding/planning.md) | Task I/O wiring, cross-task refs |
|
|
197
|
-
| [logging](references/plugins/logging/impl-json.md) | Shared issue log |
|
|
190
|
+
**Tasks:**
|
|
198
191
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
> **Naming asymmetry — read carefully.** Three names exist for connector + timer tasks. Pick the right one by column. Schema-kebab is the only value that goes into `caseplan.json` `type` (Rule 16).
|
|
202
|
-
|
|
203
|
-
| sdd.md `Type:` value / caseplan.json `type` (schema-kebab) | Plugin folder | CLI `--type` flag (`tasks describe`) |
|
|
192
|
+
| Schema `type` / SDD value | Plugin planning reference | CLI describe type |
|
|
204
193
|
|---|---|---|
|
|
205
194
|
| `process` | [process](references/plugins/tasks/process/planning.md) | `process` |
|
|
206
195
|
| `agent` | [agent](references/plugins/tasks/agent/planning.md) | `agent` |
|
|
@@ -210,51 +199,30 @@ Completion report + **HARD STOP** AskUserQuestion (Step 13): `Publish to Studio
|
|
|
210
199
|
| `case-management` | [case-management](references/plugins/tasks/case-management/planning.md) | `case-management` |
|
|
211
200
|
| `execute-connector-activity` | [connector-activity](references/plugins/tasks/connector-activity/planning.md) | `connector-activity` |
|
|
212
201
|
| `wait-for-connector` | [connector-trigger](references/plugins/tasks/connector-trigger/planning.md) | `connector-trigger` |
|
|
213
|
-
| `wait-for-timer` | [wait-for-timer](references/plugins/tasks/wait-for-timer/planning.md) | `wait-for-timer`
|
|
214
|
-
|
|
215
|
-
**Triggers** (`references/plugins/triggers/`):
|
|
202
|
+
| `wait-for-timer` | [wait-for-timer](references/plugins/tasks/wait-for-timer/planning.md) | `wait-for-timer` |
|
|
216
203
|
|
|
217
|
-
|
|
218
|
-
|--------|------|
|
|
219
|
-
| [manual](references/plugins/triggers/manual/planning.md) | User-initiated start |
|
|
220
|
-
| [timer](references/plugins/triggers/timer/planning.md) | Scheduled start |
|
|
221
|
-
| [event](references/plugins/triggers/event/planning.md) | External connector event |
|
|
204
|
+
Schema-kebab is the only JSON value; plugin and CLI names are not interchangeable. Unsupported types include `external-agent`, `external-workflow`, `document-extraction`, `flow-process`, and `wait-for-event`.
|
|
222
205
|
|
|
223
|
-
**
|
|
206
|
+
**Triggers:** [manual](references/plugins/triggers/manual/planning.md), [timer](references/plugins/triggers/timer/planning.md), and [event](references/plugins/triggers/event/planning.md).
|
|
224
207
|
|
|
225
|
-
|
|
226
|
-
|--------|-------|
|
|
227
|
-
| [stage-entry-conditions](references/plugins/conditions/stage-entry-conditions/planning.md) | Stage entered |
|
|
228
|
-
| [stage-exit-conditions](references/plugins/conditions/stage-exit-conditions/planning.md) | Stage exits |
|
|
229
|
-
| [task-entry-conditions](references/plugins/conditions/task-entry-conditions/planning.md) | Task starts |
|
|
230
|
-
| [case-exit-conditions](references/plugins/conditions/case-exit-conditions/planning.md) | Case completes/exits |
|
|
208
|
+
**Conditions:** [stage-entry-conditions](references/plugins/conditions/stage-entry-conditions/planning.md), [stage-exit-conditions](references/plugins/conditions/stage-exit-conditions/planning.md), [task-entry-conditions](references/plugins/conditions/task-entry-conditions/planning.md), and [case-exit-conditions](references/plugins/conditions/case-exit-conditions/planning.md).
|
|
231
209
|
|
|
232
|
-
|
|
210
|
+
Connector-bound rules in any condition scope require `rule.uipath` built from `case spec --type trigger`; bare connector rules are invalid in Studio Web even when CLI validate passes. See [connector-trigger-impl.md](references/connector-trigger-impl.md).
|
|
233
211
|
|
|
234
212
|
## Anti-patterns
|
|
235
213
|
|
|
236
|
-
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
-
|
|
240
|
-
-
|
|
241
|
-
-
|
|
242
|
-
-
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
- **Do NOT replicate global-event handling across primary stages.** Withdrawal/cancellation events from external systems use one interrupting secondary-stage `wait-for-connector` entry. An SLA response that enters a stage uses one scoped `sla-status-change` entry. Repeating the same event task or exit rule on every possible origin stage creates drift and conflicting transitions.
|
|
252
|
-
- **Case completion is a root rule, separate from stage completion.** The case must have at least one `metadata.caseExitRules[]` entry with `marksCaseComplete: true` (normally `required-stages-completed`). A stage exit with `marksStageComplete: true` only completes that stage; it does not close the case. Non-completing outcomes such as rejection or withdrawal use separate case-exit rules with `marksCaseComplete: false`.
|
|
253
|
-
- **Do NOT edit the auto-generated `caseplan.json.bpmn`.** Regenerated by validate/pack, will be overwritten. Author only `caseplan.json`.
|
|
254
|
-
- **Case file is flat at `<Solution>/<Project>/caseplan.json` — never under `content/`.** `content/` is the packed `.nupkg` layout (`package-descriptor.json`), not on-disk. Never `mkdir content` or author the root caseplan via `uip maestro case cases add` — write `caseplan.json` directly ([impl-json.md](references/plugins/case/impl-json.md)).
|
|
255
|
-
- **Do NOT fabricate expression syntax for conditional SLA rules.** Describe condition in natural language; execution phase determines exact form.
|
|
256
|
-
- **Do NOT place `tasks/` inside the solution or project directory.** `tasks/` (and its `tasks.md`, `registry-resolved.json`) lives next to `sdd.md` at the working root — NOT inside `<Solution>/` or `<Solution>/<Project>/`. The case file path (`<Solution>/<Project>/caseplan.json`) does NOT root the planning artifacts; they track `sdd.md`, not `caseplan.json`.
|
|
257
|
-
- **Do NOT invoke other skills automatically — except the inline-create path.** If case needs a regular RPA process / action / child case / connector / agentic process that doesn't exist, emit placeholder task (Rule 8) and list missing resources in completion report; on-demand creation of those kinds is a future milestone. **Exception (agent + API workflow):** when the user picks `Create` at the Rule 17 gate, the skill builds the missing agent / API workflow inline by spawning a sub-agent that invokes `uipath-agents` (agent) or `uipath-api-workflow` (API workflow) — gate-selected only, never from SDD content alone. The `uipath-planner` handoff stays plain-text (Rule 15).
|
|
258
|
-
- **Do NOT spawn subagents for draft finalization or plan-only document generation.** Subagents are allowed only for the explicit inline-create build path after the Rule 17 gate.
|
|
259
|
-
|
|
260
|
-
> **Trouble?** Use `/uipath-feedback` to send report.
|
|
214
|
+
- Do not leave a regular stage without an entry condition. The first stage uses `case-entered`; every other regular stage needs a reachable predecessor. Edges are retired.
|
|
215
|
+
- Do not design here, start Phase 1 before Case Review approval, or build from a summary SDD. The planner owns design, other-path analysis, and template conformance.
|
|
216
|
+
- Do not validate after each T-entry or validate twice without an intervening edit. Phase 2 validation is informational; Phase 4 validation is authoritative.
|
|
217
|
+
- Write `tasks.md` with a seeded header and per-section batched Edit-appends: §4.2.1 variables, §4.3 triggers, §4.4 stages, §4.6 tasks, §4.7 conditions, and §4.8 SLA. Never write per T-entry, use a mega-Write, or exceed a 30KB single Edit payload. Recovery re-reads and resumes at the next unapplied entry. See [planning.md §4.0a](references/planning.md).
|
|
218
|
+
- Write `caseplan.json` by section, preserving untouched siblings — never one Write for the whole file. Read once at section entry; use per-entry Edits for fewer than 10 entries, or one Write covering only that section's container (the stages array, or one stage's task array) for 10 or more; gather CLI-gated sections before writing. Cap any single Write at ~15K output tokens / ~40KB; split a case with ≥40 tasks or ≥8 stages across the Phase 2 and Phase 3 writes rather than emitting the fully populated file at once. Re-read both files after interruption. See [case-editing-operations.md § Per-section batch write contract](references/case-editing-operations.md#per-section-batch-write-contract--canonical).
|
|
219
|
+
- Do not emit standalone narration between tool calls. Bundle status with the next tool call; keep ordinary text under 200 tokens and allow-listed kickoff, hard-stop preambles, completion reports, DesignerUrl prints, and validation summaries under 500. Do not announce imminent actions with verbs such as `Building`, `Composing`, `Writing`, `Drafting`, `Generating`, `Now I'll`, `Next`, `Approach`, `Strategy`, `Plan`, `Let me`, or equivalent.
|
|
220
|
+
- Preserve ordered task semantics. Sequential mode uses ordered `data.tasks` sets and one `runs-sequentially` rule per task; do not add `current-stage-entered` alongside it. Use parallel `current-stage-entered` only for independent work and `selected-tasks-completed` only for required fan-in. Event-triggered tasks use event/condition rules; manually triggered/adhoc tasks use one `adhoc` rule, `isRequired: false`, and no additional entry event. `adhoc` is an activation mode, not a task type.
|
|
221
|
+
- Model secondary stages as interrupting exception lanes: `case-management:Stage`, `data.stageType: "secondary"`, `isRequired: false`, and `Interrupting: Yes` on stage and entries. Use `Interrupting: No` only for parallel SLA oversight. Use `return-to-origin`; do not connect secondary stages as normal flow or count them in required completion.
|
|
222
|
+
- Do not replicate global events or SLA rules across primary stages. Case completion requires a root `metadata.caseExitRules[]` rule with `marksCaseComplete: true`; stage completion alone is insufficient. Non-completing outcomes use `marksCaseComplete: false`.
|
|
223
|
+
- Do not edit generated `caseplan.json.bpmn`; do not place `caseplan.json` under `content/`; do not fabricate conditional-SLA expression syntax; describe conditions naturally until execution resolves them.
|
|
224
|
+
- Do not place `tasks/` in the solution/project; it stays beside `sdd.md`.
|
|
225
|
+
- Do not invoke other skills automatically except Rule 15 design handoff and Rule 17’s gate-selected inline creation of agents/API workflows. Do not spawn subagents for design, draft finalization, or plan-only documents.
|
|
226
|
+
- Use `uipath-feedback` for trouble.
|
|
227
|
+
|
|
228
|
+
> **Trouble?** Use `/uipath-feedback` to send a report.
|