@uipath/skills 1.201.0-preview.621 → 1.202.0-preview.635

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.
Files changed (415) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.cursor-plugin/plugin.json +1 -1
  4. package/CODEOWNERS +41 -29
  5. package/README.md +1 -0
  6. package/assets/skill-status.json +13 -2
  7. package/assets/uip-catalog-snapshot.json +95 -46
  8. package/package.json +2 -1
  9. package/skills/uipath-admin/SKILL.md +107 -197
  10. package/skills/uipath-admin/references/audit-commands.md +69 -120
  11. package/skills/uipath-admin/references/audit-workflow-guide.md +101 -152
  12. package/skills/uipath-admin/references/authorization/authorization-commands.md +121 -210
  13. package/skills/uipath-admin/references/authorization/check-access.md +39 -63
  14. package/skills/uipath-admin/references/authorization/grant-permissions.md +38 -49
  15. package/skills/uipath-admin/references/authorization/permission-catalog.md +32 -34
  16. package/skills/uipath-admin/references/authorization/role-assignment-management.md +96 -99
  17. package/skills/uipath-admin/references/authorization/role-management.md +113 -142
  18. package/skills/uipath-admin/references/diagnose/CAPABILITY.md +13 -14
  19. package/skills/uipath-admin/references/diagnose/{references/failure-modes.md → failure-modes.md} +90 -46
  20. package/skills/uipath-admin/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +21 -14
  21. package/skills/uipath-admin/references/external-app-management.md +42 -39
  22. package/skills/uipath-admin/references/identity-commands.md +72 -625
  23. package/skills/uipath-admin/references/identity-troubleshoot-guide.md +73 -95
  24. package/skills/uipath-admin/references/ip-restriction/bypass-rule-management.md +25 -54
  25. package/skills/uipath-admin/references/ip-restriction/enforcement-management.md +19 -31
  26. package/skills/uipath-admin/references/ip-restriction/ip-range-management.md +48 -45
  27. package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +89 -146
  28. package/skills/uipath-admin/references/key-concepts.md +24 -0
  29. package/skills/uipath-admin/references/organization-management.md +49 -70
  30. package/skills/uipath-admin/references/organizations-commands.md +39 -74
  31. package/skills/uipath-admin/references/pat-management.md +25 -38
  32. package/skills/uipath-admin/references/robot-account-management.md +16 -14
  33. package/skills/uipath-admin/references/smtp-management.md +19 -14
  34. package/skills/uipath-admin/references/tenant-management.md +1 -1
  35. package/skills/uipath-admin/references/tenants-commands.md +82 -148
  36. package/skills/uipath-admin/references/user-management.md +70 -56
  37. package/skills/uipath-agents/SKILL.md +4 -3
  38. package/skills/uipath-agents/references/authentication.md +4 -3
  39. package/skills/uipath-agents/references/coded/capabilities/datafabric.md +465 -0
  40. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -0
  41. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +2 -0
  42. package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +12 -6
  43. package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
  44. package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +48 -16
  45. package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +1 -1
  46. package/skills/uipath-agents/references/coded/lifecycle/deployment.md +11 -1
  47. package/skills/uipath-agents/references/coded/quickstart.md +11 -8
  48. package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +3 -3
  49. package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +19 -2
  50. package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -2
  51. package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +409 -155
  52. package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
  53. package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
  54. package/skills/uipath-aops/SKILL.md +313 -0
  55. package/skills/uipath-aops/assets/templates/pipeline-dto-template.json +15 -0
  56. package/skills/uipath-aops/references/discovery-flow.md +312 -0
  57. package/skills/uipath-aops/references/migration-guide.md +146 -0
  58. package/skills/uipath-aops/references/pipeline-dto-guide.md +276 -0
  59. package/skills/uipath-aops/references/save-and-run-guide.md +156 -0
  60. package/skills/uipath-api-workflow/SKILL.md +48 -6
  61. package/skills/uipath-api-workflow/assets/templates/file-base64-roundtrip-example.json +154 -0
  62. package/skills/uipath-api-workflow/assets/templates/nested-control-flow-example.json +0 -1
  63. package/skills/uipath-api-workflow/references/cli-reference.md +20 -1
  64. package/skills/uipath-api-workflow/references/expressions-and-context.md +19 -0
  65. package/skills/uipath-api-workflow/references/files-and-base64.md +153 -0
  66. package/skills/uipath-api-workflow/references/operating-published-workflows.md +3 -2
  67. package/skills/uipath-api-workflow/references/task-types.md +89 -3
  68. package/skills/uipath-api-workflow/references/testing-and-evals.md +224 -0
  69. package/skills/uipath-api-workflow/references/troubleshooting.md +124 -4
  70. package/skills/uipath-coded-apps/SKILL.md +4 -2
  71. package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1 -1
  72. package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +11 -1
  73. package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +5 -3
  74. package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +1 -0
  75. package/skills/uipath-coded-apps/references/oauth-client-setup.md +2 -0
  76. package/skills/uipath-coded-apps/references/pack-publish-deploy.md +18 -0
  77. package/skills/uipath-coded-apps/references/sdk/orchestrator.md +4 -0
  78. package/skills/uipath-connector-builder/SKILL.md +7 -5
  79. package/skills/uipath-connector-builder/references/debugging.md +5 -1
  80. package/skills/uipath-connector-builder/references/element-json.md +3 -1
  81. package/skills/uipath-connector-builder/references/standard-resources.md +37 -6
  82. package/skills/uipath-functions/SKILL.md +134 -222
  83. package/skills/uipath-functions/references/js/authoring-guide.md +141 -0
  84. package/skills/uipath-functions/references/js/bindings-guide.md +120 -0
  85. package/skills/uipath-functions/references/js/calling-uipath-apis-guide.md +112 -0
  86. package/skills/uipath-functions/references/js/coded-app-wiring-guide.md +103 -0
  87. package/skills/uipath-functions/references/js/deployment-guide.md +109 -0
  88. package/skills/uipath-functions/references/js/http-semantics-guide.md +80 -0
  89. package/skills/uipath-functions/references/js/job-mode-guide.md +114 -0
  90. package/skills/uipath-functions/references/js/local-dev-guide.md +107 -0
  91. package/skills/uipath-functions/references/python/workflow-guide.md +224 -0
  92. package/skills/uipath-governance/SKILL.md +9 -8
  93. package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +36 -8
  94. package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +14 -12
  95. package/skills/uipath-governance/references/compliance-pack/disable/impl.md +5 -3
  96. package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +7 -5
  97. package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +14 -7
  98. package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +3 -1
  99. package/skills/uipath-governance/references/compliance-pack/preview-gate.md +1 -1
  100. package/skills/uipath-governance/references/compliance-pack/query/impl.md +4 -2
  101. package/skills/uipath-governance/references/diagnose/CAPABILITY.md +12 -12
  102. package/skills/uipath-governance/references/diagnose/{references/failure-modes.md → failure-modes.md} +5 -5
  103. package/skills/uipath-governance/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +2 -2
  104. package/skills/uipath-governance/references/disambiguation-guide.md +15 -7
  105. package/skills/uipath-human-in-the-loop/SKILL.md +107 -9
  106. package/skills/uipath-human-in-the-loop/references/hitl-casetask-action.md +413 -0
  107. package/skills/uipath-insights/SKILL.md +21 -14
  108. package/skills/uipath-insights/references/alerts-reads-guide.md +242 -0
  109. package/skills/uipath-insights/references/filter-discovery-guide.md +1 -1
  110. package/skills/uipath-insights/references/jobs-commands-guide.md +2 -2
  111. package/skills/uipath-ixp/references/cli-reference.md +1 -1
  112. package/skills/uipath-ixp/references/improve-prompts-guide.md +5 -6
  113. package/skills/uipath-maestro-bpmn/SKILL.md +87 -15
  114. package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +10 -10
  115. package/skills/uipath-maestro-bpmn/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +1 -1
  116. package/skills/uipath-maestro-bpmn/references/expression-authoring.md +12 -2
  117. package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -12
  118. package/skills/uipath-maestro-bpmn/references/operate/{references/run.md → run.md} +2 -2
  119. package/skills/uipath-maestro-bpmn/references/operate/{references/ship.md → ship.md} +3 -3
  120. package/skills/uipath-maestro-bpmn/references/patterns/ai-decision-review-guide.md +138 -0
  121. package/skills/uipath-maestro-bpmn/references/patterns/approval-chain-guide.md +136 -0
  122. package/skills/uipath-maestro-bpmn/references/patterns/composing-guide.md +113 -0
  123. package/skills/uipath-maestro-bpmn/references/patterns/external-wait-guide.md +145 -0
  124. package/skills/uipath-maestro-bpmn/references/patterns/failure-escalation-guide.md +103 -0
  125. package/skills/uipath-maestro-bpmn/references/patterns/high-volume-batch-guide.md +107 -0
  126. package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +129 -0
  127. package/skills/uipath-maestro-bpmn/references/patterns/smart-triage-guide.md +129 -0
  128. package/skills/uipath-maestro-bpmn/references/registry-workflow.md +15 -0
  129. package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +67 -36
  130. package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +6 -5
  131. package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +23 -5
  132. package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +101 -53
  133. package/skills/uipath-maestro-case/SKILL.md +23 -24
  134. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +30 -17
  135. package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -5
  136. package/skills/uipath-maestro-case/references/brownfield.md +3 -3
  137. package/skills/uipath-maestro-case/references/case-commands.md +8 -4
  138. package/skills/uipath-maestro-case/references/case-editing-operations.md +19 -19
  139. package/skills/uipath-maestro-case/references/case-schema.md +17 -3
  140. package/skills/uipath-maestro-case/references/connector-integration.md +25 -16
  141. package/skills/uipath-maestro-case/references/connector-trigger-impl.md +15 -15
  142. package/skills/uipath-maestro-case/references/connector-trigger-planning.md +32 -29
  143. package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -1
  144. package/skills/uipath-maestro-case/references/evals/evals.json +11 -11
  145. package/skills/uipath-maestro-case/references/implementation.md +74 -44
  146. package/skills/uipath-maestro-case/references/phased-execution.md +23 -21
  147. package/skills/uipath-maestro-case/references/placeholder-tasks.md +28 -23
  148. package/skills/uipath-maestro-case/references/planning.md +37 -252
  149. package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
  150. package/skills/uipath-maestro-case/references/plugins/case/planning.md +8 -6
  151. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
  152. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +11 -10
  153. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +6 -6
  154. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +12 -12
  155. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +4 -4
  156. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +10 -9
  157. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +5 -5
  158. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +16 -14
  159. package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +3 -3
  160. package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +15 -15
  161. package/skills/uipath-maestro-case/references/plugins/sla/planning.md +20 -21
  162. package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +6 -6
  163. package/skills/uipath-maestro-case/references/plugins/stages/planning.md +9 -9
  164. package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -9
  165. package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +38 -38
  166. package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -3
  167. package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +24 -20
  168. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -3
  169. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +24 -20
  170. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +4 -4
  171. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +25 -21
  172. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +30 -22
  173. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +44 -28
  174. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -10
  175. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +27 -23
  176. package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -3
  177. package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -3
  178. package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +25 -22
  179. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -3
  180. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +25 -21
  181. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -4
  182. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +5 -4
  183. package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -9
  184. package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +30 -19
  185. package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -4
  186. package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +8 -7
  187. package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +3 -3
  188. package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +5 -4
  189. package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +5 -5
  190. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +7 -7
  191. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +21 -17
  192. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +29 -21
  193. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +23 -21
  194. package/skills/uipath-maestro-case/references/registry-discovery.md +5 -5
  195. package/skills/uipath-maestro-flow/.maintenance/README.md +35 -28
  196. package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +19 -1
  197. package/skills/uipath-maestro-flow/.maintenance/check-links.sh +3 -0
  198. package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +2 -2
  199. package/skills/uipath-maestro-flow/SKILL.md +66 -76
  200. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +75 -72
  201. package/skills/uipath-maestro-flow/references/author/brownfield.md +90 -0
  202. package/skills/uipath-maestro-flow/references/author/{references/editing-operations-cli.md → editing-operations-cli.md} +9 -4
  203. package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +373 -0
  204. package/skills/uipath-maestro-flow/references/author/editing-operations.md +103 -0
  205. package/skills/uipath-maestro-flow/references/author/{references/greenfield.md → greenfield.md} +32 -20
  206. package/skills/uipath-maestro-flow/references/author/planning-arch.md +342 -0
  207. package/skills/uipath-maestro-flow/references/author/planning-impl.md +283 -0
  208. package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +227 -0
  209. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agent/planning.md +2 -2
  210. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/impl.md +2 -2
  211. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/planning.md +1 -1
  212. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/impl.md +2 -2
  213. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/planning.md +1 -1
  214. package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
  215. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/batch-transform/planning.md +1 -1
  216. package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +449 -0
  217. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector/planning.md +3 -3
  218. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/impl.md +20 -18
  219. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/planning.md +2 -2
  220. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +427 -0
  221. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +185 -0
  222. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/impl.md +5 -0
  223. package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
  224. package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
  225. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/impl.md +2 -2
  226. package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +178 -0
  227. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/hitl/planning.md +14 -1
  228. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/impl-connector.md +4 -4
  229. package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
  230. package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
  231. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/planning.md +3 -3
  232. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/impl.md +6 -6
  233. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/planning.md +1 -1
  234. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/impl.md +4 -4
  235. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/planning.md +1 -1
  236. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/impl.md +8 -8
  237. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/impl.md +1 -1
  238. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/planning.md +1 -1
  239. package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
  240. package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
  241. package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
  242. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/rpa/planning.md +1 -1
  243. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/impl.md +6 -8
  244. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/impl.md +5 -5
  245. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/planning.md +1 -1
  246. package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
  247. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/subflow/planning.md +1 -1
  248. package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
  249. package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
  250. package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
  251. package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
  252. package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +241 -0
  253. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/transform/planning.md +1 -1
  254. package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +39 -37
  255. package/skills/uipath-maestro-flow/references/diagnose/{references/failure-modes.md → failure-modes.md} +22 -22
  256. package/skills/uipath-maestro-flow/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +60 -1
  257. package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +27 -25
  258. package/skills/uipath-maestro-flow/references/evaluate/{references/commands-reference.md → commands-reference.md} +58 -7
  259. package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
  260. package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
  261. package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +21 -21
  262. package/skills/uipath-maestro-flow/references/operate/{references/manage.md → manage.md} +4 -4
  263. package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
  264. package/skills/uipath-maestro-flow/references/operate/{references/ship.md → ship.md} +5 -5
  265. package/skills/uipath-maestro-flow/references/shared/action-nodes.md +30 -22
  266. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +76 -184
  267. package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +49 -60
  268. package/skills/uipath-maestro-flow/references/shared/file-format.md +32 -11
  269. package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +49 -104
  270. package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +66 -103
  271. package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +4 -4
  272. package/skills/uipath-planner/SKILL.md +1 -1
  273. package/skills/uipath-planner/assets/templates/case/case-sdd-template.md +5 -3
  274. package/skills/uipath-planner/references/case/case-design-lane-guide.md +1 -1
  275. package/skills/uipath-planner/references/case/case-design-layers-guide.md +2 -2
  276. package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -1
  277. package/skills/uipath-planner/references/pdd-driven-lane-guide.md +3 -2
  278. package/skills/uipath-planner/references/sdd-generation-guide.md +1 -0
  279. package/skills/uipath-planner/scripts/case/audit_sdd.py +77 -1
  280. package/skills/uipath-platform/SKILL.md +6 -4
  281. package/skills/uipath-platform/references/integration-service/activities.md +7 -4
  282. package/skills/uipath-platform/references/integration-service/reference-resolution.md +28 -0
  283. package/skills/uipath-platform/references/integration-service/resources.md +11 -0
  284. package/skills/uipath-platform/references/integration-service/triggers.md +2 -2
  285. package/skills/uipath-platform/references/licensing/diagnose/CAPABILITY.md +80 -0
  286. package/skills/uipath-platform/references/licensing/diagnose/references/failure-modes.md +147 -0
  287. package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md +125 -0
  288. package/skills/uipath-platform/references/licensing/licensing.md +3 -0
  289. package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +5 -0
  290. package/skills/uipath-platform/references/orchestrator/run-jobs.md +11 -2
  291. package/skills/uipath-platform/references/traces/feedback.md +4 -4
  292. package/skills/uipath-platform/references/traces/traces.md +1 -1
  293. package/skills/uipath-process-mining/SKILL.md +6 -6
  294. package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +10 -8
  295. package/skills/uipath-process-mining/references/model-editing.md +1 -1
  296. package/skills/uipath-process-mining/references/querying.md +4 -3
  297. package/skills/uipath-review/SKILL.md +171 -541
  298. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +73 -92
  299. package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +4 -0
  300. package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +73 -180
  301. package/skills/uipath-review/references/architecture-assessment-guide.md +93 -105
  302. package/skills/uipath-review/references/review-workflow-guide.md +1 -1
  303. package/skills/uipath-review/references/rpa/modern-studio-issues.md +44 -44
  304. package/skills/uipath-review/references/rpa/rpa-common-issues.md +251 -321
  305. package/skills/uipath-review/references/rpa/rpa-review-checklist.md +1 -1
  306. package/skills/uipath-review/references/rule-catalog-workflow.md +25 -45
  307. package/skills/uipath-review/references/rule-format.md +21 -21
  308. package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +1 -1
  309. package/skills/uipath-rpa/CLAUDE.md +4 -5
  310. package/skills/uipath-rpa/SKILL.md +40 -246
  311. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/FindText.md +2 -10
  312. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetColorAtPosition.md +2 -10
  313. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetCursorPosition.md +2 -10
  314. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetField.md +13 -13
  315. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetFieldAtPosition.md +2 -10
  316. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetScreenArea.md +27 -8
  317. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetText.md +2 -14
  318. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetTextAtPosition.md +2 -10
  319. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursor.md +3 -11
  320. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursorToText.md +2 -10
  321. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendControlKey.md +2 -8
  322. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeys.md +2 -10
  323. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeysSecure.md +2 -10
  324. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetField.md +14 -13
  325. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetFieldAtPosition.md +4 -7
  326. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/_common-options.md +29 -0
  327. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/authoring-paths.md +58 -0
  328. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +197 -11
  329. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitFieldText.md +2 -10
  330. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +9 -10
  331. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenText.md +2 -14
  332. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitTextAtPosition.md +2 -10
  333. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities.json +271 -0
  334. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/coded/coded-api.md +61 -3
  335. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/overview.md +76 -0
  336. package/skills/uipath-rpa/references/cli-reference.md +63 -29
  337. package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +59 -1
  338. package/skills/uipath-rpa/references/coded/operations-guide.md +2 -1
  339. package/skills/uipath-rpa/references/debugging.md +29 -12
  340. package/skills/uipath-rpa/references/environment-setup.md +54 -1
  341. package/skills/uipath-rpa/references/execution-maps-guide.md +10 -9
  342. package/skills/uipath-rpa/references/legacy/activity-docs/_INVOKE-CODE.md +1 -1
  343. package/skills/uipath-rpa/references/uia-starter-guide.md +46 -8
  344. package/skills/uipath-rpa/references/xaml/common-pitfalls.md +3 -4
  345. package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +7 -8
  346. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +132 -42
  347. package/skills/uipath-solution/SKILL.md +9 -6
  348. package/skills/uipath-solution/references/activate-and-manage.md +11 -6
  349. package/skills/uipath-solution/references/develop-solution.md +39 -28
  350. package/skills/uipath-solution/references/pack-and-deploy.md +49 -1
  351. package/skills/uipath-solution/references/scenarios/failure-modes.md +1 -1
  352. package/skills/uipath-solution/references/scenarios/intra-solution-references.md +3 -3
  353. package/skills/uipath-solution/references/scenarios/manual-edits.md +1 -1
  354. package/skills/uipath-solution/references/scenarios.md +2 -2
  355. package/skills/uipath-solution/references/solution-overview.md +15 -6
  356. package/skills/uipath-tasks/SKILL.md +11 -6
  357. package/skills/uipath-tasks/references/task-assignment.md +5 -0
  358. package/skills/uipath-tasks/references/task-catalogs.md +7 -4
  359. package/skills/uipath-tasks/references/task-completion.md +3 -1
  360. package/skills/uipath-tasks/references/task-data.md +3 -3
  361. package/skills/uipath-tasks/references/task-lifecycle.md +11 -0
  362. package/skills/uipath-tasks/references/task-metadata.md +4 -3
  363. package/skills/uipath-test/SKILL.md +13 -28
  364. package/skills/uipath-test/references/failure-triage-guide.md +90 -0
  365. package/skills/uipath-test/references/playwright-first-mile-guide.md +2 -2
  366. package/skills/uipath-test/references/publish-and-link-guide.md +0 -1
  367. package/skills/uipath-test/references/test-result-report-guide.md +1 -2
  368. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +1 -1
  369. package/skills/uipath-troubleshoot/references/presenting.md +1 -1
  370. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
  371. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/generic-error-400.md +4 -4
  372. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-400.md +2 -2
  373. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/job-operation-timeout.md +1 -1
  374. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +1 -1
  375. package/version-manifest.json +2 -2
  376. package/skills/uipath-maestro-case/scripts/audit_plan.py +0 -231
  377. package/skills/uipath-maestro-flow/references/author/references/brownfield.md +0 -93
  378. package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +0 -545
  379. package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +0 -131
  380. package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -638
  381. package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -306
  382. package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +0 -229
  383. package/skills/uipath-maestro-flow/references/author/references/plugins/batch-transform/impl.md +0 -174
  384. package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +0 -741
  385. package/skills/uipath-maestro-flow/references/author/references/plugins/delay/impl.md +0 -75
  386. package/skills/uipath-maestro-flow/references/author/references/plugins/end/impl.md +0 -65
  387. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +0 -204
  388. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +0 -65
  389. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +0 -201
  390. package/skills/uipath-maestro-flow/references/author/references/plugins/merge/impl.md +0 -43
  391. package/skills/uipath-maestro-flow/references/author/references/plugins/merge/planning.md +0 -29
  392. package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +0 -121
  393. package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +0 -230
  394. package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/impl.md +0 -198
  395. package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md +0 -71
  396. package/skills/uipath-maestro-flow/references/author/references/plugins/switch/planning.md +0 -38
  397. package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +0 -48
  398. package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +0 -287
  399. package/skills/uipath-maestro-flow/references/evaluate/references/eval-sets-guide.md +0 -226
  400. package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +0 -82
  401. package/skills/uipath-maestro-flow/references/operate/references/run.md +0 -99
  402. /package/skills/uipath-maestro-bpmn/references/diagnose/{references/failure-modes.md → failure-modes.md} +0 -0
  403. /package/skills/uipath-maestro-bpmn/references/operate/{references/manage.md → manage.md} +0 -0
  404. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/planning.md +0 -0
  405. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/delay/planning.md +0 -0
  406. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/end/planning.md +0 -0
  407. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/planning.md +0 -0
  408. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/planning.md +0 -0
  409. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/impl.md +0 -0
  410. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/planning.md +0 -0
  411. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/planning.md +0 -0
  412. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/switch/impl.md +0 -0
  413. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/terminate/planning.md +0 -0
  414. /package/skills/uipath-maestro-flow/references/evaluate/{references/evaluators-guide.md → evaluators-guide.md} +0 -0
  415. /package/skills/uipath-maestro-flow/references/evaluate/{references/running-guide.md → running-guide.md} +0 -0
@@ -12,6 +12,9 @@
12
12
  # - same-file anchor-only links (#anchor without a path)
13
13
  # - links to files that don't exist (those are caught by check-links.sh, not this checker)
14
14
  #
15
+ # An anchor resolves if the target file supplies it either as a heading slug or as an
16
+ # explicit `<a id="...">` / `<a name="...">` tag (GitHub honors both).
17
+ #
15
18
  # Slug rule (matches GitHub heading-anchor generation):
16
19
  # 1. Lowercase the heading
17
20
  # 2. Strip backtick, asterisk, underscore, and any non-alphanumeric/non-space/non-dash character
@@ -35,6 +38,18 @@ heading_anchors() {
35
38
  }' "$1"
36
39
  }
37
40
 
41
+ # Explicit anchor tags authored inline (e.g. `<a id="attachment-preflight"></a>`).
42
+ # Used where the link target is a paragraph or table row rather than a heading.
43
+ explicit_anchors() {
44
+ /usr/bin/grep -oE '<a[[:space:]]+(id|name)="[^"]+"' "$1" \
45
+ | /usr/bin/sed -E 's/.*="([^"]+)"/\1/'
46
+ }
47
+
48
+ target_anchors() {
49
+ heading_anchors "$1"
50
+ explicit_anchors "$1"
51
+ }
52
+
38
53
  # Per-file: strip fenced code blocks and inline code spans, then extract links.
39
54
  extract_links() {
40
55
  /usr/bin/awk '
@@ -70,7 +85,7 @@ while IFS= read -r srcfile; do
70
85
  resolved=$(cd "$(/usr/bin/dirname "$full")" 2>/dev/null && /bin/pwd)/$(/usr/bin/basename "$full")
71
86
  [ ! -f "$resolved" ] && continue
72
87
  checked=$((checked+1))
73
- if heading_anchors "$resolved" | /usr/bin/grep -qx -- "$anchor"; then
88
+ if target_anchors "$resolved" | /usr/bin/grep -qx -- "$anchor"; then
74
89
  :
75
90
  else
76
91
  echo "BAD ANCHOR $srcfile -> $raw"
@@ -81,3 +96,6 @@ done < <(/usr/bin/find . -name "*.md" -type f)
81
96
 
82
97
  echo ""
83
98
  echo "anchors_checked=$checked anchors_bad=$broken"
99
+
100
+ [ "$broken" -gt 0 ] && exit 1
101
+ exit 0
@@ -68,3 +68,6 @@ done < <(/usr/bin/find . -name "*.md" -type f)
68
68
 
69
69
  echo ""
70
70
  echo "checked=$checked broken=$broken"
71
+
72
+ [ "$broken" -gt 0 ] && exit 1
73
+ exit 0
@@ -1,5 +1,5 @@
1
1
  #!/bin/bash
2
- # Verify every plugin folder under references/author/references/plugins/ has both
2
+ # Verify every plugin folder under references/author/plugins/ has both
3
3
  # `planning.md` and `impl.md` (the per-plugin convention from skill-structure.md).
4
4
  # Usage: bash .maintenance/check-plugin-pairs.sh
5
5
  # Output: MISSING lines per failure, then "plugins_checked=N missing_files=M" summary.
@@ -9,7 +9,7 @@
9
9
  ROOT="$(cd "$(dirname "$0")/.." && pwd)"
10
10
  cd "$ROOT" || exit 1
11
11
 
12
- PLUGINS_DIR="$ROOT/references/author/references/plugins"
12
+ PLUGINS_DIR="$ROOT/references/author/plugins"
13
13
 
14
14
  if [ ! -d "$PLUGINS_DIR" ]; then
15
15
  echo "ERROR: plugins directory not found at $PLUGINS_DIR" >&2
@@ -1,104 +1,94 @@
1
1
  ---
2
2
  name: uipath-maestro-flow
3
- description: "TRIGGER for `.flow` files, UiPath Flow / Maestro Flow build or edit requests, adding or listing IXP model/document-extraction nodes for a Flow. UiPath Maestro Flow (.flow) — build, edit, run, debug, fix, evaluate. Create, connect nodes; connector, approval, script, subflow, ixp; triggers, schedules; validate. Upload, publish, manage runs, instances. Diagnose errors, incidents, traces. Design eval sets, evaluators, run Studio Web evals via `uip maestro flow eval`. `uip maestro flow` CLI. DO NOT TRIGGER for raw IXP project labelling/prediction review/prompt tuning outside Flow→uipath-ixp; C#/XAML→uipath-rpa; standalone agents→uipath-agents."
3
+ description: "TRIGGER for `.flow` files, UiPath Flow / Maestro Flow build/edit requests, and adding or listing IXP model/document-extraction nodes for a Flow. Build, edit, run, debug, fix, evaluate a Maestro Flow (.flow): create/connect nodes (connector, approval, script, subflow, ixp, data fabric entity), triggers, schedules, validate; upload, publish, manage runs/instances; diagnose errors, incidents, traces; design eval sets, evaluators, run Studio Web evals. `uip maestro flow` CLI. DO NOT TRIGGER for raw IXP project labelling/prediction review/prompt tuning outside Flow→uipath-ixp; C#/XAML→uipath-rpa; standalone agents→uipath-agents."
4
4
  allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
5
5
  ---
6
6
 
7
- # UiPath Flow Skill
8
-
9
- Comprehensive guide for creating, editing, validating, debugging, publishing, diagnosing, and evaluating UiPath Flow projects using the `uip` CLI and `.flow` file format. The skill is organized into four capabilities — **Author**, **Operate**, **Diagnose**, **Evaluate** — each with its own index doc.
10
-
11
- ## When to use this skill
12
-
13
- **Author** — building or editing a `.flow` file. Read [references/author/CAPABILITY.md](references/author/CAPABILITY.md).
7
+ # Reasoning budget
14
8
 
15
- - Create a new Flow project (`uip maestro flow init`)
16
- - Edit a `.flow` file — add nodes, edges, variables, subflows, transforms, triggers
17
- - Explore available node types via the registry
18
- - Validate or format a Flow file locally
19
- - Apply Node ownership — Edit/Write for user-owned nodes, CLI for CLI-owned nodes (see Author capability)
20
- - Configure connector, connector-trigger, or managed HTTP nodes; scaffold inline-agent projects
21
- - Add IxP / document-extraction nodes to a flow, or list IxP models available to Maestro Flow through the flow registry
22
- - Plan a complex flow before building
9
+ - Match reasoning to step difficulty; bias toward acting. For mechanical / IO / format steps, if a `uip` verb covers the task, run it — never hand-derive what the CLI emits (`node configure` detail and `bindings[]`, `format` layout, `registry get` node shapes).
10
+ - Save deep reasoning for the judgments no verb can make for you: node-type selection (the external-service ladder), topology, and how data moves from one node's output into the next node's input.
23
11
 
24
- **Operate** — publishing, running, or managing a deployed flow. Read [references/operate/CAPABILITY.md](references/operate/CAPABILITY.md).
12
+ # Working style
25
13
 
26
- - Push a flow to Studio Web (`uip solution upload`)
27
- - Deploy a flow to Orchestrator (`uip maestro flow pack` + `uip solution publish`)
28
- - Debug a flow end-to-end against real systems
29
- - Trigger a deployed process
30
- - Check job status or stream traces
31
- - Pause, resume, cancel, or retry a running instance
14
+ - **Understand first, then decide.** Read this file and the capability index for the work at hand, then plan against what the CLI verbs do — not a guess. `uip maestro flow <verb> --help` and `uip maestro flow registry get <node-type>` are ground truth for flags and node shapes.
15
+ - **Plan the whole path up front, then chain.** Outline the sequence before running anything, batch independent steps into one turn, pipeline the rest (rule #10). Do not run turn-by-turn what could have been chained.
16
+ - **Inspect an input ONCE.** To learn a shape — a node type's schema, a connector's fields, an existing `.flow`'s nodes — dump it once and search that output. Never re-read a file field-by-field or re-query the registry once per field.
17
+ - **Don't repeat work.** Never rerun a command whose inputs and relevant state are unchanged, or re-read an unchanged file already in context. After a command may have rewritten a file (`node configure`, `format`), re-read it before relying on its contents.
18
+ - **Prefer the CLI to ad-hoc code.** Scripting languages are a last resort for `.flow` edits and need user approval first (rule #9). When code is warranted, write it once with paths as arguments; no near-duplicate inline snippets across turns.
19
+ - **Keep outputs small.** Extract with `--output json --output-filter` when you know the fields (rule #1). When the payload is large or the command is slow or side-effecting — `flow debug`, `job traces`, `registry get` — redirect the whole envelope to a file outside the solution tree (`uip maestro flow debug <project-dir> --output json > /tmp/flow-debug.json`) and search the file, so re-reading it never means re-running the command.
20
+ - **Don't do anything unnecessary.** No tool call, file read, or result pulled into context before it is needed.
32
21
 
33
- **Diagnose** — investigating a failed or misbehaving run. Read [references/diagnose/CAPABILITY.md](references/diagnose/CAPABILITY.md).
22
+ # UiPath Flow Skill
34
23
 
35
- - Triage a failed `flow debug` or deployed process run
36
- - Read incidents, runtime variables, deployed BPMN
37
- - Recognize known failure modes (MST-9107, MST-9061, HITL-stuck, reused reference IDs, single-nested layout)
24
+ Guide for creating, editing, validating, debugging, publishing, diagnosing, and evaluating UiPath Flow projects with the `uip` CLI and `.flow` format.
38
25
 
39
- **Evaluate** — designing and running evaluations against a deployed flow. Read [references/evaluate/CAPABILITY.md](references/evaluate/CAPABILITY.md).
26
+ ## Capabilities
40
27
 
41
- - Create evaluators (`exact-match`, `json-similarity`, `contains`, `llm-judge-*`) for a Flow project
42
- - Create eval sets, add data points (test cases), pin entry points
43
- - Start Studio Web eval runs, poll status, fetch results, compare runs
44
- - Decide whether to call `uip solution upload` (almost always: don't auto-run; ask first)
28
+ - **Author** — Build and edit `.flow` files; add nodes, edges, variables, subflows, transforms, and triggers; explore the registry; validate and format locally; apply node ownership; configure connectors, triggers, managed HTTP, inline-agent scaffolding, IxP/document-extraction nodes, IxP models, and Data Fabric entity nodes; plan complex flows first. Read [references/author/CAPABILITY.md](references/author/CAPABILITY.md).
29
+ - Create projects with `uip maestro flow init`.
30
+ - **Operate** — Publish, run, and manage deployed flows; debug real systems, trigger processes, inspect jobs/traces, and pause, resume, cancel, or retry instances. Read [references/operate/CAPABILITY.md](references/operate/CAPABILITY.md).
31
+ - Push to Studio Web with `uip solution upload`.
32
+ - Deploy to Orchestrator with `uip maestro flow pack` plus `uip solution publish`.
33
+ - **Diagnose** — Investigate failed or misbehaving runs; triage `flow debug` or deployed runs; inspect incidents, runtime variables, and deployed BPMN; recognize missing `=js:`, misshapen nodes, HITL-stuck, reused-reference-ID, and single-nested-layout failures. Read [references/diagnose/CAPABILITY.md](references/diagnose/CAPABILITY.md).
34
+ - **Evaluate** — Design and run evaluations; create evaluators and eval sets, add data points, pin entry points, run Studio Web evaluations, poll status, fetch results, and compare runs. Read [references/evaluate/CAPABILITY.md](references/evaluate/CAPABILITY.md).
35
+ - Decide whether to call `uip solution upload` (almost always do not auto-run; ask first).
45
36
 
46
37
  ## Capability router
47
38
 
48
- | I want to... | Read |
49
- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
50
- | Create a new flow or edit an existing one | [references/author/CAPABILITY.md](references/author/CAPABILITY.md) |
51
- | Publish, deploy, debug, or manage a flow's lifecycle | [references/operate/CAPABILITY.md](references/operate/CAPABILITY.md) |
52
- | Diagnose a failed or misbehaving flow run | [references/diagnose/CAPABILITY.md](references/diagnose/CAPABILITY.md) |
53
- | Design and run evaluations (`uip maestro flow eval`) | [references/evaluate/CAPABILITY.md](references/evaluate/CAPABILITY.md) |
54
- | Look up CLI command syntax | [references/shared/cli-commands.md](references/shared/cli-commands.md) |
55
- | Look up CLI conventions (`--output json`, `--output-filter`, login, FOLDER_KEY) | [references/shared/cli-conventions.md](references/shared/cli-conventions.md) |
56
- | Understand the `.flow` JSON format | [references/shared/file-format.md](references/shared/file-format.md) |
57
- | Understand variables and `=js:` expressions | [references/shared/variables-and-expressions.md](references/shared/variables-and-expressions.md) |
58
- | Wire one node's output into another node's input | [references/shared/node-output-wiring.md](references/shared/node-output-wiring.md) |
59
- | Look up action-node boilerplate shared across plugin `impl.md`s | [references/shared/action-nodes.md](references/shared/action-nodes.md) |
60
- | Narrate progress + maintain todos (opt-in — when user wants verbosity) | [references/shared/ux-narration-and-todos.md](references/shared/ux-narration-and-todos.md) |
39
+ | Goal | Reference |
40
+ |---|---|
41
+ | Create or edit a flow | [references/author/CAPABILITY.md](references/author/CAPABILITY.md) |
42
+ | Publish, deploy, debug, or manage lifecycle | [references/operate/CAPABILITY.md](references/operate/CAPABILITY.md) |
43
+ | Diagnose a failed or misbehaving run | [references/diagnose/CAPABILITY.md](references/diagnose/CAPABILITY.md) |
44
+ | Design/run evaluations | [references/evaluate/CAPABILITY.md](references/evaluate/CAPABILITY.md) |
45
+ | CLI syntax | [references/shared/cli-commands.md](references/shared/cli-commands.md) |
46
+ | CLI conventions, `--output json`, `--output-filter`, login, and `FOLDER_KEY` | [references/shared/cli-conventions.md](references/shared/cli-conventions.md) |
47
+ | `.flow` JSON format | [references/shared/file-format.md](references/shared/file-format.md) |
48
+ | Variables and `=js:` expressions | [references/shared/variables-and-expressions.md](references/shared/variables-and-expressions.md) |
49
+ | Wire node outputs to inputs | [references/shared/node-output-wiring.md](references/shared/node-output-wiring.md) |
50
+ | Shared action-node boilerplate | [references/shared/action-nodes.md](references/shared/action-nodes.md) |
51
+ | Optional progress narration and todos | [references/shared/ux-narration-and-todos.md](references/shared/ux-narration-and-todos.md) |
61
52
 
62
53
  ## Critical rules (universal)
63
54
 
64
- These rules apply across all three capabilities. Each capability index adds capability-scoped rules on top.
65
-
66
- > **Tool vocabulary.** Tool names in this skill use Claude Code conventions: `Edit` = in-place string replacement, `Write` = full-file write, `Read`/`Glob`/`Grep` = file read/search, `Bash` = shell, progress list = the harness's task list. On another harness, map each to its equivalent — the semantics (reviewable in-place diff vs wholesale rewrite, shell as last resort for file edits) carry unchanged.
55
+ > **Tool vocabulary.** `Edit` means in-place replacement, `Write` a full-file write, `Read`/`Glob`/`Grep` file access, `Bash` shell, and a progress list the harness task list. Map them to equivalent tools elsewhere; preserve reviewable diffs and use shell file edits only as a last resort.
67
56
 
68
- 1. **ALWAYS use `--output json` and prefer `--output-filter` for extraction** on all `uip` commands when parsing output programmatically. `--output-filter <jmespath>` is a global CLI flag applied to the `Data` envelope before printing — write expressions starting at `Data` (no `Data.` prefix). Canonical recipe: `uip maestro flow registry search <keyword> --output json --output-filter "[*].{NodeType:NodeType,DisplayName:DisplayName,Description:Description,AvailableOnTenant:AvailableOnTenant}"`. `registry search` returns `Data` as a **flat array of PascalCase objects** (`NodeType`, `DisplayName`, `Description`, `AvailableOnTenant`) — NOT `Data.Nodes`, lowercase `type`, or lowercase `category`. With `--local`, `AvailableOnTenant` is omitted (no tenant lookup) — drop it from the projection. External parsers (`python3 -c`, `jq`) remain valid for transforms JMESPath cannot express; reach for them only after the shape is verified. Full mechanics, fall-back guidance, and shape-inspection probes: [cli-conventions.md §3](references/shared/cli-conventions.md#3-prefer---output-filter-for-extraction).
69
- 2. **Do NOT run `flow debug` without explicit user consent** — debug executes the flow for real (sends emails, posts messages, calls APIs).
70
- 3. **Resource discovery order — search before creating.** When the prompt references an existing resource by name ("use the X agent", "call the Y API workflow", "invoke the Z RPA process"), follow this order strictly before deciding the resource doesn't exist:
71
- 1. **Pull, then search the tenant registry** — `uip maestro flow registry pull --force && uip maestro flow registry search "<name>" --output json`. Always pull first: `search` reads the local cache (populated by `pull`, expires after 30 min), so a search before a fresh pull can return empty for a resource that exists. Requires `uip login`; returns published resources.
72
- 2. **In-solution local discovery** — `uip maestro flow registry list --local --output json`, or `uip maestro flow registry search "<name>" --local --output json` for keyword match. No login required; returns sibling projects in the same `.uipx` solution. An empty `search --local` is not proof of absence (the keyword may not match the project's naming) — confirm with `list --local` before concluding the resource is not in the solution.
73
- 3. **Only then create/scaffold** — scaffold an inline agent, mock, or create-new-resource only when both searches return no match AND either the user explicitly asks to embed/inline/create, or no published resource can satisfy the requirement.
57
+ 1. **Use `--output json`; prefer `--output-filter` for extraction.** Filters are global and run against the `Data` envelope, so expressions start at `Data` without a `Data.` prefix. Registry search returns a flat PascalCase array (`NodeType`, `DisplayName`, `Description`, `AvailableOnTenant`), not `Data.Nodes` or lowercase fields. Example: `uip maestro flow registry search <keyword> --output json --output-filter "[*].{NodeType:NodeType,DisplayName:DisplayName,Description:Description,AvailableOnTenant:AvailableOnTenant}"`. With `--local`, omit `AvailableOnTenant`. Use `python3 -c` or `jq` only after verifying shape and when JMESPath cannot express the transform. See [cli-conventions.md §3](references/shared/cli-conventions.md#3-prefer---output-filter-for-extraction).
58
+ 2. **`flow debug` consent comes from the mandate.** It executes the flow for real (sends emails, posts messages, calls APIs), so run it only when the request is for a flow that *works* — asked to build something that does X, or to make it work. Building and validating does not discharge that; a flow never executed is not finished. Ask when the request stops at review, one node, or validate; with nobody to ask, report debug as the step not run. **The mandate does not cover side effects reaching a third party** — a real call, a message to someone who is not the user. Those need the run asked for explicitly, whoever is watching. Debug also overwrites the Studio Web solution matching the local `.uipx` `SolutionId`, so never debug a solution this run did not scaffold.
59
+ 3. **Search before creating or declaring resources absent.** For named agents, API workflows, RPA processes, and similar resources: (a) pull and search the tenant registry with `uip maestro flow registry pull --force && uip maestro flow registry search "<name>" --output json`; pull first because the cache expires after 30 minutes, login is required, and only published resources are returned; (b) search locally with `uip maestro flow registry list --local --output json` or `search "<name>" --local` (no login; returns sibling projects in the same `.uipx` solution); an empty keyword search does not prove absence, so confirm with `list --local`; (c) scaffold, mock, or create only when both searches find no match and the user explicitly requests embedding/creation or no published resource satisfies the need.
74
60
 
75
- The words "coded" and "low-code" describe the _implementation style_ of a published agent — they are NOT synonyms for "inline". `uipath.agent.autonomous` (inline) is only correct when the user explicitly asks to embed/inline/create a new agent inside this flow. Only use `core.logic.mock` when the resource is **not** in the same solution and not yet published. See the relevant resource plugin's `impl.md` (e.g., [rpa](references/author/references/plugins/rpa/impl.md), [agent](references/author/references/plugins/agent/impl.md)).
61
+ "Coded" and "low-code" describe implementation style, not inline status. Use `uipath.agent.autonomous` only when explicitly asked to embed/inline/create an agent. Use `core.logic.mock` only when the resource is neither in the solution nor published. See [rpa](references/author/plugins/rpa/impl.md) and [agent](references/author/plugins/agent/impl.md).
76
62
 
77
- **The same "search before deciding it doesn't exist" discipline applies to connector connections.** The connector key MUST come from a `registry search` node type (`uipath.connector.<connector-key>.<activity>`) — never inferred from the service's brand name. The registry key is frequently prefixed or qualified differently than the product name, so a guessed key silently misses the real connector. Any `uip is connections list` used for discovery MUST pass `--all-folders`. An empty result from an unverified key or without `--all-folders` is a false negative, never authoritative — do not conclude "no connection exists" or ask the user to create one until both hold.
63
+ Apply the same discipline to connectors: derive the connector key from a `registry search` node type (`uipath.connector.<connector-key>.<activity>`), never the brand name — the registry key is often prefixed or qualified differently, so a guessed key silently misses the real connector; discover connections with `uip is connections list "<connector-key>" --all-folders`. An unverified key or missing `--all-folders` makes an empty result a false negative.
78
64
 
79
- **It also applies to ANY external service named in the prompt — not just in-tenant resources.** Before picking a node type for a named service (Slack, open-meteo, Stripe, any REST API), run `uip maestro flow registry search "<service>" --output json` and follow the [Selecting External Service Nodes](references/author/references/planning-arch.md#selecting-external-service-nodes) ladder (connector → managed HTTP → RPA). Manual `core.action.http.v2` is the bottom of that ladder, chosen only after a search finds no connector — never a first guess from the brand name. This holds even when full planning is skipped (see [greenfield.md — Select the node type for each external service](references/author/references/greenfield.md#select-the-node-type-for-each-external-service-runs-even-when-full-planning-is-skipped)).
65
+ **It also applies to ANY external service named in the prompt — not just in-tenant resources.** Before picking a node type for a named service (Slack, open-meteo, Stripe, any REST API), run `uip maestro flow registry search "<service>" --output json` and follow the [Selecting External Service Nodes](references/author/planning-arch.md#selecting-external-service-nodes) ladder (connector → managed HTTP → RPA). Manual `core.action.http.v2` is the bottom of that ladder, chosen only after a search finds no connector — never a first guess from the brand name. This holds even when full planning is skipped (see [greenfield.md — Select the node type for each external service](references/author/greenfield.md#select-the-node-type-for-each-external-service-runs-even-when-full-planning-is-skipped)).
80
66
 
81
67
  **Two tells that you skipped the search and took the brand-name shortcut — both are build defects, not valid manual-mode HTTP:** (a) you authored a manual-mode `core.action.http.v2` node whose `url` targets a well-known SaaS API domain that has a connector (`slack.com/api/*`, `api.github.com`, `*.salesforce.com`, `graph.microsoft.com`, …); (b) you declared an `in` variable to hold that service's API token or secret (e.g. a `slackToken` holding an `xoxb-…` bot token, an `apiKey`, a bearer token). A connector-backed flow never carries the raw credential — the IS connection does. If you find yourself writing either, **stop**: run `uip maestro flow registry search "<service>"` and `uip is connections list "<connector-key>" --all-folders`, then use the connector activity (or connector-mode HTTP: `authentication:"connector"` + `targetConnector` + a bound `connectionId`/`folderKey`). Manual mode is legitimate only for a service the search proves has no connector.
82
68
 
83
- 4. **Never invoke other skills automatically** — when a flow needs an RPA process, agent, or app, identify the gap and provide handoff instructions. Let the user decide when to switch skills. **One exception — IXP extraction with documents in hand:** when the flow needs document extraction, the user supplied sample documents, and `registry search "uipath.ixp"` shows no extractor covering them, invoke the `uipath-ixp` skill to build and deploy the model, then resume the flow ([plugins/ixp/impl.md — If the Model Does Not Exist Yet](references/author/references/plugins/ixp/impl.md#if-the-model-does-not-exist-yet)). Resolve the target Orchestrator folder for the deployment before invoking — from the user's request when it names one, otherwise per rule #5 (its non-interactive fallback applies) — and pass it in the handoff; the sibling stops rather than guess a folder. There is deliberately no separate consent gate on the tenant writes this creates: the project and folder deployment fulfil the extraction request itself, and the one consequential choice — where the deployment lands (deployments have no delete API) — is exactly the folder decision rule #5 just routed. Do NOT drive `uip ixp` project or deployment commands from this skill instead of invoking it — the sibling's guides carry guardrails this skill does not. If `uipath-ixp` is unavailable in the session, fall back to `core.logic.mock` plus an Open Questions entry, exactly as when no documents were supplied.
84
- 5. **Always present user questions as a dropdown with a "Something else" escape hatch** — Whenever this skill needs a decision from the user (which solution to use, publish vs debug vs deploy, which connector to pick, which trigger type, which resource to bind, etc.), ask the user a question with the enumerated choices as options AND include **"Something else"** as the last option so the user can supply free-form string input. Never ask open-ended questions in chat when a finite set of sensible defaults exists. If the user picks "Something else", parse their string answer and continue. No structured-question facility on the harness → ask in chat as a numbered list with "Something else" last. Running non-interactively (CI/headless — no user available to answer) → take the pre-selected/recommended option, proceed, and record the decision prominently in the final report; if no option is marked recommended, stop and report the open decision instead of guessing. Exception: consent gates (`flow debug`, destructive operations) are never auto-answered — in non-interactive mode, stop and report the blocked step instead. These fallbacks define "ask the user" / "confirm with the user" wherever this skill's references require it.
85
- 6. **Discover the target solution before you scaffold — a Flow project MUST live inside a solution** (layout is **always** double-nested: `<Solution>/<Project>/<Project>.flow`). Before any `uip solution init` or `uip maestro flow init` for a NEW Flow, run `find . -maxdepth 2 -type f -name '*.uipx' -print`. **If it lists one or more solutions, STOP** — do not scaffold, initialize, delete, or repair anything. Ask which solution to use (dropdown per rule #5): one option per discovered solution, **"Create a new solution"**, then **"Something else"** last; continue only after the answer. This holds even when the user says they want a new solution or supplies only a Flow-project name — never silently adopt an existing solution, and when they pick "Create a new solution", **ask for its name** rather than defaulting to the Flow-project name. **If none are found, create one automatically** (default its name to the Flow name unless the user specifies otherwise). **Prefer solution-first** — it works on every CLI version and lets you set the two names independently: `uip solution init "<SolutionName>" --output json && cd "<SolutionName>" && uip maestro flow init "<FlowName>" --output json` → `<SolutionName>/<FlowName>/<FlowName>.flow`, with the project auto-registered in the parent `.uipx` (`Data.SolutionRegistration.Status: "Registered"`); `<SolutionName>` and `<FlowName>` are independent and need not match. On a current CLI, running `uip maestro flow init "<FlowName>"` **outside** any solution instead auto-scaffolds `<FlowName>Solution/<FlowName>Solution.uipx` with the project at `<FlowName>Solution/<FlowName>/` (response carries `Data.AutoCreatedSolution`) — convenient, but it forces the `<FlowName>Solution` name, so use it only when the solution name doesn't matter. `--skip-solution-registration` opts out of both auto-scaffold and registration, leaving a bare single-nested `<Flow>/<Flow>.flow` that fails Studio Web upload and packaging. If a **non-empty** directory already exists at the path you typed, init warns and leaves it untouched. **Never drop the `cd` between `solution init` and `flow init`** — `flow init` in the old directory auto-scaffolds a duplicate `<FlowName>Solution/`. One `project.uiproj` at finish; delete strays. See [author/greenfield.md](references/author/references/greenfield.md) Step 2.
86
- 7. **Narrate progress in plain English only when the user has opted into verbosity — silent by default.** Engage when the user asks for narration / progress ("walk me through it", "show your steps", "verbose", "be detailed") or signals a verbosity preference; otherwise work quietly and surface only decisions, failures, consent gates, and the final result. When engaged: one short line per logical step, in user terms ("checking your tenant login", "adding the Slack node and wiring its inputs", "running validate") — no flag-level or JSON-structure-level detail, applied uniformly across `uip` CLI calls, shell builtins, file edits, and bulk searches. See [shared/ux-narration-and-todos.md](references/shared/ux-narration-and-todos.md) §When to engage.
87
- 8. **Maintain a user-facing progress list only when the user has opted into progress tracking / verbosity.** In silent mode there is no user-facing todo list (the agent MAY track privately). When engaged: any journey above the trivial threshold gets a granular list — one logical step ≈ one todo, granularity per-step not per-phase. The count emerges from the journey's actual steps; do not target a number. Bash plumbing inside a step (registry lookups, JSON parsing, intermediate file reads) is invisible — do not surface as todos. See [shared/ux-narration-and-todos.md](references/shared/ux-narration-and-todos.md) for the engage triggers, granularity rules, threshold table, and pivot rules.
88
- 9. **Every node has exactly one author — Edit/Write or CLI, never both.** Connector activities (`uipath.connector.<key>.<op>`), connector triggers (`uipath.connector.trigger.<key>.<trigger>`), wait for events (`uipath.connector.event.<key>.<event>` — a mid-flow event wait, configured exactly like a trigger), and managed HTTP (`core.action.http.v2`) are CLI-owned — use `uip maestro flow node add` + `uip maestro flow node configure`. Every other node type — triggers, control flow, logic, HITL, patterns, agents, resource nodes, queue — is user-owned: author the `.flow` JSON directly with `Edit` — or `Write`, but never a full-file `Write` on a flow that *also* contains CLI-owned nodes (it clobbers their CLI-set `bindings[]`/`inputs.detail`; `Edit` in place, or re-run `node configure` as the last step). `inputs.detail` on CLI-owned nodes is a `=jsonString:essentialConfiguration` envelope that the validator rejects when hand-authored. Inline-agent CLI is limited to agent project lifecycle (`uip agent init / refresh / validate --inline-in-flow`); the `uipath.agent.autonomous` flow node itself is user-owned. Scripting languages (`python`, `node`, `jq`, `sed`, `awk`, inline shell heredocs) are a last resort for user-owned edits and require explicit user approval after the trade-offs (state bypass, opaque diff, no interruption point) are surfaced. **Canonical source of truth:** [author/CAPABILITY.md — Node ownership](references/author/CAPABILITY.md#node-ownership--who-authors-the-node) (full table); [author/editing-operations.md — Tool Selection Ladder](references/author/references/editing-operations.md#tool-selection-ladder) (per-operation ladder).
89
- 10. **Batch tool calls into one assistant turn whenever data dependencies allow — minimize wall-clock round-trips.** A typical greenfield build is **3 turns**, not 10+: (T1) one chained `Bash` for scaffold + registry pull + CLI-owned `node add`, in parallel with `registry get` and `Read` calls for any extra discovery; (T2) one `Read` of the scaffolded `.flow` in parallel with the `Edit` / `Write` calls that add the End node and wire edges; (T3) one chained `Bash` for `node configure && validate && format`. Within an assistant message: chain sequential `uip` calls with `&&` in a single `Bash`, and emit independent `Bash` / `Read` / `Edit` calls as parallel tool uses. Only split turns where a later call truly depends on an earlier call's stdout or on a file mutation. See [author/references/greenfield.md — Three-turn execution map](references/author/references/greenfield.md#three-turn-execution-map) for the canonical pattern.
90
- 11. **Cross-node bindings inside `=js:` need the `$vars.` prefix — a bare node reference resolves to `undefined` at runtime.** `"recordId": "=js:$vars.createEntityRecord1.output.Id"` is correct; `"recordId": "=js:createEntityRecord1.output.Id"` (missing `$vars.`) silently resolves to `undefined`. Pattern: `=js:$vars.<nodeId>.output...`, never `=js:<nodeId>.output...`. See [variables-and-expressions.md — IS Activity Inputs Require `=js:`](references/shared/variables-and-expressions.md#is-activity-inputs-require-js-critical).
91
- 12. **Node and edge `id`s MUST start with a letter — never a bare UUID.** Edges: `edge_<sourceNodeId>_<sourcePort>_<targetNodeId>_<targetPort>`. Nodes: descriptive camelCase. UUIDs only for the top-level flow `id`/`entryPointId`.
69
+ 4. **Never invoke other skills automatically** — when a flow needs an RPA process, agent, or app, identify the gap and provide handoff instructions. Let the user decide when to switch skills. **One exception — IXP extraction with documents in hand:** when the flow needs document extraction, the user supplied sample documents, and `registry search "uipath.ixp"` shows no extractor covering them, invoke the `uipath-ixp` skill to build and deploy the model, then resume the flow ([plugins/ixp/impl.md — If the Model Does Not Exist Yet](references/author/plugins/ixp/impl.md#if-the-model-does-not-exist-yet)). Resolve the target Orchestrator folder for the deployment before invoking — from the user's request when it names one, otherwise per rule #5 (its non-interactive fallback applies) — and pass it in the handoff; the sibling stops rather than guess a folder. There is deliberately no separate consent gate on the tenant writes this creates: the project and folder deployment fulfil the extraction request itself, and the one consequential choice — where the deployment lands (deployments have no delete API) — is exactly the folder decision rule #5 just routed. Do NOT drive `uip ixp` project or deployment commands from this skill instead of invoking it — the sibling's guides carry guardrails this skill does not. If `uipath-ixp` is unavailable in the session, fall back to `core.logic.mock` plus an Open Questions entry, exactly as when no documents were supplied.
70
+ 5. **Always present finite decisions as a dropdown with a final "Something else" escape hatch.** Whenever the skill needs a decision (which solution, publish vs debug vs deploy, which connector, trigger type, or resource to bind, etc.), ask with the enumerated choices plus **"Something else"** last for free-form input; never ask open-ended in chat when a finite set of sensible defaults exists. If the user picks "Something else", parse their answer and continue. No structured-question facility on the harness → ask in chat as a numbered list with "Something else" last. Non-interactively (CI/headless, no user available) → take the marked recommended option, proceed, and record the decision prominently in the final report; if none is recommended, stop and report the open decision instead of guessing. Consent gates (destructive operations, tenant writes) are never auto-answered — in non-interactive mode, stop and report the blocked step; `flow debug` is not one of them, and is governed by the mandate rule above. These fallbacks define "ask the user" / "confirm with the user" wherever this skill's references require it.
71
+ 6. **Discover the target solution before scaffolding.** A Flow project must use double nesting: `<Solution>/<Project>/<Project>.flow`. Before any new `uip solution init` or `uip maestro flow init`, run `find . -maxdepth 2 -type f -name '*.uipx' -print`. If a solution exists, stop and ask which to use: one option per solution, "Create a new solution", then "Something else". Do not silently adopt, initialize, delete, or repair an existing solution, even if a new one was requested. If creating one, ask for its name rather than defaulting to the Flow name.
92
72
 
93
- ## Anti-patterns (universal)
73
+ If none exists, create one automatically, defaulting its name to the Flow name unless specified. Prefer solution-first: `uip solution init "<SolutionName>" --output json && cd "<SolutionName>" && uip maestro flow init "<FlowName>" --output json`, producing `<SolutionName>/<FlowName>/<FlowName>.flow` and registering it in the parent `.uipx` (`Data.SolutionRegistration.Status: "Registered"`). Names are independent. A current CLI may auto-scaffold outside a solution as `<FlowName>Solution/<FlowName>Solution.uipx` with `Data.AutoCreatedSolution`; use that only when the solution name does not matter. `--skip-solution-registration` creates a bare single-nested project that fails Studio Web upload and packaging. If the target directory is non-empty, init leaves it untouched. Never omit `cd`, or it auto-scaffolds a duplicate solution. Finish with one `project.uiproj`; remove strays. See [author/greenfield.md](references/author/greenfield.md) Step 2.
74
+ 7. **Narrate progress only when requested or clearly opted into.** Otherwise work silently and surface decisions, failures, consent gates, and the final result. When engaged, use one short plain-English line per logical step across CLI calls, shell builtins, edits, and searches; do not narrate flags or JSON structure. See [shared/ux-narration-and-todos.md](references/shared/ux-narration-and-todos.md) §When to engage.
75
+ 8. **Maintain a user-facing progress list only when tracking or verbosity is requested.** In silent mode there is no user-facing todo list (the agent MAY track privately). When engaged, journeys above trivial complexity get granular step-level todos; counts follow actual work, not a target. Hide registry lookups, parsing, and file reads inside their logical step. See [shared/ux-narration-and-todos.md](references/shared/ux-narration-and-todos.md) for triggers, granularity, thresholds, and pivots.
76
+ 9. **Each node has exactly one author: Edit/Write or CLI, never both.** CLI-owned nodes are connector activities (`uipath.connector.<key>.<op>`), connector triggers (`uipath.connector.trigger.<key>.<trigger>`), wait-for-events (`uipath.connector.event.<key>.<event>`, configured like triggers), and managed HTTP (`core.action.http.v2`); add/configure them with `uip maestro flow node add` and `node configure`. All others—triggers, control flow, logic, HITL, patterns, agents, resource nodes, and queues—are user-owned and should be authored directly with `Edit` or `Write`. Never full-file `Write` a flow containing CLI-owned nodes because it can clobber CLI-set `bindings[]` and `inputs.detail`; use `Edit` or configure CLI-owned nodes last. Their `inputs.detail` is a `=jsonString:essentialConfiguration` envelope rejected when hand-authored. Inline-agent CLI is limited to `uip agent init / refresh / validate --inline-in-flow`; the `uipath.agent.autonomous` node is user-owned. Scripting (`python`, `node`, `jq`, `sed`, `awk`, or shell heredocs) is a last resort for user-owned edits and requires explicit approval after explaining state bypass, opaque diffs, and lack of interruption points. See [author/CAPABILITY.md — Node ownership](references/author/CAPABILITY.md#node-ownership--who-authors-the-node) and [author/editing-operations.md — Tool Selection Ladder](references/author/editing-operations.md#tool-selection-ladder).
77
+ 10. **Batch independent tool calls and chain dependent CLI calls.** A typical greenfield build is three turns: T1 scaffold, pull the registry, and add CLI-owned nodes in one chained `Bash`, alongside independent registry/file reads; T2 read the scaffold while editing/adding the End node and edges; T3 chain configure, validate, and format. Split only when later work depends on stdout or a mutation. A user-requested snapshot or checkpoint is exactly such a boundary: capture it immediately after the named mutation and before optional `validate`, `format`, or later mutations, even when the commands share one Bash call, and never let a later command failure skip writing it. See [author/greenfield.md — Three-turn execution map](references/author/greenfield.md#three-turn-execution-map).
78
+ 11. **Cross-node bindings in `=js:` require `$vars.`** Use `=js:$vars.<nodeId>.output...`; bare `=js:<nodeId>.output...` resolves to `undefined`. See [variables-and-expressions.md — IS Activity Inputs Require `=js:`](references/shared/variables-and-expressions.md#is-activity-inputs-require-js-critical).
79
+ 12. **Node and edge IDs must begin with a letter.** Use descriptive camelCase node IDs and `edge_<sourceNodeId>_<sourcePort>_<targetNodeId>_<targetPort>` edge IDs. Reserve UUIDs for the top-level flow `id` and `entryPointId`.
94
80
 
95
- - **Never use `--format json` on any `uip` command** — the flag is `--output json` (rule #1). `--format` produces `error: unknown option '--format'` and exit code 3 on every `uip` subcommand, not a helpful message pointing you at `--output`.
96
- - **Avoid piping `uip ... --output json` to `python3 -c` / `jq` for simple field extraction** — use `--output-filter` instead (rule #1). The common failure mode: the agent assumes `Data.Nodes` (or another nested shape) and the external parser silently returns `[]` against `Data`'s actual flat array, prompting a second and third retry with different access paths. `--output-filter` does not rescue a wrong-shape guess by itself — a valid expression that doesn't match (e.g. `"Nodes"` against the flat array) still returns `Data: []` with exit 0; only an *invalid* expression (bad syntax, or a type error like `keys(@)` on an array) exits non-zero. The fix is the pinned shape in rule #1, so you write the right expression on call #1. Reserve external parsers for transforms JMESPath cannot express (multi-step joins, format conversion); when in doubt, verify the shape first — see [cli-conventions.md §3](references/shared/cli-conventions.md#3-prefer---output-filter-for-extraction) for the `type(@)` first-probe sequence (note: `keys(@)` throws on arrays, so use `type(@)` first).
97
- - **Never run `flow debug` as a validation step** — debug executes the flow with real side effects (rule #2). Use `flow validate` for checking correctness.
98
- - **Never silently pick the first match from `uip maestro flow registry search`.** When a search returns multiple connectors for the same intent, apply the canonical Connector Disambiguation ladder via [connector/planning.md — Disambiguation](references/author/references/plugins/connector/planning.md#disambiguation--when-search-returns-multiple-connectors-for-the-same-intent), which defers to the Integration Service rules.
99
- - **Never conclude "no connection exists" from a bare `uip is connections list`** — discovery requires `--all-folders` and a connector key derived from `registry search`, not a brand name (rule #3). Without both, "No connections found" is a false negative; do not surface it as an Open Question or ask the user to create one.
100
- - **Never write `customFieldsRequestDetails.parameterValues` as a JSON object map** — Studio Web's TS port emits `Map<string,string|null>` via `Array.from(entries())`, so the on-wire shape is `[[key, value], ...]` tuples. Object-form `{key: value}` is rejected by the CLI at validate time. Inner keys are camelCase (`objectActionName`, `parameterValues`), not PascalCase. See [connector/impl.md Step 6c](references/author/references/plugins/connector/impl.md).
101
- - **Never treat a `flow validate` exit code of 0 as "done" when it printed warnings.** Warnings are build defects the validator chose not to hard-fail — read every one and resolve it before declaring the flow complete. The connector-keyword warning (`node "…" mentions the "<connector>" connector keyword but uses the generic Managed HTTP type core.action.http.v2 with no connection binding`) means you took the brand-name shortcut (rule #3) — fix it by binding the connector, do not ship past it. A green exit with an unresolved connector warning still fails downstream connector checks and runs against an undefined endpoint at debug time.
102
- - **Never issue setup or finalization CLI calls one-per-turn.** Each separate Bash call adds a model round-trip — the dominant wall-clock cost. Chain them per rule #10 and the [Three-turn execution map](references/author/references/greenfield.md#three-turn-execution-map).
81
+ ## Anti-patterns (universal)
103
82
 
104
- > **Trouble?** If something didn't work as expected, use `/uipath-feedback` to send a report.
83
+ - Never use `--format json`; use `--output json`.
84
+ - Do not pipe JSON to `python3 -c` or `jq` for simple extraction; use `--output-filter`, verify shape first, and use external parsers only for unsupported transforms. A valid but wrong filter can return `Data: []`; `keys(@)` fails on arrays, so probe with `type(@)` first. See [cli-conventions.md §3](references/shared/cli-conventions.md#3-prefer---output-filter-for-extraction).
85
+ - Never use `flow debug` for validation, and never re-run a completed debug to reshape its output; use `flow validate`, because debug has real side effects and re-uploads the solution on every run. Extract report fields from the payload the completed run already returned; when that run faulted, read the cause from `Data.incidents[].dependentFaultCode` and `Data.variables.elements[].outputs.Error.detail` — see [diagnose/troubleshooting-guide.md — Step 0](references/diagnose/troubleshooting-guide.md#step-0--read-the-cause-in-the-debug-output-you-already-have).
86
+ - Never run `flow debug` in the background or under a short tool timeout. It takes 1 to 5 minutes and prints only at exit, so a backgrounded run reads as "no result". Run it in the foreground with a tool timeout of at least 10 minutes and wait — see [operate/run.md — Debug](references/operate/run.md#debug--controlled-end-to-end-run).
87
+ - Never silently choose the first registry match. Use the Connector Disambiguation ladder in [connector/planning.md — Disambiguation](references/author/plugins/connector/planning.md#disambiguation--when-search-returns-multiple-connectors-for-the-same-intent), deferring to Integration Service rules.
88
+ - Never conclude that no connection exists from bare `uip is connections list`; use a registry-derived connector key and `--all-folders`.
89
+ - Never represent `customFieldsRequestDetails.parameterValues` as an object map. Studio Web emits `Map<string,string|null>` as `[[key, value], ...]`; inner keys are camelCase (`objectActionName`, `parameterValues`). See [connector/impl.md Step 6c](references/author/plugins/connector/impl.md).
90
+ - Never treat validation exit code 0 as completion when warnings remain. Resolve every warning. A connector-keyword warning about generic `core.action.http.v2` without a connection binding means a brand-name shortcut was used; bind the connector before shipping or debugging.
91
+ - Never issue setup or finalization CLI calls one per turn; chain them per rule 10 and the [Three-turn execution map](references/author/greenfield.md#three-turn-execution-map).
92
+ - Never write a reference field you could not resolve. If `uip is resources run list` fails (403/401 on an expired grant, 5xx), you have no ID: do not substitute the display name, a well-known alias, or a remembered ID — stop and report the failed resolve. See [reference-resolution.md — When the Lookup Call Fails](../uipath-platform/references/integration-service/reference-resolution.md#when-the-lookup-call-fails-critical).
93
+
94
+ > **Trouble?** Use `/uipath-feedback` to report unexpected behavior.