@uipath/skills 1.199.0 → 1.200.0

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 (345) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CODEOWNERS +14 -8
  4. package/README.md +18 -3
  5. package/assets/skill-status.json +9 -1
  6. package/assets/uip-catalog-snapshot.json +227 -21
  7. package/package.json +11 -2
  8. package/scripts/npm-package-lifecycle.mjs +46 -0
  9. package/skills/uipath-admin/SKILL.md +5 -1
  10. package/skills/uipath-admin/references/audit-commands.md +1 -1
  11. package/skills/uipath-admin/references/audit-workflow-guide.md +9 -0
  12. package/skills/uipath-agents/SKILL.md +2 -2
  13. package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +7 -0
  14. package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +5 -6
  15. package/skills/uipath-agents/references/lowcode/critical-rules/critical-rules.md +1 -1
  16. package/skills/uipath-agents/references/lowcode/evaluations/evaluation-sets.md +5 -0
  17. package/skills/uipath-agents/references/lowcode/project-lifecycle.md +3 -3
  18. package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +3 -2
  19. package/skills/uipath-api-workflow/SKILL.md +2 -1
  20. package/skills/uipath-api-workflow/references/cli-reference.md +3 -3
  21. package/skills/uipath-coded-apps/SKILL.md +3 -2
  22. package/skills/uipath-coded-apps/assets/fixtures/governance-dashboard-starter-kit.tar.gz +0 -0
  23. package/skills/uipath-coded-apps/assets/templates/web-app-template.md +1 -1
  24. package/skills/uipath-coded-apps/references/create-web-app.md +60 -48
  25. package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +2 -2
  26. package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +2 -2
  27. package/skills/uipath-coded-apps/references/dashboards/primitives/tier-resolution.md +16 -16
  28. package/skills/uipath-coded-apps/references/oauth-scopes.md +28 -272
  29. package/skills/uipath-coded-apps/references/sdk/action-center.md +26 -243
  30. package/skills/uipath-coded-apps/references/sdk/agents.md +20 -130
  31. package/skills/uipath-coded-apps/references/sdk/conversational-agent.md +52 -706
  32. package/skills/uipath-coded-apps/references/sdk/data-fabric.md +20 -237
  33. package/skills/uipath-coded-apps/references/sdk/feedback.md +4 -139
  34. package/skills/uipath-coded-apps/references/sdk/governance-traces.md +7 -55
  35. package/skills/uipath-coded-apps/references/sdk/governance.md +4 -44
  36. package/skills/uipath-coded-apps/references/sdk/imports.md +77 -35
  37. package/skills/uipath-coded-apps/references/sdk/maestro.md +29 -406
  38. package/skills/uipath-coded-apps/references/sdk/orchestrator.md +30 -324
  39. package/skills/uipath-coded-apps/references/sdk/pagination.md +9 -67
  40. package/skills/uipath-coded-apps/references/sdk/traces.md +8 -43
  41. package/skills/uipath-functions/SKILL.md +23 -23
  42. package/skills/uipath-governance/SKILL.md +5 -4
  43. package/skills/uipath-governance/references/cli-cheatsheet.md +2 -1
  44. package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +143 -58
  45. package/skills/uipath-governance/references/compliance-pack/restore/impl.md +61 -0
  46. package/skills/uipath-human-in-the-loop/SKILL.md +4 -2
  47. package/skills/uipath-insights/SKILL.md +17 -18
  48. package/skills/uipath-ixp/SKILL.md +12 -7
  49. package/skills/uipath-ixp/references/cli-reference.md +71 -9
  50. package/skills/uipath-ixp/references/improve-prompts-guide.md +23 -9
  51. package/skills/uipath-ixp/references/label-documents-guide.md +33 -5
  52. package/skills/uipath-maestro-bpmn/SKILL.md +15 -14
  53. package/skills/uipath-maestro-bpmn/references/cli-conventions.md +15 -6
  54. package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +18 -17
  55. package/skills/uipath-maestro-case/SKILL.md +46 -33
  56. package/skills/uipath-maestro-case/assets/templates/sdd-template.md +77 -37
  57. package/skills/uipath-maestro-case/assets/templates/sdd-viewer.html +0 -2
  58. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +3 -1
  59. package/skills/uipath-maestro-case/references/bindings-v2-sync.md +2 -2
  60. package/skills/uipath-maestro-case/references/brownfield.md +15 -5
  61. package/skills/uipath-maestro-case/references/case-commands.md +19 -3
  62. package/skills/uipath-maestro-case/references/case-editing-operations.md +24 -21
  63. package/skills/uipath-maestro-case/references/case-schema.md +38 -16
  64. package/skills/uipath-maestro-case/references/connector-trigger-common.md +15 -8
  65. package/skills/uipath-maestro-case/references/evals/evals.json +35 -18
  66. package/skills/uipath-maestro-case/references/implementation.md +86 -71
  67. package/skills/uipath-maestro-case/references/phase-0-interview.md +92 -23
  68. package/skills/uipath-maestro-case/references/phased-execution.md +70 -55
  69. package/skills/uipath-maestro-case/references/placeholder-tasks.md +5 -5
  70. package/skills/uipath-maestro-case/references/planning.md +57 -9
  71. package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +7 -5
  72. package/skills/uipath-maestro-case/references/plugins/case/planning.md +1 -1
  73. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +5 -5
  74. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +41 -5
  75. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +27 -3
  76. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +6 -6
  77. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +3 -1
  78. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +20 -7
  79. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +37 -4
  80. package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +24 -13
  81. package/skills/uipath-maestro-case/references/plugins/sla/planning.md +9 -3
  82. package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +4 -0
  83. package/skills/uipath-maestro-case/references/plugins/stages/planning.md +4 -1
  84. package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +3 -1
  85. package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +2 -0
  86. package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -2
  87. package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +4 -2
  88. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -2
  89. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +4 -2
  90. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +3 -2
  91. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +4 -2
  92. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +1 -1
  93. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +2 -0
  94. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +1 -1
  95. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +2 -0
  96. package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +1 -1
  97. package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -2
  98. package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +6 -4
  99. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -2
  100. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +4 -2
  101. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -3
  102. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +4 -0
  103. package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +17 -14
  104. package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +1 -1
  105. package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +13 -10
  106. package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +18 -16
  107. package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +2 -2
  108. package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +1 -1
  109. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +11 -9
  110. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +6 -2
  111. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +19 -1
  112. package/skills/uipath-maestro-case/references/registry-discovery.md +3 -3
  113. package/skills/uipath-maestro-case/references/sdd-generation-rules.md +155 -51
  114. package/skills/uipath-maestro-case/references/sla-response-shapes.md +74 -0
  115. package/skills/uipath-maestro-flow/SKILL.md +4 -3
  116. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +3 -0
  117. package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +10 -17
  118. package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +1 -1
  119. package/skills/uipath-maestro-flow/references/author/references/greenfield.md +8 -6
  120. package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +1 -1
  121. package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +4 -9
  122. package/skills/uipath-maestro-flow/references/author/references/plugins/agentic-process/impl.md +3 -7
  123. package/skills/uipath-maestro-flow/references/author/references/plugins/api-workflow/impl.md +5 -8
  124. package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +11 -4
  125. package/skills/uipath-maestro-flow/references/author/references/plugins/flow/impl.md +3 -7
  126. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +14 -17
  127. package/skills/uipath-maestro-flow/references/author/references/plugins/ixp/impl.md +60 -13
  128. package/skills/uipath-maestro-flow/references/author/references/plugins/queue/impl.md +2 -14
  129. package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +4 -9
  130. package/skills/uipath-maestro-flow/references/author/references/plugins/script/impl.md +3 -0
  131. package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +5 -9
  132. package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +13 -0
  133. package/skills/uipath-maestro-flow/references/shared/action-nodes.md +2 -2
  134. package/skills/uipath-maestro-flow/references/shared/file-format.md +16 -12
  135. package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +3 -3
  136. package/skills/uipath-planner/SKILL.md +1 -1
  137. package/skills/uipath-planner/references/non-pdd-lane-guide.md +1 -1
  138. package/skills/uipath-platform/SKILL.md +1 -1
  139. package/skills/uipath-platform/references/data-fabric/bulk-import.md +10 -27
  140. package/skills/uipath-platform/references/data-fabric/choice-sets.md +7 -64
  141. package/skills/uipath-platform/references/data-fabric/data-fabric.md +76 -267
  142. package/skills/uipath-platform/references/data-fabric/entity-schema.md +23 -99
  143. package/skills/uipath-platform/references/data-fabric/file-attachments.md +5 -28
  144. package/skills/uipath-platform/references/data-fabric/filter-platform-contract.md +2 -2
  145. package/skills/uipath-platform/references/data-fabric/records-query.md +11 -32
  146. package/skills/uipath-platform/references/integration-service/reference-resolution.md +6 -2
  147. package/skills/uipath-platform/references/licensing/consumables-report.md +18 -0
  148. package/skills/uipath-platform/references/licensing/licensing.md +1 -1
  149. package/skills/uipath-platform/references/orchestrator/run-jobs.md +9 -2
  150. package/skills/uipath-platform/references/orchestrator/setup-environment.md +9 -0
  151. package/skills/uipath-platform/references/traces/feedback.md +4 -1
  152. package/skills/uipath-process-mining/SKILL.md +97 -0
  153. package/skills/uipath-process-mining/references/app-types.md +66 -0
  154. package/skills/uipath-process-mining/references/data-model.md +130 -0
  155. package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +67 -0
  156. package/skills/uipath-process-mining/references/model-editing.md +112 -0
  157. package/skills/uipath-process-mining/references/pre-flight.md +119 -0
  158. package/skills/uipath-process-mining/references/querying.md +66 -0
  159. package/skills/uipath-process-mining/references/transformations.md +80 -0
  160. package/skills/uipath-process-mining/references/uip-pm-cli.md +145 -0
  161. package/skills/uipath-review/SKILL.md +23 -18
  162. package/skills/uipath-review/references/agents/agent-grading-rubric.md +1 -1
  163. package/skills/uipath-review/references/agents/agent-review-checklist.md +0 -4
  164. package/skills/uipath-review/references/agents/agents-coded-rules.md +1 -10
  165. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +3 -6
  166. package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +62 -14
  167. package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +60 -4
  168. package/skills/uipath-review/references/review-workflow-guide.md +3 -2
  169. package/skills/uipath-review/references/rule-catalog-workflow.md +4 -5
  170. package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +20 -0
  171. package/skills/uipath-rpa/SKILL.md +57 -55
  172. package/skills/uipath-rpa/agents/uipath-project-discovery-agent.md +75 -19
  173. package/skills/uipath-rpa/assets/codedworkflow-template.md +245 -11
  174. package/skills/uipath-rpa/references/cli-reference.md +229 -6
  175. package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +158 -2
  176. package/skills/uipath-rpa/references/coded/integration-service-guide.md +6 -5
  177. package/skills/uipath-rpa/references/coded/operations-guide.md +273 -5
  178. package/skills/uipath-rpa/references/coded-vs-xaml-guide.md +3 -3
  179. package/skills/uipath-rpa/references/common-pattern-card.md +303 -0
  180. package/skills/uipath-rpa/references/data-manipulation-guide.md +18 -3
  181. package/skills/uipath-rpa/references/debugging.md +0 -2
  182. package/skills/uipath-rpa/references/environment-setup.md +309 -1
  183. package/skills/uipath-rpa/references/error-handling-guide.md +1 -1
  184. package/skills/uipath-rpa/references/execution-maps-guide.md +110 -0
  185. package/skills/uipath-rpa/references/is-connector-xaml-guide.md +58 -4
  186. package/skills/uipath-rpa/references/legacy/activity-docs/Excel.md +1 -1
  187. package/skills/uipath-rpa/references/legacy/activity-docs/_DU-PROCESS.md +0 -2
  188. package/skills/uipath-rpa/references/legacy/activity-docs/_INDEX.md +2 -2
  189. package/skills/uipath-rpa/references/legacy/activity-docs/_PATTERNS.md +1 -1
  190. package/skills/uipath-rpa/references/legacy/activity-docs/_REFRAMEWORK.md +2 -7
  191. package/skills/uipath-rpa/references/legacy/cli-reference.md +599 -0
  192. package/skills/uipath-rpa/references/legacy/error-handling-guide.md +2 -2
  193. package/skills/uipath-rpa/references/legacy/legacy-mode-guide.md +16 -16
  194. package/skills/uipath-rpa/references/legacy/project-organization-guide.md +2 -2
  195. package/skills/uipath-rpa/references/legacy/selector-guide.md +163 -1
  196. package/skills/uipath-rpa/references/legacy/testing-guide.md +246 -3
  197. package/skills/uipath-rpa/references/legacy/xaml-basics-and-rules.md +267 -2
  198. package/skills/uipath-rpa/references/library-authoring-guide.md +4 -3
  199. package/skills/uipath-rpa/references/testing-guide.md +2 -28
  200. package/skills/uipath-rpa/references/trigger-pattern-guide.md +1 -1
  201. package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +140 -33
  202. package/skills/uipath-rpa/references/xaml/common-pitfalls.md +57 -240
  203. package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +42 -2
  204. package/skills/uipath-rpa/references/xaml/long-running-workflow-guide.md +1 -1
  205. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +194 -228
  206. package/skills/uipath-solution/references/activate-and-manage.md +22 -0
  207. package/skills/uipath-solution/references/develop-solution.md +26 -2
  208. package/skills/uipath-solution/references/pack-and-deploy.md +43 -9
  209. package/skills/uipath-test/SKILL.md +4 -4
  210. package/skills/uipath-test/references/playwright-first-mile-guide.md +5 -4
  211. package/skills/uipath-test/references/publish-and-link-guide.md +2 -2
  212. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/click-silent-no-op.md +5 -5
  213. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/queue-operation-failed.md +20 -4
  214. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +1 -1
  215. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-file-not-found.md +12 -0
  216. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-outlook-mail-failures.md +12 -1
  217. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-activity-bug-silent-failure.md +2 -1
  218. package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/playbooks/terminal-session-connection-failed.md +5 -1
  219. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-silent-no-op.md +5 -5
  220. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/dependency-version-conflict.md +27 -6
  221. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/napplicationcard-view-generation-failed.md +10 -0
  222. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +1 -1
  223. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +1 -1
  224. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/overview.md +4 -0
  225. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-auth-401-403.md +44 -0
  226. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-connection-failure.md +2 -1
  227. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-content-type-rejected.md +37 -0
  228. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-proxy-blocked.md +39 -0
  229. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/package-version-mismatch.md +42 -0
  230. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/securestring-misuse-analyzer.md +41 -0
  231. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/summary.md +5 -0
  232. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-null-reference.md +14 -1
  233. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-runtime-exception.md +2 -0
  234. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/is-activities-prerelease-not-found.md +39 -0
  235. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/response-content-too-large.md +41 -0
  236. package/skills/uipath-troubleshoot/references/products/integration-service/summary.md +9 -0
  237. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/console-conflict-login-to-console.md +40 -0
  238. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/credential-store-unavailable.md +42 -0
  239. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/executor-start-transient-rerun.md +49 -0
  240. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-consecutive-system-exceptions.md +47 -0
  241. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-session-timeout.md +19 -19
  242. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-output-too-large.md +47 -0
  243. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stopped-generic-exit-code.md +55 -0
  244. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/known-issue-robot-defect.md +40 -0
  245. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/platform-incident-correlation.md +45 -0
  246. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/screen-capture-handle-invalid.md +43 -0
  247. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/serverless-license-quota.md +43 -0
  248. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/serverless-time-limit-exceeded.md +34 -0
  249. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/workstation-in-use-machine-slots.md +40 -0
  250. package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +13 -1
  251. package/version-manifest.json +2 -2
  252. package/skills/uipath-maestro-bpmn/validator/README.md +0 -224
  253. package/skills/uipath-maestro-bpmn/validator/model.mjs +0 -419
  254. package/skills/uipath-maestro-bpmn/validator/package.json +0 -17
  255. package/skills/uipath-maestro-bpmn/validator/rules.mjs +0 -1403
  256. package/skills/uipath-maestro-bpmn/validator/samples/invalid-conditional-and-variable.bpmn +0 -25
  257. package/skills/uipath-maestro-bpmn/validator/samples/valid-baseline.bpmn +0 -52
  258. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.0.bpmn +0 -157
  259. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.1.bpmn +0 -333
  260. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.1.0.bpmn +0 -598
  261. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.2.0.bpmn +0 -1709
  262. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.2.0.bpmn +0 -564
  263. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.3.0.bpmn +0 -671
  264. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.4.0.bpmn +0 -1045
  265. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.5.0.bpmn +0 -1176
  266. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.6.0.bpmn +0 -670
  267. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.7.0.bpmn +0 -466
  268. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Can_Parse_Complex_Process_With_Task_Gateway_BoundaryEvent_etc.bpmn +0 -74
  269. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExclusiveGatewayDefaultFlow.bpmn +0 -32
  270. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExternalAgentWorkflow.bpmn +0 -62
  271. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Golden_Scenario.initial.bpmn +0 -361
  272. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/InclusiveJoinRouteAwayBranch.bpmn +0 -62
  273. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_AsyncExecution_And_Create_CorrectModel.bpmn +0 -74
  274. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_ExtractionValidation_And_Create_CorrectModel.bpmn +0 -35
  275. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_FileUpload_And_Create_CorrectModel.bpmn +0 -33
  276. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_JobAttachment_And_Create_CorrectModel.bpmn +0 -35
  277. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_SubProcess_With_Multiple_Element_Types.bpmn +0 -76
  278. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartEventWithOutputs.bpmn +0 -36
  279. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartGatewayEnd.bpmn +0 -44
  280. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all elements.bpmn +0 -516
  281. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all_sequence_flow_types.bpmn +0 -173
  282. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/demo.bpmn +0 -181
  283. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-collapsed.bpmn +0 -126
  284. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-expanded.bpmn +0 -122
  285. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-003-collapsed_deeply-nested.bpmn +0 -438
  286. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.1.0.bpmn +0 -87
  287. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.3.0.bpmn +0 -165
  288. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ApiWorkflow.bpmn +0 -39
  289. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnNestedSubProcessTests.bpmn +0 -102
  290. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnTimerBoundaryEvents.bpmn +0 -160
  291. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithCatchAllErrorEventSubProcess.bpmn +0 -45
  292. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithSpecificErrorEventSubProcess.bpmn +0 -46
  293. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/CaseManagementWithConstantIdentifier.bpmn +0 -218
  294. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorBoundary.bpmn +0 -78
  295. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorPropagationInEventSubprocess.bpmn +0 -340
  296. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/EventBasedGatewayFirstCatcherWins.bpmn +0 -56
  297. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Example-EventBasedGateway.bpmn +0 -117
  298. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewayConditional.bpmn +0 -45
  299. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewaySharedEndEvent.bpmn +0 -45
  300. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveWithParallelGateway.bpmn +0 -68
  301. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/FourScriptTasks.bpmn +0 -84
  302. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/HitlTaskOnly.bpmn +0 -55
  303. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/InclusiveGatewayForkJoin.bpmn +0 -69
  304. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_BPMN_Elements_And_Create_CorrectModel.bpmn +0 -20
  305. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_HttpRequest_ServiceTask_And_Create_Correct_Model.bpmn +0 -34
  306. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_MessageBoundaryEvent_And_Create_CorrectModel.bpmn +0 -87
  307. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Script_Task_V2_And_Create_Correct_Model.bpmn +0 -31
  308. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Sets_Containers_Properly.bpmn +0 -129
  309. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +0 -59
  310. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/boundaryevent.bpmn +0 -30
  311. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/collapsed-subprocess.bpmn +0 -83
  312. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/connectable-types.bpmn +0 -85
  313. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/extensions-orchestrator-start-job.bpmn +0 -80
  314. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/multiparticipantpool.bpmn +0 -77
  315. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/nestedsubprocess.bpmn +0 -36
  316. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/simple.bpmn +0 -59
  317. package/skills/uipath-maestro-bpmn/validator/test/integration.test.mjs +0 -146
  318. package/skills/uipath-maestro-bpmn/validator/test/model-helpers.mjs +0 -42
  319. package/skills/uipath-maestro-bpmn/validator/test/ported-rule-tests.mjs +0 -983
  320. package/skills/uipath-maestro-bpmn/validator/test/run-tests.mjs +0 -530
  321. package/skills/uipath-maestro-bpmn/validator/uipath-moddle.v1.json +0 -715
  322. package/skills/uipath-maestro-bpmn/validator/validate-bpmn.mjs +0 -164
  323. package/skills/uipath-review/references/agents/agents-common-rules.md +0 -32
  324. package/skills/uipath-rpa/assets/before-after-hooks-template.md +0 -115
  325. package/skills/uipath-rpa/assets/helper-utility-template.md +0 -22
  326. package/skills/uipath-rpa/assets/testcase-template.md +0 -92
  327. package/skills/uipath-rpa/references/coded/coding-guidelines.md +0 -255
  328. package/skills/uipath-rpa/references/coded/inspect-package-guide.md +0 -80
  329. package/skills/uipath-rpa/references/coded/third-party-packages-guide.md +0 -67
  330. package/skills/uipath-rpa/references/connector-capabilities.md +0 -79
  331. package/skills/uipath-rpa/references/legacy/activity-docs/Testing.md +0 -95
  332. package/skills/uipath-rpa/references/legacy/activity-docs/UIAutomation.md +0 -159
  333. package/skills/uipath-rpa/references/legacy/common-pitfalls.md +0 -318
  334. package/skills/uipath-rpa/references/legacy/discovery-workflow.md +0 -147
  335. package/skills/uipath-rpa/references/legacy/environment-setup.md +0 -78
  336. package/skills/uipath-rpa/references/legacy/project-structure.md +0 -206
  337. package/skills/uipath-rpa/references/legacy/test-data-guide.md +0 -142
  338. package/skills/uipath-rpa/references/legacy/validation-and-fixing.md +0 -154
  339. package/skills/uipath-rpa/references/project-structure-guide.md +0 -168
  340. package/skills/uipath-rpa/references/project-structure.md +0 -135
  341. package/skills/uipath-rpa/references/publishing-guide.md +0 -80
  342. package/skills/uipath-rpa/references/validation-guide.md +0 -170
  343. package/skills/uipath-rpa/references/xaml/csharp-expression-pitfalls.md +0 -43
  344. package/skills/uipath-rpa/references/xaml/flowchart-guide.md +0 -113
  345. package/skills/uipath-rpa/references/xaml/workflow-guide.md +0 -258
@@ -11,7 +11,7 @@ All workflow and test case files inherit from `CodedWorkflow`, which provides bu
11
11
  | `DelayAsync(TimeSpan time)` / `DelayAsync(int delayMs)` | Pause execution asynchronously |
12
12
  | `BuildClient(string scope = "Orchestrator", bool force = true)` | Build an authenticated `HttpClient` for Orchestrator or custom scopes |
13
13
  | `GetRunningJobInformation()` | Returns `IRunningJobInformation` with current job context: job ID, process name/version, tenant, folder, organization, robot name, and more (see [IRunningJobInformation](#irunningjobinformation-properties) below) |
14
- | `RunWorkflow(string workflowFilePath, IDictionary<string, object> inputArguments = null, TimeSpan? timeout = null, bool isolated = false, InvokeTargetSession targetSession = InvokeTargetSession.Current)` | **Fallback method:** Invoke workflow by string path. Use `workflows.MyWorkflow()` instead when possible |
14
+ | `RunWorkflow(string workflowFilePath, IDictionary<string, object> inputArguments = null, TimeSpan? timeout = null, bool isolated = false, InvokeTargetSession targetSession = InvokeTargetSession.Current)` | **Fallback method:** Invoke workflow by string path. Use `workflows.MyWorkflow()` instead when possible — fall back here when the generated typed accessors are stale or misbehaving after a signature change (rebuild first) |
15
15
  | `RunWorkflowAsync(...)` | Async version of `RunWorkflow` (same limitations apply) |
16
16
 
17
17
  ## Invoking Other Workflows
@@ -272,4 +272,160 @@ namespace MyProject
272
272
  | Shared helper methods for all workflows | `partial class CodedWorkflow` (no hooks) |
273
273
  | All of the above | Combine patterns in one or more partial files |
274
274
 
275
- Code templates: [assets/before-after-hooks-template.md](../../assets/before-after-hooks-template.md)
275
+ Code templates: [assets/codedworkflow-template.md § Before/After Hooks Templates](../../assets/codedworkflow-template.md#beforeafter-hooks-templates)
276
+
277
+ ---
278
+
279
+ ## Inspect NuGet Package Tool (On-Demand API Discovery)
280
+
281
+ Use this when `.local/docs/packages/<PackageId>/coded/coded-api.md` doesn't cover an API, when the user has a different package version, or when you need ground-truth method signatures. Bundled fallback: `references/activity-docs/<PackageId>/<closest-version>/coded/` in this skill ships per-package coded docs (`<service>.md` overview, `api.md` / `windows-api.md` + `portable-api.md` signatures, `examples.md`) for the major UiPath packages — read those when `.local/docs` has no coded docs for the package, picking the version folder closest to the installed one.
282
+
283
+ ### How to Run
284
+
285
+ The `packages inspect` verb is built into the UiPath CLI. No separate build step is needed.
286
+
287
+ #### Inspect a package from a NuGet feed
288
+ ```bash
289
+ uip rpa packages inspect --package-name <PackageName> --package-version <Version> [--feed-url <NuGetV3FeedUrl>]
290
+ ```
291
+
292
+ When `--feed-url` is omitted, the tool downloads from the UiPath Official feed first and falls back to nuget.org.
293
+
294
+ #### Inspect a local .nupkg file
295
+ ```bash
296
+ uip rpa packages inspect --nupkg-path <path/to/package.nupkg>
297
+ ```
298
+
299
+ Use this when the package is already cached locally (e.g. from a private feed) or when you have a `.nupkg` file on disk.
300
+
301
+ ### Examples
302
+
303
+ ```bash
304
+ # Inspect Excel activities from UiPath feed
305
+ uip rpa packages inspect --package-name UiPath.Excel.Activities --package-version 3.3.1
306
+ # Inspect a specific version the user has
307
+ uip rpa packages inspect --package-name UiPath.System.Activities --package-version 25.12.2
308
+ # Inspect from a custom feed
309
+ uip rpa packages inspect --package-name MyPackage --package-version 1.0.0 --feed-url https://my-feed/v3/index.json
310
+ # Inspect third-party package from nuget.org
311
+ uip rpa packages inspect --package-name CsvHelper --package-version 33.0.1
312
+ # Inspect a local .nupkg file directly
313
+ uip rpa packages inspect --nupkg-path ~/.nuget/packages/csvhelper/33.0.1/csvhelper.33.0.1.nupkg
314
+ ```
315
+
316
+ ### Finding the Latest Stable Version
317
+
318
+ When you don't know the version of a UiPath package, query the UiPath Official NuGet feed to find the latest stable (non-preview) version:
319
+
320
+ ```bash
321
+ UIPATH_FEED="https://uipath.pkgs.visualstudio.com/5b98d55c-1b14-4a03-893f-7a59746f1246/_packaging/1c781268-d43d-45ab-9dfc-0151a1c740b7/nuget/v3/flat2" && bun -e "const p=process.argv[1];const r=await fetch(p+'/index.json');const d=await r.json();console.log(d.versions.find(v=>v.indexOf('preview')<0))" "$UIPATH_FEED/<package-name-lowercase>"
322
+ ```
323
+
324
+ Replace `<package-name-lowercase>` with the package ID in lowercase (e.g. `uipath.microsoftoffice365.activities`).
325
+
326
+ **Examples:**
327
+ ```bash
328
+ # Latest stable UiPath.MicrosoftOffice365.Activities → 3.6.10
329
+ ... "$UIPATH_FEED/uipath.microsoftoffice365.activities"
330
+
331
+ # Latest stable UiPath.System.Activities → 25.12.2
332
+ ... "$UIPATH_FEED/uipath.system.activities"
333
+ ```
334
+
335
+ **Notes:**
336
+ - The feed returns versions in descending order (newest first); the one-liner picks the first non-preview entry
337
+ - Package names in the URL **must be lowercase**
338
+ - This feed is public for version listing but requires authentication for package downloads (Studio handles this automatically when restoring dependencies)
339
+
340
+ ---
341
+
342
+ ### When to Use
343
+
344
+ - **First**, check for pre-generated coded API docs at `{projectRoot}/.local/docs/packages/{PackageId}/coded/coded-api.md` — these contain service API signatures and usage for coded workflows. Use `packages inspect` only when these docs are missing or insufficient.
345
+ - You encounter an unknown activity/method not in reference files
346
+ - The user's `project.json` has a different package version than reference docs
347
+ - You need exact method signatures, parameter types, or enum values
348
+ - You're unsure about the correct API and want to verify against the actual package
349
+ - You need to find and evaluate a third-party NuGet package for use in a coded workflow
350
+
351
+ ### Output
352
+
353
+ Structured markdown listing all public types, methods, properties, enums, delegates, and events from the package DLLs. The tool performs framework-aware DLL selection and recursive dependency resolution (up to depth 2).
354
+
355
+ ### Requirements & Notes
356
+
357
+ - Requires `uip` to be available on PATH
358
+ - Downloads from the UiPath Official feed first, then falls back to nuget.org — so it works with **any** NuGet package, not just UiPath ones
359
+ - The tool automatically checks the local NuGet cache at `~/.nuget/packages/` when a package cannot be downloaded
360
+ - For local `.nupkg` files (e.g. packages from private feeds already cached locally), use `--nupkg-path` to skip the download entirely
361
+ - Some packages are metapackages with no DLLs (e.g. `Humanizer`). If you get "No DLLs found", try the `.Core` sub-package (e.g. `Humanizer.Core`)
362
+
363
+ ---
364
+
365
+ ## Third-Party NuGet Packages
366
+
367
+ When a user needs functionality that **no UiPath built-in activity provides** (e.g. PDF generation, barcode reading, advanced math, specific file formats), find and use a third-party NuGet package.
368
+
369
+ ### Decision Flow
370
+
371
+ 1. **Consider whether a built-in activity or plain .NET is the better fit** — prefer activities for Orchestrator integration, UI automation, and document handling; prefer .NET for data transforms, HTTP to external APIs, parsing, etc.
372
+ 2. **If no built-in activity fits** — search for a well-known .NET NuGet package that provides the capability
373
+ 3. **Inspect the package** — run the `uip rpa packages inspect` command with the appropriate flags in order to get exact API signatures before writing code
374
+ 4. **Install it** — run `uip rpa packages install --project-dir "<PROJECT_DIR>" --packages 'id=<PACKAGE_ID>,version=<VERSION>' --output json`. Omit `,version=<VERSION>` to resolve the latest compatible. Do NOT hand-edit `project.json` `dependencies`. **There is no `uip rpa add-dependency` command.**
375
+ 5. **Write C# code using the package** — use the package's API directly in the `Execute` method (no service proxy needed — just `using` + direct API calls)
376
+
377
+ ### How Third-Party Packages Differ from UiPath Activity Packages
378
+
379
+ - UiPath packages provide services on the `CodedWorkflow` base class (e.g. `excel.ReadRange(...)`)
380
+ - Third-party packages are used as **plain C# libraries** — instantiate classes, call methods directly
381
+ - They do NOT get a service property on `CodedWorkflow`
382
+ - Add them to `project.json` `dependencies` just like UiPath packages: `"PackageName": "[version]"`
383
+
384
+ ### Example — Using CsvHelper in a Coded Workflow
385
+
386
+ ```csharp
387
+ using System;
388
+ using System.Globalization;
389
+ using System.IO;
390
+ using CsvHelper;
391
+ using UiPath.CodedWorkflows;
392
+
393
+ namespace MyProject
394
+ {
395
+ public class ProcessCsv : CodedWorkflow
396
+ {
397
+ [Workflow]
398
+ public void Execute(string inputPath)
399
+ {
400
+ using var reader = new StreamReader(inputPath);
401
+ using var csv = new CsvReader(reader, CultureInfo.InvariantCulture);
402
+ var records = csv.GetRecords<dynamic>().ToList();
403
+ Log($"Read {records.Count} records from CSV");
404
+ }
405
+ }
406
+ }
407
+ ```
408
+
409
+ With `project.json` dependency:
410
+ ```json
411
+ {
412
+ "dependencies": {
413
+ "CsvHelper": "[33.0.1]"
414
+ }
415
+ }
416
+ ```
417
+
418
+ ### How to Search for Packages
419
+
420
+ - Use web search to find the best .NET NuGet package for the task
421
+ - Look for packages with high download counts, active maintenance, and .NET 6+ support
422
+ - Common choices:
423
+ - `CsvHelper` (CSV parsing)
424
+ - `QuestPDF` (PDF generation)
425
+ - `ClosedXML` (Excel without UiPath)
426
+ - `HtmlAgilityPack` (HTML parsing)
427
+ - `Dapper` (database access)
428
+ - `RestSharp` (REST APIs)
429
+ - `Polly` (retry/resilience patterns)
430
+ - `Newtonsoft.Json` (JSON parsing - already included in most projects)
431
+ - After identifying a package, run the `uip rpa packages inspect` command to discover exact APIs before coding
@@ -99,12 +99,12 @@ Typed handle to a specific IS connector + connection. Constructed by the auto-ge
99
99
  # → copy the "Id" field of the target connection
100
100
  ```
101
101
 
102
- ### Step 1 — Resolve metadata using the uipath-platform skill
102
+ ### Step 1 — Resolve connector metadata
103
103
 
104
- Before writing the coded workflow, resolve the connector metadata using the `uipath-platform` skill. The full CLI commands and output interpretation are covered in those reference files:
104
+ Before writing the coded workflow, resolve the connector metadata with the `uip is` CLI (drill into flags with `uip is <group> --help`; when the `uipath-platform` skill is available, delegate deep Integration Service questions to it):
105
105
 
106
- - **Find connector key and list connections:** [connectors.md](../../../uipath-platform/references/integration-service/connectors.md) and [connections.md](../../../uipath-platform/references/integration-service/connections.md)
107
- - **Discover activities/resources and run describe:** [activities.md](../../../uipath-platform/references/integration-service/activities.md) and [resources.md](../../../uipath-platform/references/integration-service/resources.md)
106
+ - **Find connector key and list connections:** `uip is connectors list --output json`, then `uip is connections list <connector-key> --output json`
107
+ - **Discover activities/resources and run describe:** `uip is activities list <connector-key> --output json`, `uip is resources list <connector-key> --output json`, `uip is resources describe <connector-key> <object-name> --operation <Op> --output json`
108
108
 
109
109
  The describe response tells you:
110
110
 
@@ -257,7 +257,8 @@ var response = await conn.ExecuteAsync(config, request);
257
257
  Run `uip rpa validate` on the written workflow file until 0 errors. Cap at 5 fix attempts.
258
258
 
259
259
  ```bash
260
- uip rpa validate --file-path "<WORKFLOW_FILE>" --project-dir "<PROJECT_DIR>" --output json```
260
+ uip rpa validate --file-path "<WORKFLOW_FILE>" --project-dir "<PROJECT_DIR>" --output json
261
+ ```
261
262
 
262
263
  ---
263
264
 
@@ -25,15 +25,15 @@ Read: <PROJECT_DIR>/Main.xaml # or TestCase.xaml for test projects
25
25
  - How many workflow files? (one per logical step or responsibility)
26
26
  - Are there shared data models or helpers? (create Coded Source Files)
27
27
  - Is this a test project? (create test cases with Given/When/Then structure, optionally add Before/After hooks)
28
- - See [../project-structure-guide.md](../project-structure-guide.md) for guidelines
28
+ - See [../environment-setup.md § Designing Project Structure](../environment-setup.md#designing-project-structure) for guidelines
29
29
 
30
30
  **4. Add required dependencies to `project.json`** based on the Service-to-Package mapping. Edit the existing `project.json` — do NOT rewrite the entire file.
31
31
 
32
32
  **5. Add `.cs` workflow / test case / source files:**
33
- - Generate `.cs` files (workflows, test cases, source files) — respect the four Error-severity coded analyzer rules while authoring: [coding-guidelines.md § Coded Workflow Analyzer Rules](coding-guidelines.md#coded-workflow-analyzer-rules)
33
+ - Generate `.cs` files (workflows, test cases, source files) — respect the four Error-severity coded analyzer rules while authoring: [§ Coded Workflow Analyzer Rules](#coded-workflow-analyzer-rules)
34
34
  - For each `.cs` **workflow** file, add an entry to `entryPoints` in `project.json` (**Process projects only** — Tests and Library projects do NOT use `entryPoints`). The existing scaffolded XAML entry can stay alongside.
35
35
  - For each `.cs` **test case** file, add an entry to `designOptions.fileInfoCollection` in `project.json` with `editingStatus: "InProgress"`, `testCaseType: "TestCase"`, `publishAsTestCase: true`. Test cases do NOT go in `entryPoints` regardless of project type.
36
- - If test project and shared setup is needed, create a `partial class CodedWorkflow` source file that implements `IBeforeAfterRun` (see before-after-hooks-template.md)
36
+ - If test project and shared setup is needed, create a `partial class CodedWorkflow` source file that implements `IBeforeAfterRun` (see [codedworkflow-template.md § Before/After Hooks Templates](../../assets/codedworkflow-template.md))
37
37
 
38
38
  **6. Validate each file** (Critical Rule #14) — run the validation loop on every `.cs` file until it compiles cleanly
39
39
 
@@ -41,6 +41,8 @@ Read: <PROJECT_DIR>/Main.xaml # or TestCase.xaml for test projects
41
41
 
42
42
  ## Add a Workflow File to Existing Project
43
43
 
44
+ > Before writing code, read [§ Coding Guidelines](#coding-guidelines) below — using-statement mapping, analyzer rules, anti-patterns.
45
+
44
46
  **Steps:**
45
47
  1. Read existing `project.json` to get project name (for namespace), `outputType`, and current entry points
46
48
  2. Create the new `.cs` file:
@@ -69,6 +71,8 @@ Read: <PROJECT_DIR>/Main.xaml # or TestCase.xaml for test projects
69
71
 
70
72
  ## Add a Test Case File
71
73
 
74
+ > Before writing code, read [§ Coding Guidelines](#coding-guidelines) below — using-statement mapping, analyzer rules, anti-patterns.
75
+
72
76
  Coded test cases automate and validate application behavior using a structured **Given-When-Then** (Arrange/Act/Assert) pattern. They inherit from `CodedWorkflow` just like workflows, but use the `[TestCase]` attribute.
73
77
 
74
78
  **Test cases can exist in any project type** — not just `"Tests"` projects. It's common to add test cases directly inside a `"Process"` project for testing purposes.
@@ -177,7 +181,7 @@ public void Execute()
177
181
  ```
178
182
 
179
183
  **Shared Before/After hooks for all test cases:**
180
- Create a Coded Source File (e.g. `CodedWorkflowHooks.cs`) with `public partial class CodedWorkflow : IBeforeAfterRun` — the compiler merges it with the auto-generated CodedWorkflow partial, so all workflows and test cases get the hooks automatically. See `assets/before-after-hooks-template.md` for the full template.
184
+ Create a Coded Source File (e.g. `CodedWorkflowHooks.cs`) with `public partial class CodedWorkflow : IBeforeAfterRun` — the compiler merges it with the auto-generated CodedWorkflow partial, so all workflows and test cases get the hooks automatically. See [codedworkflow-template.md § Before/After Hooks Templates](../../assets/codedworkflow-template.md) for the full template.
181
185
 
182
186
  ## Add a Coded Source File (Helper Class / Model / Utility)
183
187
 
@@ -416,4 +420,268 @@ Canonical CLI: `uip rpa packages install`. Do NOT hand-edit `project.json` `depe
416
420
  - `UiPath.MicrosoftOffice365.Activities` → `3.6.10` — Microsoft 365 (Graph API: mail, calendar, Excel cloud, OneDrive, SharePoint)
417
421
  - `UiPath.GSuite.Activities` → `3.6.10` — Google Workspace (Gmail, Calendar, Drive, Sheets, Docs)
418
422
 
419
- **Third-party NuGet packages:** same CLI — pass the public NuGet package ID as `id`. See [third-party-packages-guide.md](third-party-packages-guide.md).
423
+ **Third-party NuGet packages:** same CLI — pass the public NuGet package ID as `id`. See [codedworkflow-reference.md § Third-Party NuGet Packages](codedworkflow-reference.md#third-party-nuget-packages).
424
+
425
+ ---
426
+
427
+ ## Coding Guidelines
428
+
429
+ Detailed coding rules, best practices, anti-patterns, and troubleshooting for coded workflows.
430
+
431
+ ### Using Statements Rules
432
+
433
+ **CRITICAL: Only include `using` statements for namespaces actually used in the file.** Adding usings for packages not in `project.json` will cause compile errors.
434
+
435
+ **Minimal using statements** (always safe in any workflow/test case file):
436
+ ```csharp
437
+ using System;
438
+ using System.Collections.Generic;
439
+ using UiPath.CodedWorkflows;
440
+ ```
441
+
442
+ **Add based on actual usage** — only include these when the file uses the corresponding types/services AND the package is in `project.json`:
443
+ ```csharp
444
+ // If using system.* service (UiPath.System.Activities package):
445
+ using UiPath.Core;
446
+ using UiPath.Core.Activities.Storage; // only if using storage APIs
447
+ using UiPath.Orchestrator.Client.Models; // only if using Orchestrator models
448
+
449
+ // If using testing.* service (UiPath.Testing.Activities package):
450
+ using UiPath.Testing;
451
+ using UiPath.Testing.Enums; // only if using testing enums
452
+ using UiPath.Testing.Activities.TestData; // only if using test data queues
453
+
454
+ // If using uiAutomation.* service (UiPath.UIAutomation.Activities package):
455
+ using UiPath.UIAutomationNext.API.Contracts;
456
+ using UiPath.UIAutomationNext.API.Models;
457
+ using UiPath.UIAutomationNext.Enums;
458
+
459
+ // If using Object Repository descriptors (Descriptors.App.Screen.Element):
460
+ using <ProjectNamespace>.ObjectRepository; // e.g. using RoboticEnterpriseFramework.ObjectRepository;
461
+ // OR if descriptors come from a UILibrary NuGet package (not the project's own OR):
462
+ // using <PackageNamespace>.ObjectRepository; // e.g. using MultipleApps.Descriptors.ObjectRepository;
463
+ // CRITICAL: Without this, you get CS0103: The name 'Descriptors' does not exist in the current context
464
+ // NOTE: When descriptors come from a UILibrary package, use the PACKAGE namespace, not the project namespace
465
+
466
+ // If using excel.* service (UiPath.Excel.Activities package):
467
+ using UiPath.Excel;
468
+ using UiPath.Excel.Activities;
469
+ using UiPath.Excel.Activities.API;
470
+ using UiPath.Excel.Activities.API.Models;
471
+
472
+ // If using word.* service (UiPath.Word.Activities package):
473
+ using UiPath.Word;
474
+ using UiPath.Word.Activities;
475
+ using UiPath.Word.Activities.API;
476
+ using UiPath.Word.Activities.API.Models;
477
+
478
+ // If using powerpoint.* service (UiPath.Presentations.Activities package):
479
+ using UiPath.Presentations;
480
+ using UiPath.Presentations.Activities;
481
+ using UiPath.Presentations.Activities.API;
482
+ using UiPath.Presentations.Activities.API.Models;
483
+
484
+ // If using mail.* service (UiPath.Mail.Activities package):
485
+ using UiPath.Mail.Activities.Api;
486
+
487
+ // If using office365.* service (UiPath.MicrosoftOffice365.Activities package):
488
+ using UiPath.MicrosoftOffice365.Activities.Api;
489
+
490
+ // If using google.* service (UiPath.GSuite.Activities package):
491
+ using UiPath.GSuite.Activities.Api;
492
+
493
+ // Standard .NET (add as needed):
494
+ using System.Data; // DataTable
495
+ using System.Linq; // LINQ
496
+ using System.IO; // file operations
497
+ using System.Text.RegularExpressions; // regex
498
+ ```
499
+
500
+ **When adding a file that uses a service:**
501
+ 1. Check `project.json` to confirm the required package is listed in `dependencies` — add it if missing
502
+ 2. Add only the `using` statements needed for the types actually referenced in the file
503
+ 3. Add the entry point to `project.json` (**Process projects only** — Tests and Library projects do not use `entryPoints`). Add `fileInfoCollection` for test case files (all project types)
504
+
505
+ ### Platform types — do not reinvent
506
+
507
+ UiPath ships first-class types for the patterns coded workflows most commonly need (exceptions, queue items, credentials, OR descriptors). **Always import the platform type instead of defining a project-local equivalent.** A project-local `BusinessRuleException`, custom queue-item record, or hand-rolled credential helper diverges from Orchestrator behaviour and breaks integration with platform features that expect the canonical types.
508
+
509
+ | Platform type | Namespace / package | Use for | Do NOT do this instead |
510
+ |---|---|---|---|
511
+ | **`UiPath.Core.BusinessRuleException`** | `UiPath.Core` (in `UiPath.System.Activities`) | Business-rule violations that must NOT be retried by REFramework / Orchestrator (e.g., invalid input data, validation failure, missing required field). Orchestrator marks the queue item as `Failed` with no retry. | Define a project-local `class BusinessRuleException : Exception { … }`. |
512
+ | **`UiPath.Robot.Activities.BusinessException`** | `UiPath.Robot.Activities` | Same role as `BusinessRuleException` in robot-side custom activity packages. | Same — do not define your own. |
513
+ | **`UiPath.Core.Activities.Storage.IResource` / `ILocalResource`** | `UiPath.Core.Activities.Storage` (in `UiPath.System.Activities`) | File / folder handles passed to activities that need an `IResource`. | Pass raw `string` paths or hand-roll a `LocalResource` constructor (the constructor is internal — see § IResource / ILocalResource below). |
514
+ | **`UiPath.Orchestrator.Client.Models.QueueItemDto`** and related | `UiPath.Orchestrator.Client.Models` (in `UiPath.System.Activities`) | Queue-item shape returned by `GetTransactionItem` / pushed via `AddQueueItem`. | Define a project-local queue-item record that diverges from Orchestrator's schema. |
515
+ | **OR descriptors `Descriptors.<App>.<Screen>.<Element>`** | Generated into `<PROJECT_DIR>/.local/.codedworkflows/ObjectRepository.cs` | UI element targeting in coded UI automation. | Hand-roll selector strings or `TargetAppModel` instances; bypass the Object Repository. |
516
+ | **`UiPath.CodedWorkflows.CodedWorkflow`** | `UiPath.CodedWorkflows` (built into the runtime) | Base class for `[Workflow]` and `[TestCase]` classes. | Inherit from a custom base; the Studio wrapper generation depends on this exact type. |
517
+
518
+ #### Throwing `BusinessRuleException` correctly
519
+
520
+ ```csharp
521
+ using UiPath.Core; // brings BusinessRuleException into scope
522
+
523
+ if (!System.Text.RegularExpressions.Regex.IsMatch(hash, @"^[0-9a-f]{40}$"))
524
+ {
525
+ throw new BusinessRuleException(
526
+ $"Computed hash '{hash}' does not match expected SHA1 format (40 lowercase hex chars).");
527
+ }
528
+ ```
529
+
530
+ `BusinessRuleException` is recognised by REFramework's `SetTransactionStatus` and by Orchestrator's queue-item lifecycle — items failed with this exception are marked **Failed** and not retried automatically. A project-local exception with the same name is just an `Exception` from REFramework's point of view and triggers the system-error retry path instead.
531
+
532
+ #### When you MAY define a project-local type
533
+
534
+ Project-local types are appropriate for **domain DTOs** that have no platform equivalent — `InvoiceLineItem`, `CustomerRecord`, `WorkItem` — and belong in Coded Source Files. The rule above applies to platform-provided types only: do not reinvent exceptions, queue-item shapes, credential handles, file-resource handles, or OR descriptors.
535
+
536
+ ### Coded Workflow Analyzer Rules
537
+
538
+ Four built-in Workflow Analyzer rules with scope `Coded Workflow` run as Roslyn analyzers over the project's `.cs` files. All four are **Error** severity and enabled by default — a violation fails `uip rpa analyze`, `build`, and `pack`, and Studio flags the same violations as validation errors. Author to satisfy them up front:
539
+
540
+ | Rule | Trigger | Fix |
541
+ |------|---------|-----|
542
+ | **ST-NMG-017** — Class name matches default namespace | A class declared inside the project's default namespace has the same name as that namespace (generated from the project name) — e.g. class `Invoicing` in project `Invoicing`. Applies to every class, including Coded Source Files. | Rename the class (and its file to match) — e.g. `InvoicingWorkflow` |
543
+ | **ST-DBP-010** — Multiple `[Workflow]`/`[TestCase]` | More than one `[Workflow]` or `[TestCase]` attribute in the same **file** (the two attribute kinds count together) | One entry-point attribute per file — move each extra entry point to its own file |
544
+ | **ST-REL-001** — Mismatched InOut argument types | An entry-point input parameter collapses into an InOut argument (its name matches a return-tuple element, or it is literally named `Output` with a single non-void return) but the input and returned types differ | Make the input parameter type and the returned type identical |
545
+ | **ST-USG-017** — Invalid parameter modifier | `out` or `ref` modifier on a `[Workflow]`/`[TestCase]` method parameter | Use return values or tuples for outputs instead |
546
+
547
+ > Older CLI versions listed these rules in `analyzer-rules list` but did not execute them headlessly — only Studio flagged the violations. Do not treat a clean `analyze`/`build`/`pack` from an older CLI as proof these rules pass; fix violations at authoring time regardless.
548
+
549
+ ### Best Practices
550
+
551
+ ### API Discovery
552
+ - **ALWAYS search for existing .cs files BEFORE generating new code** — Learn from existing patterns
553
+ - Read at least 5 existing workflow files (or all if fewer) to understand project conventions
554
+ - **When writing UI automation code** — the UIA package guide (`{PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/ui-automation-guide.md`) MUST be read IN FULL first (SKILL.md Rule 7). Follow its **Finding Descriptors** hierarchy in strict order. Do NOT write any UI code until descriptors are resolved:
555
+ 1. Read `ObjectRepository.cs` — use existing descriptors if present
556
+ 2. Inspect UILibrary/descriptor NuGet packages in `project.json` (e.g. `*.Descriptors`, `*.UILibrary`) using `uip rpa packages inspect`. The tool checks the local NuGet cache automatically. If the package is still not found, read `.metadata` files manually at `~/.nuget/packages/<package-name>/<version>/contentFiles/any/any/.objects/` to discover App/Screen/Element hierarchy
557
+ 3. If descriptors are still missing — use the `uia-configure-target` skill flow (found in the UIA activity-docs) to create targets. This handles capturing the application, discovering elements, generating selectors, improving them, and registering them in the OR. Do NOT manually call the internal `uip rpa uia` CLIs outside of the skill flow. Fallback: the indication commands (see UIA docs) when elements appear only after user interaction (e.g., a compose form that opens after clicking a button)
558
+ 4. UITask (ScreenPlay) is ONLY for when selectors are genuinely brittle/unreliable — NEVER as a first approach
559
+ 5. NEVER bypass Object Repository by constructing `TargetAppModel` with raw URL/BrowserType
560
+ - Use `uip rpa packages inspect` for API discovery when documentation is unclear
561
+
562
+ ### IResource / ILocalResource — Converting File Paths
563
+
564
+ Many activities (O365, GSuite, Mail, file operations) require `IResource` or `ILocalResource` instead of a string path. NEVER pass a raw string where `IResource` is expected — it will fail at runtime. NEVER try to construct `LocalResource(string)` directly — the constructor is internal.
565
+
566
+ | Method | Signature | Use when |
567
+ |--------|-----------|----------|
568
+ | `GetResourceForLocalPath` | `system.GetResourceForLocalPath(string path, PathType pathType)` → `IResource` | You have a path and need an `IResource` (no existence check needed) |
569
+ | `PathExists` (with out param) | `system.PathExists(string path, PathType pathType, out ILocalResource resource)` → `bool` | You need to verify the file exists AND get an `ILocalResource` |
570
+
571
+ ```csharp
572
+ // Direct conversion — preferred when you know the file exists
573
+ IResource file = system.GetResourceForLocalPath(@"C:\Reports\report.pdf", PathType.File);
574
+ IResource folder = system.GetResourceForLocalPath(@"C:\Archive", PathType.Folder);
575
+
576
+ // With existence check
577
+ if (system.PathExists(@"C:\Reports\report.pdf", PathType.File, out ILocalResource localFile))
578
+ {
579
+ // use localFile
580
+ }
581
+ ```
582
+
583
+ `PathType` values: `PathType.File`, `PathType.Folder`
584
+
585
+ ### Code Quality
586
+ - **Start simple, iterate** — Create minimal working version first, then refine
587
+ - **NEVER use C# `out` or `ref` keywords in `[Workflow]` methods** — The auto-generated `*+Activity.cs` wrapper does not handle them correctly. Symptoms: analyzer error ST-USG-017 at `analyze`/`build`/`pack`, compile error `CS1620`, or runtime `Using 'out' and 'ref' modifiers is not allowed for Coded Workflows executions.` Studio regenerates the wrapper on every save, so manual fixes are reverted. Use return values or tuples for outputs instead
588
+ - **Only include using statements for packages in project.json** — Adding unused usings causes compile errors
589
+ - **Match input parameter names exactly** — Execute method signature must match `--input` arguments (case-sensitive)
590
+ - **Escape backslashes in paths** — Use `C:\\path\\file.txt` not `C:\path\file.txt` in input arguments
591
+ - **Resolve paths portably** — accept file/dir paths as arguments and resolve relative to the run-time working directory (`Directory.GetCurrentDirectory()`, `Path.Combine`); a machine-specific absolute path baked into code or a default value breaks on every other machine
592
+
593
+ ### Validation Loop (Critical Rule #14)
594
+ uip rpa validate --file-path "<FILE>" --project-dir "<PROJECT_DIR>" --output json
595
+ Full loop (phases, exit criteria, error recovery): [../cli-reference.md § Validation Iteration Loop](../cli-reference.md#validation-iteration-loop)
596
+
597
+ ### Error Handling
598
+ - **Fix compilation errors methodically** — Categorize: Syntax → Type → Logic. Use the validation loop above to iterate until clean.
599
+ - **Retry on execution failures** — Attempt to fix and retry up to 2 times before asking user
600
+ - **Analyze errors carefully** — Read error messages, identify root cause, make targeted fixes
601
+ - **Fix one thing at a time** — When a runtime error occurs, identify the root cause, fix ONLY that, and re-run. Never bundle a speculative "improvement" (e.g., switching from TypeInto to KeyboardShortcut) with the actual fix (e.g., correcting a selector). Changing two things at once makes it impossible to verify which change resolved the issue — or whether the speculative change introduced a new one.
602
+ - **Don't give up too early** — But stop after 2 failed retries and present the user with options:
603
+ ```
604
+ Workflow execution failed after 2 retry attempts.
605
+
606
+ **Error Details:** <specific error message and location>
607
+ **Suggested Fix:** <analysis of what went wrong>
608
+ **Next Steps:** Would you like me to:
609
+ A) <recommended fix approach>
610
+ B) <alternative approach>
611
+ C) <user-driven approach>
612
+ ```
613
+
614
+ ### File Operations
615
+ - **ALWAYS use Read tool before Edit tool** — Understand current state before making changes
616
+ - **Prefer editing over creating new files** — Build on existing work, avoid file bloat
617
+ - **Use Glob for file discovery** — Never guess file locations
618
+
619
+ ### Anti-Patterns (What NOT to Do)
620
+
621
+ > Many of these reinforce SKILL.md Critical Rules. They are grouped by category for quick scanning.
622
+
623
+ ### Project & Code Structure
624
+
625
+ - Never manually write `project.json` or `project.uiproj` when creating a new project — use `uip rpa init` (Critical Rule #1)
626
+ - Never generate C# code without first searching for existing .cs files (API Discovery)
627
+ - Never edit files without reading them first
628
+ - Never skip the `[Workflow]` or `[TestCase]` attribute on the Execute method (Critical Rule #4)
629
+ - Never put more than one `[Workflow]`/`[TestCase]` attribute in the same file — analyzer error ST-DBP-010 (see § Coded Workflow Analyzer Rules)
630
+ - Never name a class the same as the project — analyzer error ST-NMG-017 (see § Coded Workflow Analyzer Rules)
631
+ - Never forget to inherit from `CodedWorkflow` (except Coded Source Files) (Critical Rule #3)
632
+ - Never add `using` statements for packages not in `project.json` — causes CS errors
633
+ - Never guess service method names — verify with existing code or `uip rpa packages inspect`
634
+ - Never hardcode machine-specific absolute paths as argument defaults or literals — resolve relative to the run-time working directory (see § Code Quality)
635
+
636
+ ### UI Automation
637
+
638
+ - Never hardcode UI selectors — use Object Repository descriptors
639
+ - Never write UI code referencing descriptors without first reading `ObjectRepository.cs`
640
+ - Never manually craft UI selectors by calling the internal `uip rpa uia` CLIs outside of the `uia-configure-target` skill flow — this skips selector improvement and OR registration
641
+ - Never skip the target configuration step when a descriptor is missing — use the `uia-configure-target` skill flow (fallback: indication commands per the UIA docs)
642
+ - Never use UITask (ScreenPlay) as the primary approach — resolve descriptors via Finding Descriptors hierarchy first (Critical Rule #15)
643
+ - Never skip configuring targets because it "seems tedious" — configure ALL missing elements
644
+ - Never construct `TargetAppModel` with raw URL/BrowserType to bypass Object Repository
645
+ - Never skip checking UILibrary/descriptor NuGet packages in `project.json`
646
+ - Never use an element descriptor on the wrong screen handle — each `UiTargetApp` is bound to its screen. Wrong handle gives `"Target name 'X' is not part of the current screen."`
647
+ - Never use `SelectItem` on web dropdowns without a `TypeInto` fallback — web `<select>` elements often fail with `"Cannot select item"`
648
+ - Never forget `using <ProjectNamespace>.ObjectRepository;` (or `using <PackageName>.ObjectRepository;` for UILibrary packages) when referencing `Descriptors.*`
649
+
650
+ ### Object Repository / Indicate Commands
651
+
652
+ - Never assume `.objects/` subdirectories mean a valid App exists — verify `.metadata` files are present
653
+ - Never cache or reuse AppVersion references across OR resets — always re-read `.objects/` metadata
654
+ - Never run indicate commands from outside the project directory — cwd must contain `project.json`
655
+ - Never use camelCase flags — all `uip rpa` CLI flags use kebab-case (e.g., `--foo-bar`, not `--fooBar`)
656
+
657
+ ### Validation & Execution
658
+
659
+ - Never assume create/edit succeeded without running the validation loop (Critical Rule #14)
660
+ - Never continue retrying indefinitely — stop after 5 validation fix attempts or 2 runtime execution retries
661
+ - Never make unrelated changes during retry — identify the root cause, fix only that, re-run and verify. Never bundle a speculative "improvement" with the actual fix (e.g., fixing a broken selector AND switching from TypeInto to KeyboardShortcut in the same edit). One change, one re-run.
662
+ - Never execute a workflow with parameters without providing `--input` arguments
663
+ - Never use parameter names in `--input` that don't match the Execute method signature (case-sensitive)
664
+
665
+ ### Shell & Environment
666
+
667
+ - Never redirect output to `nul` — use `> /dev/null 2>&1` instead (`nul` creates a literal file on Windows)
668
+ - Never use Windows shell commands (`del`, `dir`, `copy`) in bash — use `rm`, `ls`, `cp`
669
+
670
+ ### Common Issues and Fixes
671
+
672
+ | Issue | Cause | Fix |
673
+ |-------|-------|-----|
674
+ | **"Studio X.X.X does not have interop support"** | Surfaces only when running against Studio Desktop and the auto-detected install is too old (< 26.2). Headless Studio is unaffected. | Pass `--studio-dir "<STUDIO_DIR>"` pointing to a 26.2+ build, or drop the Studio Desktop override and let the command run headless |
675
+ | **No Studio instances found** | Only relevant for `diff` / `focus-activity` — they need Studio Desktop. Every other command runs headless and doesn't need a Desktop instance. | Run `uip rpa studio start --project-dir "<PROJECT_DIR>"` if you actually need Studio Desktop; otherwise re-run the command — headless Studio relaunches automatically |
676
+ | **Stale pipe / ENOENT** | Studio instance crashed or was closed | The tool retries automatically; if persistent, re-run the command (headless) or restart Studio Desktop |
677
+ | **Workflow cannot be found** | Entrypoint not in project.json | Verify project.json entrypoint has the file listed (Process projects only — Tests and Library projects do not use `entryPoints`) |
678
+ | **Service property not available** | Missing package dependency | Install the required package via `uip rpa packages install --project-dir "<PROJECT_DIR>" --packages id=<PACKAGE_ID> --output json` (no `add-dependency` command exists; do not hand-edit `project.json`) |
679
+ | **Timeout** | Studio took too long to start. First headless call on a cold NuGet cache can take 30–90 s. | Increase timeout: `--timeout 600` |
680
+ | **"Target name 'X' is not part of the current screen"** | Element descriptor used on wrong screen handle | Use the `UiTargetApp` handle from `Open`/`Attach` for the screen that owns the element |
681
+ | **"Cannot select item. It was not found among existing items"** | The `Item` value doesn't match any option (wrong text/casing) — not a control-type limitation | Read the control's `items` attribute via the interact CLI (SelectItem usage guide, routed from the UIA package guide § Documentation) and pass one of those values verbatim. `SelectItem` drives any control whose `items` lists options (any UI stack); use `TypeInto` only for type-ahead combos or controls with no `items`. |
682
+ | **`packages inspect` cannot find UILibrary package** | Package is on a private/local NuGet feed | Use `--nupkg-path` to inspect the local `.nupkg` directly, or read `.metadata` files manually from `~/.nuget/packages/<name>/<version>/contentFiles/any/any/.objects/` |
683
+ | **Studio rejects manually created project** | Missing metadata dirs, wrong schema/version | Always use `uip rpa init` instead of writing `project.json` manually |
684
+ | **`CS0103` on an Execute default parameter value** | Default values are copied verbatim into the generated `*+Activity.cs` wrapper, where class consts/fields are out of scope | Use self-contained compile-time literals as defaults (`"output"`, `2`, `null`) — never a reference to a const, static, or member |
685
+ | **Argument default ignored — empty string arrives instead** | `--input-arguments key=` (empty value) passes `""`, which OVERRIDES the declared default | Omit the flag entirely to use the method's default value |
686
+ | **Runs invoke stale code after a signature change** | Generated wrapper (`*+Activity.cs` / WorkflowRunnerService) not regenerated | Re-run `uip rpa build` after changing an Execute signature; never hand-patch generated files under `.local/` |
687
+ | **Nondeterministic errors confined to `.local/` generated files** (`WorkflowRunnerService.cs` missing/stale, CS errors in `.local/install/<Class>+<Method>Activity.cs`; project `validate` or `run` flips between clean and failing with unchanged sources) | CLI codegen destroys/regenerates the coded-workflow wrappers unreliably; a cached headless Studio instance holds stale state | Errors that live only under `.local/` are cache corruption, NOT source defects — judge project health by `build` + per-file `validate` on authored sources. Recover surgically, in order: (1) delete only the stale generated wrappers under `.local/install/` (and a corrupt `WorkflowRunnerService.cs` if present); (2) kill the headless Studio host process — it relaunches on the next command; (3) run `uip rpa build` ONCE to regenerate; (4) execute with `uip rpa run --skip-build` per workflow/test from then on. Do NOT `rm -rf .local/` wholesale — a full cold restore destabilizes codegen further and re-pays the 30–90 s NuGet restore per run. Do NOT add `[TestCase]` files to `entryPoints` while debugging this (Rule 15 forbids it regardless). Resilience option when tests keep tripping the flaky proxy: keep pure logic in a Coded Source File (Rule 19) and assert on the shared function directly — the trade-off is losing integration coverage of the workflow proxy itself. |
@@ -181,7 +181,7 @@ Both XAML workflows (via typed arguments) and coded workflows (via direct refere
181
181
  ## Related References
182
182
 
183
183
  - [coded/operations-guide.md](coded/operations-guide.md) — How to create coded workflows, test cases, and source files
184
- - [coded/coding-guidelines.md](coded/coding-guidelines.md) — C# coding rules and common issues
185
- - [xaml/workflow-guide.md](xaml/workflow-guide.md) — XAML workflow creation and editing
184
+ - [coded/operations-guide.md § Coding Guidelines](coded/operations-guide.md#coding-guidelines) — C# coding rules and common issues
185
+ - [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) — XAML authoring workflow, anatomy, and editing
186
186
  - [xaml/common-pitfalls.md](xaml/common-pitfalls.md) — InvokeCode language property gotcha
187
- - [project-structure-guide.md](project-structure-guide.md) — Project layout examples including hybrid
187
+ - [environment-setup.md § Designing Project Structure](environment-setup.md#designing-project-structure) — Project layout examples including hybrid