@uipath/skills 1.200.0 → 1.201.0-preview.433
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +32 -0
- package/CODEOWNERS +25 -4
- package/README.md +1 -0
- package/assets/skill-status.json +8 -0
- package/assets/uip-catalog-snapshot.json +113 -41
- package/assets/uipath-icon.png +0 -0
- package/commands/install-permissions.md +1 -0
- package/package.json +3 -2
- package/skills/uipath-admin/SKILL.md +1 -1
- package/skills/uipath-admin/references/authorization/permission-catalog.md +61 -1
- package/skills/uipath-admin/references/authorization/role-management.md +3 -1
- package/skills/uipath-admin/references/diagnose/references/failure-modes.md +29 -4
- package/skills/uipath-admin/references/diagnose/references/troubleshooting-guide.md +13 -0
- package/skills/uipath-agents/SKILL.md +1 -0
- package/skills/uipath-agents/references/coded/capabilities/context-grounding.md +3 -3
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +6 -1
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +89 -1
- package/skills/uipath-agents/references/coded/embedding-in-flows.md +17 -1
- package/skills/uipath-agents/references/coded/frameworks/llamaindex-integration.md +64 -2
- package/skills/uipath-agents/references/coded/lifecycle/deployment.md +3 -0
- package/skills/uipath-agents/references/coded/lifecycle/environment-variables.md +90 -0
- package/skills/uipath-agents/references/coded/lifecycle/file-sync.md +3 -1
- package/skills/uipath-agents/references/coded/quickstart.md +10 -6
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +20 -5
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +13 -0
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +1 -3
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +17 -6
- package/skills/uipath-automationhub/SKILL.md +58 -0
- package/skills/uipath-automationhub/references/api-endpoints.md +140 -0
- package/skills/uipath-automationhub/references/get-process.md +69 -0
- package/skills/uipath-automationhub/references/publish-process.md +171 -0
- package/skills/uipath-coded-apps/SKILL.md +24 -11
- package/skills/uipath-coded-apps/references/commands-reference.md +29 -29
- package/skills/uipath-coded-apps/references/create-action-app.md +4 -0
- package/skills/uipath-coded-apps/references/create-web-app.md +10 -0
- package/skills/uipath-coded-apps/references/debug.md +16 -0
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +3 -1
- package/skills/uipath-coded-apps/references/oauth-scopes.md +39 -4
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +37 -21
- package/skills/uipath-coded-apps/references/sdk/conversational-agent.md +2 -0
- package/skills/uipath-coded-apps/references/sdk/data-fabric.md +2 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +2 -0
- package/skills/uipath-coded-apps/references/widgets/conversational-agent-chat.md +90 -0
- package/skills/uipath-coded-apps/references/widgets/datatable.md +97 -0
- package/skills/uipath-coded-apps/references/widgets/external-auth.md +97 -0
- package/skills/uipath-coded-apps/references/widgets/multi-file-upload.md +98 -0
- package/skills/uipath-coded-apps/references/widgets/pdf-viewer.md +122 -0
- package/skills/uipath-coded-apps/references/widgets/validation-station.md +1 -1
- package/skills/uipath-functions/SKILL.md +11 -0
- package/skills/uipath-insights/SKILL.md +52 -247
- package/skills/uipath-insights/references/filter-discovery-guide.md +106 -0
- package/skills/uipath-insights/references/investigation-playbook-guide.md +24 -16
- package/skills/uipath-insights/references/jobs-commands-guide.md +196 -53
- package/skills/uipath-ixp/SKILL.md +10 -4
- package/skills/uipath-ixp/references/cli-reference.md +59 -5
- package/skills/uipath-ixp/references/label-documents-guide.md +12 -5
- package/skills/uipath-maestro-bpmn/SKILL.md +27 -9
- package/skills/uipath-maestro-bpmn/references/diagnose/references/failure-modes.md +6 -3
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-bpmn/references/operate/references/ship.md +9 -3
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +1 -1
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +18 -11
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +13 -7
- package/skills/uipath-maestro-case/SKILL.md +138 -170
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +14 -1
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +25 -1
- package/skills/uipath-maestro-case/references/brownfield.md +7 -3
- package/skills/uipath-maestro-case/references/case-commands.md +63 -8
- package/skills/uipath-maestro-case/references/case-editing-operations.md +11 -8
- package/skills/uipath-maestro-case/references/case-schema.md +5 -3
- package/skills/uipath-maestro-case/references/case-spec-input-details.md +4 -0
- package/skills/uipath-maestro-case/references/connector-integration.md +3 -1
- package/skills/uipath-maestro-case/references/connector-trigger-impl.md +236 -0
- package/skills/uipath-maestro-case/references/connector-trigger-planning.md +300 -0
- package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -0
- package/skills/uipath-maestro-case/references/evals/evals.json +33 -40
- package/skills/uipath-maestro-case/references/implementation.md +58 -13
- package/skills/uipath-maestro-case/references/phased-execution.md +87 -20
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +3 -1
- package/skills/uipath-maestro-case/references/planning.md +26 -16
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +2 -5
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +42 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +50 -32
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +2 -4
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +1 -4
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +43 -13
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -7
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -6
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +1 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +1 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +40 -2
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +12 -2
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +8 -6
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +17 -3
- package/skills/uipath-maestro-case/references/registry-discovery.md +9 -5
- package/skills/uipath-maestro-case/references/sla-response-shapes.md +3 -1
- package/skills/uipath-maestro-case/references/troubleshooting-guide.md +2 -0
- package/skills/uipath-maestro-case/scripts/audit_plan.py +231 -0
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +8 -4
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-cli.md +5 -3
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +14 -4
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +3 -3
- package/skills/uipath-maestro-flow/references/author/references/greenfield.md +12 -3
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +17 -13
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +49 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +59 -17
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +3 -3
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +3 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +3 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +5 -2
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +31 -16
- package/skills/uipath-maestro-flow/references/author/references/plugins/ixp/impl.md +13 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/loop/impl.md +185 -25
- package/skills/uipath-maestro-flow/references/author/references/plugins/loop/planning.md +18 -10
- package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +9 -3
- package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +6 -3
- package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +68 -0
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +2 -1
- package/skills/uipath-maestro-flow/references/shared/file-format.md +36 -9
- package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +77 -20
- package/skills/uipath-planner/SKILL.md +30 -12
- package/skills/{uipath-maestro-case/assets/templates/sdd-template-examples.md → uipath-planner/assets/templates/case-sdd-examples.md} +18 -32
- package/skills/uipath-planner/assets/templates/case-sdd-template.md +289 -309
- package/skills/uipath-planner/references/case-design-lane-guide.md +288 -0
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +1 -1
- package/skills/uipath-planner/references/package-selection-guide.md +2 -2
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +5 -1
- package/skills/uipath-planner/references/product-selection-guide.md +2 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +16 -15
- package/skills/uipath-planner/scripts/audit_sdd.py +437 -0
- package/skills/uipath-platform/SKILL.md +7 -2
- package/skills/uipath-platform/references/data-fabric/choice-sets.md +1 -1
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +1 -1
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +37 -21
- package/skills/uipath-platform/references/data-fabric/file-attachments.md +1 -1
- package/skills/uipath-platform/references/guardrails/byo-configurations.md +205 -0
- package/skills/uipath-platform/references/traces/feedback.md +4 -2
- package/skills/uipath-platform/references/uip-commands.md +2 -2
- package/skills/uipath-review/SKILL.md +55 -52
- package/skills/uipath-review/references/agents/agent-grading-rubric.md +62 -40
- package/skills/uipath-review/references/agents/agents-coded-rules.md +7 -1
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +21 -2
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +78 -13
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +11 -4
- package/skills/uipath-review/references/architecture-assessment-guide.md +1 -1
- package/skills/uipath-review/references/review-workflow-guide.md +19 -10
- package/skills/uipath-review/references/rule-catalog-workflow.md +6 -6
- package/skills/uipath-review/references/rule-format.md +1 -1
- package/skills/uipath-rpa/SKILL.md +1 -1
- package/skills/uipath-solution/SKILL.md +4 -4
- package/skills/uipath-solution/references/solution-overview.md +7 -2
- package/skills/uipath-tasks/SKILL.md +27 -1
- package/skills/uipath-tasks/references/task-catalogs.md +79 -0
- package/skills/uipath-tasks/references/task-data.md +45 -0
- package/skills/uipath-tasks/references/task-metadata.md +69 -0
- package/skills/uipath-test/SKILL.md +3 -3
- package/skills/uipath-test/references/test-result-report-guide.md +16 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +2 -2
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +12 -0
- package/version-manifest.json +2 -2
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +0 -667
- package/skills/uipath-maestro-case/references/connector-trigger-common.md +0 -511
- package/skills/uipath-maestro-case/references/phase-0-interview.md +0 -279
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +0 -1026
- package/skills/uipath-review/references/agents/agent-common-issues.md +0 -401
- package/skills/uipath-review/references/agents/agent-review-checklist.md +0 -379
- /package/skills/{uipath-maestro-case → uipath-planner}/assets/templates/sdd-viewer.html +0 -0
|
@@ -1,401 +0,0 @@
|
|
|
1
|
-
# Agent Common Issues
|
|
2
|
-
|
|
3
|
-
Catalog of frequently found issues in UiPath agent projects, with detection methods and recommended fixes.
|
|
4
|
-
|
|
5
|
-
## Coded Agent Issues
|
|
6
|
-
|
|
7
|
-
### Module-Level LLM Instantiation
|
|
8
|
-
|
|
9
|
-
**Symptom:** LLM client (e.g., `UiPathAzureChatOpenAI()`, `ChatOpenAI()`, `UiPathChat()`) created at module scope, outside any function.
|
|
10
|
-
|
|
11
|
-
```python
|
|
12
|
-
# BAD — fails during uip codedagent init
|
|
13
|
-
from uipath_langchain.chat_models import UiPathAzureChatOpenAI
|
|
14
|
-
llm = UiPathAzureChatOpenAI() # Module-level instantiation
|
|
15
|
-
|
|
16
|
-
def main(input: Input) -> Output:
|
|
17
|
-
result = llm.invoke(...)
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**Impact:** `uip codedagent init` executes the module to discover input/output schemas. Module-level LLM instantiation triggers authentication, which fails during init, breaking the entire setup.
|
|
21
|
-
|
|
22
|
-
**Detection:** Check `main.py` top-level scope for LLM client creation. Look for assignments like `llm = ...` or `client = ...` outside functions.
|
|
23
|
-
|
|
24
|
-
**Fix:**
|
|
25
|
-
```python
|
|
26
|
-
# GOOD — lazy initialization inside function
|
|
27
|
-
def main(input: Input) -> Output:
|
|
28
|
-
llm = UiPathAzureChatOpenAI()
|
|
29
|
-
result = llm.invoke(...)
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Wrong Import Paths
|
|
33
|
-
|
|
34
|
-
**Symptom:** Using outdated or incorrect import paths for UiPath SDK.
|
|
35
|
-
|
|
36
|
-
**Common mistakes:**
|
|
37
|
-
```python
|
|
38
|
-
# BAD
|
|
39
|
-
from uipath import UiPath # ImportError — top-level uipath does not export UiPath
|
|
40
|
-
from uipath.platform import CreateAction, WaitAction # Renamed classes
|
|
41
|
-
|
|
42
|
-
# GOOD
|
|
43
|
-
from uipath.platform import UiPath # Correct
|
|
44
|
-
from uipath.platform.common import CreateTask, WaitTask # Correct HITL imports
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**Detection:** Grep for `import` statements, verify against current SDK documentation.
|
|
48
|
-
|
|
49
|
-
**Fix:** Update imports to match the current `uipath` package API.
|
|
50
|
-
|
|
51
|
-
### Missing [build-system] Guard
|
|
52
|
-
|
|
53
|
-
**Symptom:** `pyproject.toml` contains a `[build-system]` section.
|
|
54
|
-
|
|
55
|
-
**Impact:** Causes packaging errors with `uip codedagent` commands. The UiPath toolchain manages the build system.
|
|
56
|
-
|
|
57
|
-
**Detection:** Read `pyproject.toml`, check for `[build-system]` section.
|
|
58
|
-
|
|
59
|
-
**Fix:** Remove the entire `[build-system]` section from `pyproject.toml`.
|
|
60
|
-
|
|
61
|
-
### No @traced() Decorator
|
|
62
|
-
|
|
63
|
-
**Symptom:** Entry point and key helper functions lack the `@traced()` decorator.
|
|
64
|
-
|
|
65
|
-
**Impact:** Agent executions don't appear in UiPath's tracing dashboard. No visibility into execution flow, timing, or errors in production.
|
|
66
|
-
|
|
67
|
-
**Detection:** Grep for `def main` and key function definitions, check for `@traced()`.
|
|
68
|
-
|
|
69
|
-
**Fix:** Add `@traced()` to the main entry point and significant helper functions. Note: LangGraph graph nodes get automatic tracing — only add `@traced()` to functions outside the graph.
|
|
70
|
-
|
|
71
|
-
### No @mockable() Decorator
|
|
72
|
-
|
|
73
|
-
**Symptom:** Functions calling external services (APIs, databases, UiPath processes) lack `@mockable()`.
|
|
74
|
-
|
|
75
|
-
**Impact:** Evaluations cannot mock external dependencies. Tests become flaky, slow, and require live services.
|
|
76
|
-
|
|
77
|
-
**Detection:** Identify functions that call external services, check for `@mockable()`.
|
|
78
|
-
|
|
79
|
-
**Fix:** Add `@mockable()` to any function that calls an external service. This enables evaluation mocking via `mockito` type mocking strategy.
|
|
80
|
-
|
|
81
|
-
### Infinite Graph Cycles
|
|
82
|
-
|
|
83
|
-
**Symptom:** LangGraph `StateGraph` has cycles with no exit condition (e.g., always routes back to the same node).
|
|
84
|
-
|
|
85
|
-
**Impact:** Agent runs indefinitely, consuming tokens until `maxIterations` limit is hit (if configured).
|
|
86
|
-
|
|
87
|
-
**Detection:** Trace the graph edges manually. Check conditional edges for reachable exit conditions.
|
|
88
|
-
|
|
89
|
-
**Fix:** Ensure every cycle has a conditional exit. Add `maxIterations` as a safety net.
|
|
90
|
-
|
|
91
|
-
## Low-Code Agent Issues
|
|
92
|
-
|
|
93
|
-
### Overpermissioned Tools
|
|
94
|
-
|
|
95
|
-
> *Rule catalog: `LC_TOOL_MINIMALITY_SUFFICIENCY`, `LC_FAILURE_AUTHORITY_ESCALATION`, `LC_TOOL_DANGEROUS_COMBINATION` cover this at Step 2.5.*
|
|
96
|
-
|
|
97
|
-
**Symptom:** Agent has access to tools that are not needed for its stated purpose.
|
|
98
|
-
|
|
99
|
-
**Example:** A customer support agent with tools for deleting database records, modifying system configuration, or accessing internal admin APIs.
|
|
100
|
-
|
|
101
|
-
**Impact:** Increased risk of unintended actions. If the agent misinterprets a request, it can take destructive actions. Larger attack surface for prompt injection.
|
|
102
|
-
|
|
103
|
-
**Detection:** Compare agent's described purpose (system prompt) against the list of available tools. Flag any tool that is not mentioned or implied by the agent's role.
|
|
104
|
-
|
|
105
|
-
**Fix:** Remove unnecessary tools. Follow principle of least privilege — agent should only have tools it needs for its specific task.
|
|
106
|
-
|
|
107
|
-
### Missing Escalation Paths
|
|
108
|
-
|
|
109
|
-
> *Rule catalog: `LC_FAILURE_IRREVERSIBLE_ACTION` covers this at Step 2.5.*
|
|
110
|
-
|
|
111
|
-
**Symptom:** Agent makes irreversible decisions (approvals, deletions, financial transactions) without any human escalation path.
|
|
112
|
-
|
|
113
|
-
**Impact:** Agent errors have no safety net. Incorrect decisions cannot be caught before execution.
|
|
114
|
-
|
|
115
|
-
**Detection:** Review the agent's tools for high-impact operations. Check if escalation resources are defined for these operations.
|
|
116
|
-
|
|
117
|
-
**Fix:** Add escalation resources for high-risk decisions. Configure system prompt to escalate when confidence is low or stakes are high.
|
|
118
|
-
|
|
119
|
-
### Missing Guardrails
|
|
120
|
-
|
|
121
|
-
> *Rule catalog: `LC_GUARDRAIL_RECOMMENDED` (one finding per missing guardrail, with the validator type, recommended scope, and action in the message), `LOWCODE_TOOL_GUARDRAIL_FIELD_MISSING`, `LOWCODE_GUARDRAIL_TOOL_REF_NONEXISTENT` cover this at Step 2.5. See [guardrails/guardrails-review.md](guardrails/guardrails-review.md).*
|
|
122
|
-
|
|
123
|
-
**Symptom:** User-facing agent with no input validation, PII detection, or prompt injection defense.
|
|
124
|
-
|
|
125
|
-
**Impact:** Agent vulnerable to manipulation, data leakage, and unintended behavior.
|
|
126
|
-
|
|
127
|
-
**Detection:** Check `guardrails` array in agent.json. For user-facing agents, expect at minimum prompt injection and PII detection guardrails.
|
|
128
|
-
|
|
129
|
-
**Fix:** Enable out-of-the-box guardrails (PII detection, prompt injection). Add custom tool guardrails for destructive operations.
|
|
130
|
-
|
|
131
|
-
### Poor System Prompt Design
|
|
132
|
-
|
|
133
|
-
> *Rule catalog: `LC_PROMPT_ROLE_DEFINITION`, `LC_PROMPT_SCOPE_BOUNDARIES`, `LC_PROMPT_WHEN_GUIDANCE`, `LC_PROMPT_STOPPING_CRITERIA`, `LC_PROMPT_OUTPUT_FORMAT`, `LC_PROMPT_INSTRUCTION_CONFLICTS` cover the prompt-quality deficiencies at Step 2.5; missing/empty/over-long system prompts are caught by the review CLI.*
|
|
134
|
-
|
|
135
|
-
**Symptom:** System prompt is vague, overly broad, or missing key elements.
|
|
136
|
-
|
|
137
|
-
**Common deficiencies:**
|
|
138
|
-
- No explicit role definition ("You are a helpful assistant" — too generic)
|
|
139
|
-
- No scope boundaries (agent doesn't know what it should refuse)
|
|
140
|
-
- No tool usage guidance (agent guesses when to use tools)
|
|
141
|
-
- No escalation criteria (agent never escalates)
|
|
142
|
-
- No output format specification (agent produces inconsistent formats)
|
|
143
|
-
|
|
144
|
-
**Detection:** Read the system prompt and check for the five elements above.
|
|
145
|
-
|
|
146
|
-
**Fix:** Restructure the system prompt with explicit sections: role/persona, scope/boundaries, tool guidelines, escalation criteria, output format.
|
|
147
|
-
|
|
148
|
-
### Framework Mismatch
|
|
149
|
-
|
|
150
|
-
> *Rule catalog: `CODED_FRAMEWORK_FIT` covers this at Step 2.5 (fires only on real mismatch, not as a "looks fine" commentary slot).*
|
|
151
|
-
|
|
152
|
-
**Symptom:** Simple function agent built with LangGraph, or complex multi-step agent built as a simple function.
|
|
153
|
-
|
|
154
|
-
**Examples of mismatches:**
|
|
155
|
-
- LangGraph with a single node and no conditional edges → should be a simple function agent
|
|
156
|
-
- Simple function agent trying to implement multi-step reasoning with manual state management → should be LangGraph
|
|
157
|
-
- LlamaIndex used without any retrieval/RAG component → wrong framework choice
|
|
158
|
-
|
|
159
|
-
**Detection:** Check the framework config file against the agent's actual complexity. A LangGraph agent with 1-2 nodes and no cycles is likely overengineered.
|
|
160
|
-
|
|
161
|
-
**Fix:** Recommend the appropriate framework based on complexity. Simple → `uipath.json` with functions. Multi-step → `langgraph.json`. RAG-heavy → `llama_index.json`.
|
|
162
|
-
|
|
163
|
-
## Evaluation Issues
|
|
164
|
-
|
|
165
|
-
### No Evaluation Sets
|
|
166
|
-
|
|
167
|
-
> *Rule catalog: `NO_EVALS`, `MISSING_EVAL_DIR`, `TOO_FEW_EVALS`, `FEW_EVALS` cover this at Step 2.5.*
|
|
168
|
-
|
|
169
|
-
**Symptom:** Agent has no evaluation sets at all. No `evaluations/` directory or empty eval sets.
|
|
170
|
-
|
|
171
|
-
**Impact:** No way to verify agent quality. No regression testing. No confidence in deployment.
|
|
172
|
-
|
|
173
|
-
**Detection:** Check for `evaluations/eval-sets/` directory and files.
|
|
174
|
-
|
|
175
|
-
**Fix:** Create at minimum a smoke evaluation set with 2-3 basic test cases covering the happy path. Target 30+ cases for production readiness.
|
|
176
|
-
|
|
177
|
-
### Single Evaluator Type
|
|
178
|
-
|
|
179
|
-
> *Rule catalog: `EVAL_LLM_JUDGE_ONLY`, `EVAL_NO_LLM_JUDGE`, `CODED_EVAL_ARCHETYPE_FIT`, `LC_EVAL_JUDGE_FOR_CLOSED_CLASS` cover this at Step 2.5.*
|
|
180
|
-
|
|
181
|
-
**Symptom:** All evaluations use only `ExactMatchEvaluator` for a natural-language agent, or only `LLMJudgeOutputEvaluator` for a deterministic agent.
|
|
182
|
-
|
|
183
|
-
**Impact:** ExactMatch is too strict for natural language (high false-negative rate). LLMJudge is overkill for deterministic outputs (unnecessary cost and non-determinism in tests).
|
|
184
|
-
|
|
185
|
-
**Detection:** Read evaluator configurations. Check if evaluator type matches agent behavior.
|
|
186
|
-
|
|
187
|
-
**Fix:** Use multiple evaluator types. Combine trajectory + output evaluators for multi-step agents. Use ExactMatch for deterministic outputs, LLMJudge for natural language.
|
|
188
|
-
|
|
189
|
-
### Missing Edge Case Tests
|
|
190
|
-
|
|
191
|
-
> *Rule catalog: `EVAL_DUPLICATE_EXPECTED_OUTPUTS`, `EVAL_LOW_DIVERSITY`, `EVAL_MODERATE_DIVERSITY`, `EVAL_UNIFORM_EXPECTED_BEHAVIOR` partially cover this at Step 2.5 by flagging low-diversity datasets.*
|
|
192
|
-
|
|
193
|
-
**Symptom:** Eval sets only cover the happy path. No tests for empty input, malformed input, missing data, or error scenarios.
|
|
194
|
-
|
|
195
|
-
**Impact:** Agent may fail unpredictably in production when encountering real-world data variability.
|
|
196
|
-
|
|
197
|
-
**Detection:** Review eval set test cases. Check for diversity of input patterns.
|
|
198
|
-
|
|
199
|
-
**Fix:** Add test cases for: empty/null inputs, extra-long inputs, special characters, missing required fields, service unavailability, ambiguous requests.
|
|
200
|
-
|
|
201
|
-
### Stale Mock Data
|
|
202
|
-
|
|
203
|
-
**Symptom:** Mock responses in eval sets don't match current tool output schemas or real-world response patterns.
|
|
204
|
-
|
|
205
|
-
**Impact:** Evaluations pass but agent fails in production because real responses differ from mocks.
|
|
206
|
-
|
|
207
|
-
**Detection:** Compare mock response schemas to actual tool output schemas.
|
|
208
|
-
|
|
209
|
-
**Fix:** Update mock data to match current API responses. Include realistic error responses in mocks.
|
|
210
|
-
|
|
211
|
-
## Multi-Agent System Issues
|
|
212
|
-
|
|
213
|
-
### Context Loss in Handoffs
|
|
214
|
-
|
|
215
|
-
> *Rule catalog: `CODED_MULTI_AGENT_CROSS_SCHEMA`, `CODED_MULTI_AGENT_HUMANMESSAGE_NAME`, `CODED_MULTI_AGENT_ROUTING_COHERENCE` cover the structural aspects at Step 2.5.*
|
|
216
|
-
|
|
217
|
-
**Symptom:** Information is lost when tasks are passed between agents. The receiving agent starts reasoning from a partial snapshot.
|
|
218
|
-
|
|
219
|
-
**Impact:** Downstream agents make incorrect decisions based on incomplete context. Per UC Berkeley's MAST taxonomy, inter-agent misalignment accounts for 36.9% of all multi-agent failures.
|
|
220
|
-
|
|
221
|
-
**Detection:** Review handoff points between agents. Check if structured schemas are used vs free-text handoffs.
|
|
222
|
-
|
|
223
|
-
**Fix:** Use JSON Schema-based structured outputs for inter-agent communication instead of natural language. Implement context summarization at handoff points. Pass only essential information with explicit schemas.
|
|
224
|
-
|
|
225
|
-
### Infinite Delegation Loops
|
|
226
|
-
|
|
227
|
-
> *Rule catalog: `CODED_SUB_AGENT_PROMPT_DUPLICATION`, `LC_TOOL_DELEGATION_DEPTH` partially cover the routing-confusion root cause. The runtime-loop detection itself remains manual.*
|
|
228
|
-
|
|
229
|
-
**Symptom:** Agents with slightly conflicting instructions bounce tasks back and forth without resolution (Agent A → Agent B → Agent A → ...).
|
|
230
|
-
|
|
231
|
-
**Impact:** Consumes tokens indefinitely, stalls workflows. No task completion.
|
|
232
|
-
|
|
233
|
-
**Detection:** Check for circular handoff conditions. Look for missing termination criteria in agent routing logic.
|
|
234
|
-
|
|
235
|
-
**Fix:** Add explicit guard conditions preventing circular delegation. Implement a maximum handoff count (circuit breaker). Ensure every agent knows when a task is complete.
|
|
236
|
-
|
|
237
|
-
### Reasoning-Action Mismatch
|
|
238
|
-
|
|
239
|
-
> *Rule catalog: `CODED_LLM_OUTPUT_UNVALIDATED` covers the output-validation gap that lets the mismatch slip through. The runtime mismatch detection itself remains manual.*
|
|
240
|
-
|
|
241
|
-
**Symptom:** Agent's stated reasoning doesn't match its actual actions. The agent says it will do X but does Y. Per MAST taxonomy, this is the second most common failure (13.2% of all failures).
|
|
242
|
-
|
|
243
|
-
**Impact:** Unpredictable behavior. Debug logs show correct reasoning but wrong tool calls.
|
|
244
|
-
|
|
245
|
-
**Detection:** Compare agent trace reasoning steps to actual tool invocations. Use trajectory evaluators to detect mismatches.
|
|
246
|
-
|
|
247
|
-
**Fix:** Use structured output for action planning. Add output validation that checks action matches stated intent. Use trajectory-based evaluation to catch this pattern.
|
|
248
|
-
|
|
249
|
-
## Cross-Cutting Issues
|
|
250
|
-
|
|
251
|
-
### Agent Not Versioned
|
|
252
|
-
|
|
253
|
-
**Symptom:** No versioning strategy — agent deployed by overwriting previous version.
|
|
254
|
-
|
|
255
|
-
**Impact:** Cannot roll back to a known-good version. Cannot A/B test changes. No audit trail of changes.
|
|
256
|
-
|
|
257
|
-
**Detection:** Check for version field in agent config. Check git history for tagging/branching strategy.
|
|
258
|
-
|
|
259
|
-
**Fix:** Use semantic versioning. Tag releases in git. Maintain changelog.
|
|
260
|
-
|
|
261
|
-
### No Observability
|
|
262
|
-
|
|
263
|
-
> *Rule catalog: `NO_TRACING`, `CODED_HELPER_TRACING`, `EVAL_TRAJECTORY_NEEDS_TRACE_SPANS` cover the tracing-decorator absence at Step 2.5. Dashboard / monitoring setup remains manual.*
|
|
264
|
-
|
|
265
|
-
**Symptom:** Agent deployed without tracing, logging, or monitoring.
|
|
266
|
-
|
|
267
|
-
**Impact:** No visibility into production behavior. Cannot diagnose failures or performance issues. Cannot identify drift.
|
|
268
|
-
|
|
269
|
-
**Detection:** Check for `@traced()` decorators (coded), check if tracing is enabled (low-code), check for monitoring dashboards.
|
|
270
|
-
|
|
271
|
-
**Fix:** Enable agent traces. Set up monitoring dashboards for key metrics (success rate, latency, token usage, tool call patterns). Review traces regularly.
|
|
272
|
-
|
|
273
|
-
## Tool and Guardrail Antipatterns
|
|
274
|
-
|
|
275
|
-
### Agent Deployed Without Tool Guardrails
|
|
276
|
-
|
|
277
|
-
> *Rule catalog: `LOWCODE_TOOL_GUARDRAIL_FIELD_MISSING`, `LC_FAILURE_IRREVERSIBLE_ACTION`, `LC_TOOL_DANGEROUS_COMBINATION` cover this at Step 2.5.*
|
|
278
|
-
|
|
279
|
-
**Symptom:** Agent deployed to production with write/delete/send tools but no guardrails configured.
|
|
280
|
-
|
|
281
|
-
**Impact:** Agent can invoke any tool with any arguments — no validation. Misinterpreted prompts trigger unintended destructive actions. UiPath docs recommend Block-type guardrails for sensitive data in production.
|
|
282
|
-
|
|
283
|
-
**Detection:** Check `guardrails` section in agent config. If absent or empty when the agent has destructive tools, flag.
|
|
284
|
-
|
|
285
|
-
**Fix:** Configure tool-level guardrails for destructive operations. Use Block-type for sensitive data. Add confirmation/escalation via Action Center for high-impact actions.
|
|
286
|
-
|
|
287
|
-
**Severity:** Critical (for agents with destructive tool capabilities)
|
|
288
|
-
|
|
289
|
-
### Vague Tool Descriptions
|
|
290
|
-
|
|
291
|
-
> *Rule catalog: `VAGUE_TOOL_DESCRIPTION` (≥20 chars required), `LC_TOOL_DESCRIPTION_MISLEADING` (description contradicts schema), `CODED_TOOL_DOCSTRING_QUALITY` (coded) cover this at Step 2.5.*
|
|
292
|
-
|
|
293
|
-
**Symptom:** Tool descriptions are generic ("Process invoice", "Update record") without specifying side effects, destructiveness, input/output format, or repeat-call behavior.
|
|
294
|
-
|
|
295
|
-
**Impact:** Agents select tools based on description matching. Vague = wrong-tool selection or wrong argument format.
|
|
296
|
-
|
|
297
|
-
**Detection:** Review tool descriptions. Flag descriptions under 50 characters or missing action-effect keywords ("creates", "deletes", "modifies", "sends", "permanent", "irreversible").
|
|
298
|
-
|
|
299
|
-
**Fix:** Rewrite descriptions to cover: what the tool does, what it affects, side effects, destructiveness, idempotency, when to use, when NOT to use.
|
|
300
|
-
|
|
301
|
-
**Severity:** Warning
|
|
302
|
-
|
|
303
|
-
### Destructive Tools Without Explicit Flags
|
|
304
|
-
|
|
305
|
-
> *Rule catalog: `LC_FAILURE_IRREVERSIBLE_ACTION`, `LC_TOOL_DANGEROUS_COMBINATION` cover the missing-confirmation aspect at Step 2.5.*
|
|
306
|
-
|
|
307
|
-
**Symptom:** Tools performing irreversible operations (delete, send email, approve, modify config) without explicit `destructive`/`write`/`irreversible` markers in the description.
|
|
308
|
-
|
|
309
|
-
**Impact:** Agent has no basis to add confirmation or escalate. May execute destructively on ambiguous input.
|
|
310
|
-
|
|
311
|
-
**Detection:** Tool descriptions containing "delete", "remove", "send", "approve", "update", "create" without explicit destructive markers.
|
|
312
|
-
|
|
313
|
-
**Fix:** Add explicit markers. Consider mandatory human-in-the-loop confirmation via Action Center for destructive tools.
|
|
314
|
-
|
|
315
|
-
**Severity:** Warning
|
|
316
|
-
|
|
317
|
-
### Context Grounding Missing for Domain-Specific Agents
|
|
318
|
-
|
|
319
|
-
> *Rule catalog: `LC_TOOL_RESPONSE_NOT_GROUNDED`, `LOWCODE_CONTEXT_NO_DESCRIPTION`, `LOWCODE_CONTEXT_INDEX_NAME_PLACEHOLDER` cover this at Step 2.5.*
|
|
320
|
-
|
|
321
|
-
**Symptom:** Agent handles domain-specific tasks (company procedures, product catalogs, policy documents) without Context Grounding / RAG configured.
|
|
322
|
-
|
|
323
|
-
**Impact:** Agent hallucinates — plausible but incorrect answers about company-specific processes. Context Grounding, when properly configured, returns "An answer could not be found" instead of hallucinating.
|
|
324
|
-
|
|
325
|
-
**Detection:** Check tenant for configured Context Grounding indexes. Compare system prompt against available knowledge sources. If the prompt references company-specific content not backed by a grounding source, flag.
|
|
326
|
-
|
|
327
|
-
**Fix:** Configure Context Grounding with relevant company documents. Reference the index in the system prompt. Tune retrieval threshold.
|
|
328
|
-
|
|
329
|
-
**Severity:** Warning
|
|
330
|
-
|
|
331
|
-
### Missing Output Interpretation Examples
|
|
332
|
-
|
|
333
|
-
> *Rule catalog: `LC_PROMPT_FEW_SHOT_MISSING`, `LC_PROMPT_OUTPUT_FORMAT` cover this at Step 2.5.*
|
|
334
|
-
|
|
335
|
-
**Symptom:** Agent has tools configured but system prompt has no examples showing how to interpret tool output (success/failure states, partial results, edge cases).
|
|
336
|
-
|
|
337
|
-
**Impact:** Agent misinterprets results. Example: API returns `{"status": "pending"}` → agent treats as success. UiPath docs state examples "significantly improve tool accuracy."
|
|
338
|
-
|
|
339
|
-
**Detection:** Count tools vs examples in system prompt. Each tool should have at least one usage example covering input format, expected output, edge-case interpretation.
|
|
340
|
-
|
|
341
|
-
**Fix:** Add per-tool examples in the system prompt with sample input, expected output shape, and edge-case interpretation guidance.
|
|
342
|
-
|
|
343
|
-
**Severity:** Info
|
|
344
|
-
|
|
345
|
-
## Trust and Output Validation Antipatterns
|
|
346
|
-
|
|
347
|
-
### Agent Output Missing Reasoning / Explanation Fields
|
|
348
|
-
|
|
349
|
-
> *Rule catalog: `LC_PROMPT_OUTPUT_FORMAT`, `LC_OUTPUT_CLASSIFIER_NO_ENUM`, `CODED_OUTPUT_ENUM_MISSING_ON_CLASSIFIER`, `CODED_SCHEMA_COMPLETENESS` partially cover the schema-design root cause.*
|
|
350
|
-
|
|
351
|
-
**Symptom:** Agent JSON output schema includes only the decision/result (e.g., `{"classification": "X"}`) with no `reasoning` / `explanation` / `why` field.
|
|
352
|
-
|
|
353
|
-
**Impact:** Production debugging becomes impossible. When the agent classifies wrong, there's no trace of what it considered. Audit reviewers cannot assess whether the agent's logic was sound. Hallucinations are invisible until they cause downstream damage.
|
|
354
|
-
|
|
355
|
-
**Detection:** Inspect agent output schema / response shape. Flag schemas that contain only terminal values (labels, booleans, IDs) without accompanying reasoning fields.
|
|
356
|
-
|
|
357
|
-
**Fix:** Add a `reasoning` / `explanation` / `citations` field to the output schema. Prompt the agent to explain its decision. Log the reasoning alongside the decision.
|
|
358
|
-
|
|
359
|
-
**Severity:** Warning
|
|
360
|
-
|
|
361
|
-
### Agent with Both Read and Write Side-Effects (Should Be Separated)
|
|
362
|
-
|
|
363
|
-
> *Rule catalog: `LC_TOOL_DANGEROUS_COMBINATION` covers this at Step 2.5 (assesses pairwise tool combinations).*
|
|
364
|
-
|
|
365
|
-
**Symptom:** Single agent has tools spanning both read/query operations and write/delete/send/modify operations. Design coupling: a misclassification can cause both wrong reads AND unintended writes.
|
|
366
|
-
|
|
367
|
-
**Impact:** Blast radius is the full tool set. Harder to audit, harder to sandbox. Read-only evaluations cannot exercise write paths; write-safe evaluations require mock infrastructure.
|
|
368
|
-
|
|
369
|
-
**Detection:** Review agent tool list. Categorize each tool as read or write. If both categories are present, flag unless the agent's explicit purpose requires coupled read-then-write behavior (and even then, consider whether an orchestrator should call read-agent first, then write-agent).
|
|
370
|
-
|
|
371
|
-
**Fix:** Split into two agents: a read/query/classifier agent that returns decisions, and a write/execute agent invoked by an orchestrator based on the first agent's output. Use Maestro or a Flow to sequence them.
|
|
372
|
-
|
|
373
|
-
**Severity:** Warning
|
|
374
|
-
|
|
375
|
-
### No Trust Score Threshold for Autonomous Actions
|
|
376
|
-
|
|
377
|
-
> *Rule catalog: `CODED_LLM_OUTPUT_UNVALIDATED`, `LC_OUTPUT_CLASSIFIER_NO_ENUM`, `LC_ESCALATION_OVERBROAD` partially cover the schema / escalation aspect. Threshold-based gating logic in the consuming workflow remains manual.*
|
|
378
|
-
|
|
379
|
-
**Symptom:** Agent output is consumed directly by downstream actions without a confidence / trust score check.
|
|
380
|
-
|
|
381
|
-
**Impact:** Low-confidence outputs trigger autonomous actions. Examples: "80% confidence this is fraud" → account automatically suspended. "60% confidence this invoice is approved" → auto-paid.
|
|
382
|
-
|
|
383
|
-
**Detection:** Check consuming workflow. After the agent returns, is there an `If confidence < threshold` branch that routes to human review?
|
|
384
|
-
|
|
385
|
-
**Fix:** Define a per-use-case confidence threshold. Below threshold → Action Center / human review / fallback logic. Above threshold → autonomous action.
|
|
386
|
-
|
|
387
|
-
**Severity:** Warning (Critical for financial / regulated / irreversible actions)
|
|
388
|
-
|
|
389
|
-
### No Escalation Path for UNCLEAR / Low-Confidence Results
|
|
390
|
-
|
|
391
|
-
> *Rule catalog: `LC_ESCALATION_OVERBROAD`, `LC_OUTPUT_CLASSIFIER_NO_ENUM`, `LC_FAILURE_IRREVERSIBLE_ACTION` partially cover the schema / escalation aspect. The consuming-workflow handling itself remains manual (lives outside the agent project).*
|
|
392
|
-
|
|
393
|
-
**Symptom:** Agent returns `"status": "UNCLEAR"` or low-confidence output, but the consuming workflow has no branch for this — falls through to error handling or default path.
|
|
394
|
-
|
|
395
|
-
**Impact:** Ambiguous cases get lost or silently mishandled. No human review for the cases that most need it.
|
|
396
|
-
|
|
397
|
-
**Detection:** Inspect consuming workflow's handling of agent output. Check for explicit branches on UNCLEAR / low-confidence / null results.
|
|
398
|
-
|
|
399
|
-
**Fix:** Add explicit branch: on UNCLEAR/low-confidence → Create Action Center task → wait for human decision → resume. Do not default to "process as Yes" or "process as No."
|
|
400
|
-
|
|
401
|
-
**Severity:** Warning
|