@uipath/skills 1.197.2 → 1.198.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CODEOWNERS +18 -11
- package/README.md +1 -0
- package/assets/skill-status.json +8 -0
- package/hooks/hooks.json +44 -8
- package/hooks/send-telemetry.ps1 +392 -0
- package/hooks/send-telemetry.sh +118 -86
- package/hooks/set-session-env.ps1 +72 -0
- package/hooks/set-session-env.sh +64 -0
- package/hooks/suggest-permissions.ps1 +45 -0
- package/hooks/suggest-permissions.sh +4 -0
- package/package.json +1 -1
- package/skills/uipath-admin/references/audit-commands.md +2 -2
- package/skills/uipath-admin/references/audit-workflow-guide.md +4 -4
- package/skills/uipath-agents/references/coded/capabilities/batch-transform/planning.md +1 -1
- package/skills/uipath-agents/references/coded/capabilities/deeprag/planning.md +1 -1
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -2
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +8 -4
- package/skills/uipath-agents/references/coded/embedding-in-flows.md +1 -1
- package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
- package/skills/uipath-agents/references/coded/lifecycle/build.md +0 -1
- package/skills/uipath-agents/references/coded/lifecycle/setup.md +0 -1
- package/skills/uipath-agents/references/coded/quickstart.md +1 -1
- package/skills/uipath-agents/references/lowcode/agent-definition.md +24 -5
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/batch-transform/planning.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/planning.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/attachments.md +1 -0
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +1 -0
- package/skills/uipath-api-workflow/references/cli-reference.md +1 -1
- package/skills/uipath-api-workflow/references/connector-activity-discovery.md +1 -1
- package/skills/uipath-api-workflow/references/troubleshooting.md +1 -1
- package/skills/uipath-automation-discovery/SKILL.md +26 -1
- package/skills/uipath-automation-discovery/assets/templates/estimation-worksheet-template.md +80 -0
- package/skills/uipath-automation-discovery/references/estimation-guide.md +104 -0
- package/skills/uipath-connector-builder/SKILL.md +6 -4
- package/skills/uipath-connector-builder/references/auth.md +137 -13
- package/skills/uipath-connector-builder/references/configuration.md +29 -7
- package/skills/uipath-connector-builder/references/debugging.md +1 -1
- package/skills/uipath-connector-builder/references/standard-resources.md +162 -13
- package/skills/uipath-feedback/SKILL.md +12 -6
- package/skills/uipath-governance/references/cli-cheatsheet.md +3 -3
- package/skills/uipath-governance/references/diagnose/references/failure-modes.md +5 -5
- package/skills/uipath-insights/SKILL.md +277 -0
- package/skills/uipath-insights/references/investigation-playbook-guide.md +145 -0
- package/skills/uipath-insights/references/jobs-commands-guide.md +144 -0
- package/skills/uipath-ixp/SKILL.md +6 -3
- package/skills/uipath-ixp/references/cli-reference.md +19 -4
- package/skills/uipath-maestro-bpmn/references/cli-conventions.md +2 -0
- package/skills/uipath-maestro-bpmn/validator/README.md +12 -2
- package/skills/uipath-maestro-case/SKILL.md +27 -13
- package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +37 -4
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +20 -9
- package/skills/uipath-maestro-case/assets/templates/sdd-viewer.html +8 -7
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -1
- package/skills/uipath-maestro-case/references/brownfield.md +86 -0
- package/skills/uipath-maestro-case/references/case-commands.md +8 -0
- package/skills/uipath-maestro-case/references/case-editing-operations.md +230 -21
- package/skills/uipath-maestro-case/references/case-schema.md +29 -11
- package/skills/uipath-maestro-case/references/connector-integration.md +1 -1
- package/skills/uipath-maestro-case/references/connector-trigger-common.md +1 -1
- package/skills/uipath-maestro-case/references/entry-points-sync.md +204 -0
- package/skills/uipath-maestro-case/references/implementation.md +19 -9
- package/skills/uipath-maestro-case/references/phase-0-interview.md +10 -8
- package/skills/uipath-maestro-case/references/phased-execution.md +11 -4
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +24 -2
- package/skills/uipath-maestro-case/references/planning.md +9 -3
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +11 -10
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +13 -14
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +91 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +87 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +2 -1
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +20 -10
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +9 -8
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +1 -1
- package/skills/uipath-maestro-case/references/registry-discovery.md +87 -10
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +34 -26
- package/skills/uipath-maestro-flow/SKILL.md +4 -1
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +1 -2
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +3 -3
- package/skills/uipath-maestro-flow/references/author/references/greenfield.md +4 -2
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -1
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +1 -0
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +7 -7
- package/skills/uipath-maestro-flow/references/author/references/plugins/ixp/impl.md +14 -14
- package/skills/uipath-maestro-flow/references/author/references/plugins/script/impl.md +10 -6
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +7 -0
- package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
- package/skills/uipath-mcp-servers/references/is-activity-workflow.md +3 -3
- package/skills/uipath-planner/SKILL.md +1 -1
- package/skills/uipath-platform/SKILL.md +4 -14
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +1 -1
- package/skills/uipath-platform/references/integration-service/agent-workflow.md +4 -4
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +1 -1
- package/skills/uipath-platform/references/integration-service/resources.md +5 -5
- package/skills/uipath-platform/references/integration-service/triggers.md +10 -9
- package/skills/uipath-platform/references/orchestrator/setup-environment.md +2 -0
- package/skills/uipath-review/SKILL.md +8 -4
- package/skills/uipath-review/references/agents/agent-review-checklist.md +1 -22
- package/skills/uipath-review/references/agents/agents-coded-rules.md +24 -7
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +0 -1
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +231 -0
- package/skills/uipath-review/references/rule-catalog-workflow.md +4 -2
- package/skills/uipath-rpa/SKILL.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/guides/data-service-filter-builder-guide.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Web.Activities/2.5/coded/coded-api.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Web.Activities/2.5/coded/curl-import.md +3 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Web.Activities/2.5/coded/http-request-upgrade.md +3 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Web.Activities/2.5/coded/service-discovery.md +2 -2
- package/skills/uipath-rpa/references/coded/coding-guidelines.md +1 -1
- package/skills/uipath-rpa/references/ui-automation-guide.md +7 -7
- package/skills/uipath-rpa/references/uia-configure-target-workflows.md +5 -5
- package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +19 -10
- package/skills/uipath-rpa/references/uia-prerequisites.md +7 -7
- package/skills/uipath-rpa/references/validation-guide.md +2 -2
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +4 -0
- package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +3 -1
- package/skills/uipath-rpa/references/xaml/csharp-expression-pitfalls.md +9 -4
- package/skills/uipath-rpa/references/xaml/workflow-guide.md +2 -2
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +1 -1
- package/skills/uipath-solution/SKILL.md +4 -4
- package/skills/uipath-solution/references/activate-and-manage.md +6 -1
- package/skills/uipath-solution/references/develop-solution.md +24 -5
- package/skills/uipath-solution/references/pack-and-deploy.md +5 -2
- package/skills/uipath-solution/references/scenarios/manual-edits.md +2 -2
- package/skills/uipath-solution/references/solution-overview.md +2 -2
- package/skills/uipath-troubleshoot/SKILL.md +3 -3
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/context-grounding-index-not-found.md +0 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/personal-automation-quota.md +1 -1
- package/version-manifest.json +3 -3
- package/hooks/ensure-uip.sh +0 -220
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/data-fabric/impl.md +0 -683
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/data-fabric/planning.md +0 -45
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: uipath-insights
|
|
3
|
+
description: "UiPath Insights job monitoring via `uip insights` — query job execution metrics, failure analysis, and process performance. Covers job KPIs, failure reasons, completion trends, process breakdowns. For Orchestrator job start/stop/logs→uipath-platform, root-cause analysis of specific errors→uipath-troubleshoot, RPA workflow authoring→uipath-rpa."
|
|
4
|
+
when_to_use: "User says 'job failures', 'automation health', 'job success rate', 'processing time', 'which processes fail the most', 'failure reasons', 'job trends', 'how many jobs ran', 'insights dashboard', 'job metrics', 'job KPIs', 'job performance', 'uncompleted jobs', 'pending jobs', 'faulted jobs', 'job timeline', 'process details'. Also 'uip insights', 'insights jobs'. NOT for starting/stopping jobs (uipath-platform), NOT for root-cause debugging of a specific job error (uipath-troubleshoot), NOT for queue metrics (not yet supported)."
|
|
5
|
+
allowed-tools: Bash, Read
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# UiPath Insights — Job Monitoring Agent Skill
|
|
9
|
+
|
|
10
|
+
Insights provides analytics and monitoring for UiPath automation execution. This skill covers **job monitoring** — querying aggregated job execution data for dashboards, health checks, and failure investigation.
|
|
11
|
+
|
|
12
|
+
All operations go through `uip insights jobs <subcommand> --output json`.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
|
|
18
|
+
- Checking overall automation health (how many jobs ran, how many succeeded)
|
|
19
|
+
- Investigating job failures (which processes fail most, what are the failure reasons)
|
|
20
|
+
- Monitoring job execution trends over time (completed/uncompleted timelines)
|
|
21
|
+
- Getting per-process performance breakdowns
|
|
22
|
+
- Drilling into specific failure details for investigation
|
|
23
|
+
|
|
24
|
+
> **Not in scope:** Starting, stopping, or managing individual jobs (use `uip or jobs` via uipath-platform). Root-cause debugging of a specific job's error (use uipath-troubleshoot). Queue item metrics, robot utilization, or dashboard CRUD (not yet available in CLI).
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Login & Tenant Setup
|
|
29
|
+
|
|
30
|
+
**Default to Production. Only switch environment/org/tenant when explicitly stated in the request.**
|
|
31
|
+
|
|
32
|
+
- If the request mentions no environment, use the current session (defaults to prod `cloud.uipath.com`)
|
|
33
|
+
- If the request explicitly names an environment/org/tenant, check `uip login status` and re-login if needed
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Check current environment, org, and tenant
|
|
37
|
+
uip login status --output json
|
|
38
|
+
|
|
39
|
+
# Login to a specific environment
|
|
40
|
+
uip login --authority https://alpha.uipath.com --tenant MyTenant
|
|
41
|
+
|
|
42
|
+
# Switch tenant within the same environment
|
|
43
|
+
uip login tenant set MyTenant
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Critical Rules
|
|
49
|
+
|
|
50
|
+
1. **A time range is always required.** Every `uip insights jobs` command needs either `--time-range <minutes>` (relative) or both `--started-after <epoch-ms>` and `--started-before <epoch-ms>` (absolute). Without one, the command fails. Common values:
|
|
51
|
+
- `--time-range 60` — last 1 hour
|
|
52
|
+
- `--time-range 1440` — last 24 hours
|
|
53
|
+
- `--time-range 10080` — last 7 days
|
|
54
|
+
- `--time-range 43200` — last 30 days
|
|
55
|
+
|
|
56
|
+
2. **Always use `--output json`.** All commands return a JSON envelope: `{ Result: "Success", Code: "<code>", Data: { ... } }`. Parse the `Data` field for the actual metrics.
|
|
57
|
+
|
|
58
|
+
3. **Filter options are repeatable.** `--folder-key`, `--process-name`, and `--machine-name` can be specified multiple times to filter by several values: `--process-name "ProcessA" --process-name "ProcessB"`.
|
|
59
|
+
|
|
60
|
+
4. **Empty data is normal.** If no jobs ran in the time window, the response will have `Data` with null/zero/empty fields. This is not an error.
|
|
61
|
+
|
|
62
|
+
5. **Start with summary, then drill down.** For any investigation, start with `summary` to get the big picture, then use specific subcommands to investigate areas of concern.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Command Reference
|
|
67
|
+
|
|
68
|
+
All commands share these filter options:
|
|
69
|
+
|
|
70
|
+
| Option | Description |
|
|
71
|
+
|--------|-------------|
|
|
72
|
+
| `--time-range <minutes>` | Relative time range in minutes |
|
|
73
|
+
| `--started-after <epoch-ms>` | Absolute start time (Unix epoch ms) |
|
|
74
|
+
| `--started-before <epoch-ms>` | Absolute end time (Unix epoch ms) |
|
|
75
|
+
| `--folder-key <guid>` | Filter by folder key (repeatable) |
|
|
76
|
+
| `--process-name <name>` | Filter by process name (repeatable) |
|
|
77
|
+
| `--machine-name <name>` | Filter by machine name (repeatable) |
|
|
78
|
+
| `--timezone-offset <minutes>` | Client timezone offset from UTC |
|
|
79
|
+
|
|
80
|
+
### summary
|
|
81
|
+
|
|
82
|
+
Get job KPIs: total count, successful count, and average processing time.
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
uip insights jobs summary --time-range 1440 --output json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Key Data fields:** `jobsCount`, `successfulJobsCount`, `averageProcessingTime`
|
|
89
|
+
|
|
90
|
+
**Use when:** User asks "how are my automations doing?" or "what's my job success rate?"
|
|
91
|
+
|
|
92
|
+
### completed-timeline
|
|
93
|
+
|
|
94
|
+
Get completed jobs over time, grouped by job state (successful, faulted, stopped, etc.).
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
uip insights jobs completed-timeline --time-range 1440 --output json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Key Data fields:** `jobState`, `jobCountByTime`, `timestamp`
|
|
101
|
+
|
|
102
|
+
**Use when:** User asks "show me job completion trends" or "when do most jobs run?"
|
|
103
|
+
|
|
104
|
+
### uncompleted-timeline
|
|
105
|
+
|
|
106
|
+
Get running and pending jobs over time.
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
uip insights jobs uncompleted-timeline --time-range 1440 --output json
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Key Data fields:** `jobState`, `jobCountByTime`, `timestamp`
|
|
113
|
+
|
|
114
|
+
**Use when:** User asks "are there stuck jobs?" or "how many jobs are still running?"
|
|
115
|
+
|
|
116
|
+
### top-failures
|
|
117
|
+
|
|
118
|
+
Get processes ranked by failure count.
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
uip insights jobs top-failures --time-range 43200 --output json
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Key Data fields:** `processName`, `jobCountByTime`
|
|
125
|
+
|
|
126
|
+
**Use when:** User asks "which processes fail the most?" or "what's causing failures?"
|
|
127
|
+
|
|
128
|
+
### failures-by-reason
|
|
129
|
+
|
|
130
|
+
Get job failures grouped by exception reason, with total job count for context.
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
uip insights jobs failures-by-reason --time-range 1440 --output json
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Key Data fields:** `processExceptionReason`, `processName`, `robotName`, `jobsCount`
|
|
137
|
+
|
|
138
|
+
**Use when:** User asks "why are jobs failing?" or "what are the common error messages?"
|
|
139
|
+
|
|
140
|
+
### process-details
|
|
141
|
+
|
|
142
|
+
Get per-process job breakdown with counts by state.
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
uip insights jobs process-details --time-range 1440 --output json
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Key Data fields:** `processName`, `jobAggregate`
|
|
149
|
+
|
|
150
|
+
**Use when:** User asks "show me per-process stats" or "which process has the most faulted jobs?"
|
|
151
|
+
|
|
152
|
+
### failure-details
|
|
153
|
+
|
|
154
|
+
Get detailed failure information for drill-down investigation.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
uip insights jobs failure-details --time-range 1440 --output json
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Key Data fields:** `processName`, `machineName`, `processExceptionReason`, `startTime`, `endTime`
|
|
161
|
+
|
|
162
|
+
**Use when:** User asks "show me the details of recent failures" or "which machines are failing?"
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Workflow: Investigate Job Health
|
|
167
|
+
|
|
168
|
+
Follow this pattern when a user asks about automation health or job failures:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# 1. Check login
|
|
172
|
+
uip login status --output json
|
|
173
|
+
|
|
174
|
+
# 2. Get the big picture — how many jobs ran? how many succeeded?
|
|
175
|
+
uip insights jobs summary --time-range 1440 --output json
|
|
176
|
+
|
|
177
|
+
# 3. If success rate is low, find which processes fail most
|
|
178
|
+
uip insights jobs top-failures --time-range 1440 --output json
|
|
179
|
+
|
|
180
|
+
# 4. Find out WHY they're failing
|
|
181
|
+
uip insights jobs failures-by-reason --time-range 1440 --output json
|
|
182
|
+
|
|
183
|
+
# 5. Drill into specific failure details
|
|
184
|
+
uip insights jobs failure-details --time-range 1440 --output json
|
|
185
|
+
|
|
186
|
+
# 6. For time-based trends, check timelines
|
|
187
|
+
uip insights jobs completed-timeline --time-range 10080 --output json
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Present findings clearly:** After gathering data, summarize for the user:
|
|
191
|
+
- Total jobs vs successful jobs (derive failure rate)
|
|
192
|
+
- Top failing processes by name
|
|
193
|
+
- Most common failure reasons
|
|
194
|
+
- Which machines are affected
|
|
195
|
+
- Whether failures are trending up or down
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Workflow: Filter by Folder or Process
|
|
200
|
+
|
|
201
|
+
When the user asks about a specific folder or process:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Filter by folder
|
|
205
|
+
uip insights jobs summary --time-range 1440 --folder-key "abc-123-def" --output json
|
|
206
|
+
|
|
207
|
+
# Filter by process name
|
|
208
|
+
uip insights jobs top-failures --time-range 43200 --process-name "Invoice_Processing" --output json
|
|
209
|
+
|
|
210
|
+
# Combine filters
|
|
211
|
+
uip insights jobs failures-by-reason --time-range 1440 \
|
|
212
|
+
--folder-key "abc-123-def" \
|
|
213
|
+
--process-name "Invoice_Processing" \
|
|
214
|
+
--output json
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
To discover available folder keys, use `uip or folders list --output json` (from the uipath-platform skill).
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Workflow: Absolute Time Range
|
|
222
|
+
|
|
223
|
+
When the user specifies an exact date range instead of "last N hours":
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# Convert dates to epoch milliseconds
|
|
227
|
+
# Example: 2026-07-01 00:00:00 UTC to 2026-07-06 00:00:00 UTC
|
|
228
|
+
uip insights jobs summary \
|
|
229
|
+
--started-after 1782691200000 \
|
|
230
|
+
--started-before 1783123200000 \
|
|
231
|
+
--output json
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Compute epoch milliseconds in bash:
|
|
235
|
+
```bash
|
|
236
|
+
# macOS
|
|
237
|
+
START=$(date -j -f "%Y-%m-%d" "2026-07-01" +%s)000
|
|
238
|
+
END=$(date -j -f "%Y-%m-%d" "2026-07-06" +%s)000
|
|
239
|
+
|
|
240
|
+
# Linux
|
|
241
|
+
START=$(date -d "2026-07-01" +%s)000
|
|
242
|
+
END=$(date -d "2026-07-06" +%s)000
|
|
243
|
+
|
|
244
|
+
uip insights jobs summary --started-after "$START" --started-before "$END" --output json
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Troubleshooting
|
|
250
|
+
|
|
251
|
+
| Error | Cause | Fix |
|
|
252
|
+
|-------|-------|-----|
|
|
253
|
+
| `Not logged in` | Auth expired | `uip login` |
|
|
254
|
+
| `time range is required` | Missing `--time-range` or `--started-after`/`--started-before` | Add `--time-range 1440` (or your preferred window) |
|
|
255
|
+
| `API request failed: 401` | Token doesn't have Insights access | Re-login; ensure the org has Insights enabled |
|
|
256
|
+
| `API request failed: 403` | User has no folder permissions | Check folder assignments in Orchestrator Admin |
|
|
257
|
+
| `API request failed: 500` | Server error (often missing time range on older deployments) | Ensure time range is provided in the request body |
|
|
258
|
+
| All Data fields are null/zero | No jobs ran in the given time window | Widen the `--time-range` (try 43200 for 30 days) |
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## What NOT to Do
|
|
263
|
+
|
|
264
|
+
- **Don't call `uip insights jobs` without a time range.** The server returns a 500 with a misleading success-shaped response. Always pass `--time-range` or `--started-after`/`--started-before`.
|
|
265
|
+
- **Don't start, stop, or manage individual jobs.** This skill is for monitoring and analytics only. Use `uip or jobs start/stop` via uipath-platform to manage jobs.
|
|
266
|
+
- **Don't construct raw API calls to the Insights endpoint.** The CLI handles auth headers (`X-UiPath-Internal-AccountName`, `X-UiPath-Internal-TenantName`), URL construction, and error handling. Hand-rolling `curl` or `fetch` calls will miss these.
|
|
267
|
+
- **Don't retry on auth errors.** If `uip insights jobs` returns 401 or "Not logged in", the fix is `uip login`, not retrying the same command.
|
|
268
|
+
- **Don't use this skill for root-cause debugging.** "Why did job X fail with error Y?" is a troubleshooting question — hand off to uipath-troubleshoot. This skill answers "which processes fail the most and what are the common reasons."
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## References
|
|
273
|
+
|
|
274
|
+
For deeper guidance, read these files only when needed:
|
|
275
|
+
|
|
276
|
+
- [`references/jobs-commands-guide.md`](references/jobs-commands-guide.md) — Full command reference with all options, response shapes, and example outputs
|
|
277
|
+
- [`references/investigation-playbook-guide.md`](references/investigation-playbook-guide.md) — Step-by-step playbooks for common investigation scenarios
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Insights — Investigation Playbooks
|
|
2
|
+
|
|
3
|
+
Step-by-step playbooks for common job monitoring scenarios. Each playbook shows the exact commands to run and how to interpret the results.
|
|
4
|
+
|
|
5
|
+
## Playbook 1: "How healthy are my automations?"
|
|
6
|
+
|
|
7
|
+
User asks about overall automation health, success rates, or general status.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Step 1: Get the summary KPIs
|
|
11
|
+
uip insights jobs summary --time-range 1440 --output json
|
|
12
|
+
|
|
13
|
+
# Step 2: Interpret the results
|
|
14
|
+
# - jobsCount: total jobs in the time window
|
|
15
|
+
# - successfulJobsCount: jobs that completed successfully
|
|
16
|
+
# - averageProcessingTime: mean execution time in seconds
|
|
17
|
+
#
|
|
18
|
+
# Failure rate = (jobsCount - successfulJobsCount) / jobsCount * 100
|
|
19
|
+
#
|
|
20
|
+
# Thresholds (rules of thumb):
|
|
21
|
+
# < 5% failure rate → healthy
|
|
22
|
+
# 5-15% failure rate → needs attention
|
|
23
|
+
# > 15% failure rate → investigate immediately
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
If the failure rate is concerning, move to Playbook 2.
|
|
27
|
+
|
|
28
|
+
## Playbook 2: "Which processes are failing?"
|
|
29
|
+
|
|
30
|
+
User wants to know what's breaking.
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Step 1: Get processes ranked by failure count (use 30 days for a broader view)
|
|
34
|
+
uip insights jobs top-failures --time-range 43200 --output json
|
|
35
|
+
|
|
36
|
+
# Step 2: Get the failure reasons
|
|
37
|
+
uip insights jobs failures-by-reason --time-range 43200 --output json
|
|
38
|
+
|
|
39
|
+
# Step 3: Present findings as a table:
|
|
40
|
+
# | Process Name | Failure Count | Top Reason |
|
|
41
|
+
# |---|---|---|
|
|
42
|
+
# | Invoice_Processing | 23 | ApplicationException: File not found |
|
|
43
|
+
# | Email_Parser | 15 | TimeoutException: SMTP server unreachable |
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Playbook 3: "Why did this specific process fail?"
|
|
47
|
+
|
|
48
|
+
User asks about failures in a specific process.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Step 1: Filter failures to that process
|
|
52
|
+
uip insights jobs failures-by-reason --time-range 1440 \
|
|
53
|
+
--process-name "Invoice_Processing" --output json
|
|
54
|
+
|
|
55
|
+
# Step 2: Get detailed failure info (machine, timestamps, error messages)
|
|
56
|
+
uip insights jobs failure-details --time-range 1440 \
|
|
57
|
+
--process-name "Invoice_Processing" --output json
|
|
58
|
+
|
|
59
|
+
# Step 3: Check if it's a recent regression with the timeline
|
|
60
|
+
uip insights jobs completed-timeline --time-range 10080 \
|
|
61
|
+
--process-name "Invoice_Processing" --output json
|
|
62
|
+
|
|
63
|
+
# Step 4: Present findings:
|
|
64
|
+
# - Most common error reason
|
|
65
|
+
# - Which machines are affected
|
|
66
|
+
# - When failures started (trend direction)
|
|
67
|
+
# - Recommended next steps
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Playbook 4: "Are there stuck or long-running jobs?"
|
|
71
|
+
|
|
72
|
+
User asks about jobs that haven't completed.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Step 1: Check uncompleted jobs
|
|
76
|
+
uip insights jobs uncompleted-timeline --time-range 1440 --output json
|
|
77
|
+
|
|
78
|
+
# Step 2: Get the summary to compare completed vs uncompleted
|
|
79
|
+
uip insights jobs summary --time-range 1440 --output json
|
|
80
|
+
|
|
81
|
+
# Step 3: If many uncompleted, check per-process breakdown
|
|
82
|
+
uip insights jobs process-details --time-range 1440 --output json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Playbook 5: "Compare this week vs last week"
|
|
86
|
+
|
|
87
|
+
User wants to see if things are getting better or worse.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# This week (last 7 days)
|
|
91
|
+
uip insights jobs summary --time-range 10080 --output json
|
|
92
|
+
|
|
93
|
+
# For last week, use absolute timestamps
|
|
94
|
+
# Calculate: last Monday to this Monday in epoch ms
|
|
95
|
+
uip insights jobs summary \
|
|
96
|
+
--started-after <last-monday-epoch-ms> \
|
|
97
|
+
--started-before <this-monday-epoch-ms> \
|
|
98
|
+
--output json
|
|
99
|
+
|
|
100
|
+
# Compare jobsCount, successfulJobsCount, and averageProcessingTime
|
|
101
|
+
# between the two results
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Playbook 6: "Show me jobs for a specific folder"
|
|
105
|
+
|
|
106
|
+
User asks about a specific Orchestrator folder.
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Step 1: Find the folder key (requires uipath-platform)
|
|
110
|
+
uip or folders list --output json
|
|
111
|
+
# Look for the folder's Key (GUID) in the output
|
|
112
|
+
|
|
113
|
+
# Step 2: Query insights with folder filter
|
|
114
|
+
uip insights jobs summary --time-range 1440 \
|
|
115
|
+
--folder-key "abc-123-def" --output json
|
|
116
|
+
|
|
117
|
+
uip insights jobs top-failures --time-range 1440 \
|
|
118
|
+
--folder-key "abc-123-def" --output json
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Interpreting Array Data
|
|
122
|
+
|
|
123
|
+
Several endpoints return parallel arrays. The same index across arrays corresponds to the same entity:
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"processName": ["ProcessA", "ProcessB", "ProcessC"],
|
|
128
|
+
"jobCountByTime": [[10, 5, 2]]
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
This means:
|
|
133
|
+
- ProcessA had 10 failures
|
|
134
|
+
- ProcessB had 5 failures
|
|
135
|
+
- ProcessC had 2 failures
|
|
136
|
+
|
|
137
|
+
## When to Hand Off to Other Skills
|
|
138
|
+
|
|
139
|
+
| Situation | Hand off to |
|
|
140
|
+
|---|---|
|
|
141
|
+
| User wants to start/stop/restart a specific job | `uipath-platform` (`uip or jobs start`) |
|
|
142
|
+
| User wants to read the logs of a failed job | `uipath-platform` (`uip or jobs logs`) |
|
|
143
|
+
| User wants to debug why a specific job error happened | `uipath-troubleshoot` |
|
|
144
|
+
| User wants to find a folder key to filter by | `uipath-platform` (`uip or folders list`) |
|
|
145
|
+
| User wants to fix the code that's causing failures | `uipath-rpa` or `uipath-agents` |
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Insights Jobs — Command Reference
|
|
2
|
+
|
|
3
|
+
Complete reference for `uip insights jobs` subcommands with response shapes and examples.
|
|
4
|
+
|
|
5
|
+
## Shared Options
|
|
6
|
+
|
|
7
|
+
Every subcommand accepts these filter options:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
--time-range <minutes> Relative time range (e.g. 1440 = 24h, 43200 = 30d)
|
|
11
|
+
--started-after <epoch-ms> Absolute start time as Unix epoch milliseconds
|
|
12
|
+
--started-before <epoch-ms> Absolute end time as Unix epoch milliseconds
|
|
13
|
+
--folder-key <guid> Folder key filter (repeatable)
|
|
14
|
+
--process-name <name> Process name filter (repeatable)
|
|
15
|
+
--machine-name <name> Machine name filter (repeatable)
|
|
16
|
+
--timezone-offset <minutes> Client timezone offset from UTC
|
|
17
|
+
--output <format> Output format: json, yaml, table (always use json)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Time range rule:** Either `--time-range` OR both `--started-after` and `--started-before` must be provided. Omitting both causes a validation error.
|
|
21
|
+
|
|
22
|
+
**Repeatable options:** `--folder-key`, `--process-name`, and `--machine-name` can be specified multiple times:
|
|
23
|
+
```bash
|
|
24
|
+
uip insights jobs summary --time-range 1440 \
|
|
25
|
+
--process-name "ProcessA" \
|
|
26
|
+
--process-name "ProcessB" \
|
|
27
|
+
--output json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Response Envelope
|
|
31
|
+
|
|
32
|
+
All commands return:
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"Result": "Success",
|
|
36
|
+
"Code": "<CommandCode>",
|
|
37
|
+
"Data": { ... }
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
On error:
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"Result": "Failure",
|
|
45
|
+
"Message": "<error description>",
|
|
46
|
+
"Instructions": "<how to fix>",
|
|
47
|
+
"ErrorCode": "unknown_error"
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Response Data Shape
|
|
52
|
+
|
|
53
|
+
All endpoints return the same `JobsResponse` shape. Fields are populated or null depending on the endpoint:
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
interface JobsResponse {
|
|
57
|
+
jobState: string[] | null;
|
|
58
|
+
robotName: string[] | null;
|
|
59
|
+
processName: string[] | null;
|
|
60
|
+
jobCount: number[] | null;
|
|
61
|
+
jobCountByTime: number[][] | null;
|
|
62
|
+
folderName: string[] | null;
|
|
63
|
+
folderKey: string[] | null;
|
|
64
|
+
machineName: string[] | null;
|
|
65
|
+
hostMachineName: string[] | null;
|
|
66
|
+
machineKey: string[] | null;
|
|
67
|
+
machineStatus: string[] | null;
|
|
68
|
+
timestamp: string[] | null;
|
|
69
|
+
processExceptionType: string[] | null;
|
|
70
|
+
processExceptionReason: string[] | null;
|
|
71
|
+
startTime: string[] | null;
|
|
72
|
+
endTime: string[] | null;
|
|
73
|
+
utilizationTime: string[] | null;
|
|
74
|
+
duration: number[] | null;
|
|
75
|
+
successRate: number[] | null;
|
|
76
|
+
averageProcessingTime: number | null;
|
|
77
|
+
jobsCount: number | null;
|
|
78
|
+
successfulJobsCount: number | null;
|
|
79
|
+
jobAggregate: number[][] | null;
|
|
80
|
+
creationTime: string[] | null;
|
|
81
|
+
folderId: string[] | null;
|
|
82
|
+
jobKey: string[] | null;
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Per-Endpoint Key Fields
|
|
87
|
+
|
|
88
|
+
| Endpoint | Code | Key Data Fields |
|
|
89
|
+
|----------|------|-----------------|
|
|
90
|
+
| `summary` | `InsightsJobsSummary` | `jobsCount`, `successfulJobsCount`, `averageProcessingTime` |
|
|
91
|
+
| `completed-timeline` | `InsightsJobsCompletedTimeline` | `jobState`, `jobCountByTime`, `timestamp` |
|
|
92
|
+
| `uncompleted-timeline` | `InsightsJobsUncompletedTimeline` | `jobState`, `jobCountByTime`, `timestamp` |
|
|
93
|
+
| `top-failures` | `InsightsJobsTopFailures` | `processName`, `jobCountByTime` |
|
|
94
|
+
| `failures-by-reason` | `InsightsJobsFailuresByReason` | `processExceptionReason`, `processName`, `robotName`, `jobsCount` |
|
|
95
|
+
| `process-details` | `InsightsJobsProcessDetails` | `processName`, `jobAggregate` |
|
|
96
|
+
| `failure-details` | `InsightsJobsFailureDetails` | `processName`, `machineName`, `processExceptionReason`, `startTime`, `endTime` |
|
|
97
|
+
|
|
98
|
+
## Example: Summary
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
$ uip insights jobs summary --time-range 1440 --output json
|
|
102
|
+
{
|
|
103
|
+
"Result": "Success",
|
|
104
|
+
"Code": "InsightsJobsSummary",
|
|
105
|
+
"Data": {
|
|
106
|
+
"jobsCount": 142,
|
|
107
|
+
"successfulJobsCount": 135,
|
|
108
|
+
"averageProcessingTime": 45.7,
|
|
109
|
+
"jobState": null,
|
|
110
|
+
"processName": null,
|
|
111
|
+
...
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Deriving metrics:
|
|
117
|
+
- **Failure rate:** `(jobsCount - successfulJobsCount) / jobsCount * 100`
|
|
118
|
+
- **Success rate:** `successfulJobsCount / jobsCount * 100`
|
|
119
|
+
|
|
120
|
+
## Example: Top Failures with Filter
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
$ uip insights jobs top-failures --time-range 43200 \
|
|
124
|
+
--folder-key "a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
|
|
125
|
+
--output json
|
|
126
|
+
{
|
|
127
|
+
"Result": "Success",
|
|
128
|
+
"Code": "InsightsJobsTopFailures",
|
|
129
|
+
"Data": {
|
|
130
|
+
"processName": ["Invoice_Processing", "Email_Parser", "Data_Upload"],
|
|
131
|
+
"jobCountByTime": [[23, 15, 8]],
|
|
132
|
+
...
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
The `processName` array and `jobCountByTime[0]` array are parallel — index 0 of both corresponds to the same process.
|
|
138
|
+
|
|
139
|
+
## API Details
|
|
140
|
+
|
|
141
|
+
- **Base URL:** `{host}/{orgId}/{tenantName}/insightsrtm_/api/v1.0/InsightsJobs/{endpoint}`
|
|
142
|
+
- **Method:** POST (all endpoints)
|
|
143
|
+
- **Auth:** Bearer token + `X-UiPath-Internal-AccountName` + `X-UiPath-Internal-TenantName` headers
|
|
144
|
+
- **The CLI handles all of this.** Do not construct raw API calls — use `uip insights jobs <subcommand>`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: uipath-ixp
|
|
3
|
-
description: "UiPath IXP (Document Understanding) via `uip ixp` — create projects (with autopilot taxonomy suggestion, an imported taxonomy file, or empty), upload/download/delete documents, author the taxonomy (field groups, fields, data types, per-field and overall extraction instructions), configure the extraction model and pre-processing, review/confirm/unconfirm predictions, mark fields missing, pull metrics and model versions, publish/tag/roll back model versions.
|
|
3
|
+
description: "UiPath IXP (Document Understanding) via `uip ixp` — create projects (with autopilot taxonomy suggestion, an imported taxonomy file, or empty), upload/download/delete documents, author the taxonomy (field groups, fields, data types, per-field and overall extraction instructions), configure the extraction model and pre-processing, review/confirm/unconfirm predictions, mark fields missing, pull metrics and model versions, publish/tag/roll back model versions. DO NOT TRIGGER during .flow / Maestro Flow work — discovering or listing IxP / document-extraction models, extractors, or nodes available to Maestro Flow, and adding or wiring an IxP node, belong to uipath-maestro-flow even when they sound like IXP model management."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# UiPath IXP Document Extraction Assistant
|
|
@@ -50,6 +50,8 @@ Do not answer these from this skill. Re-activate `uipath-maestro-flow` and follo
|
|
|
50
50
|
13. **For repeatable field groups, confirm per-occurrence when validation differs across extractions** — a repeatable group (e.g. `Line Items`) produces one extraction per physical line/section. Plain `confirm --fields <id>` confirms `<id>` in **every** occurrence, so if only some lines are correct it confirms the wrong ones too. Each label in `get-predictions` carries an explicit 0-based `Occurrence` (repeated same-named labels appear in document order); if all occurrences are correct use the plain form, otherwise target with `--group`. `--group <name> --occurrence <N>` confirms **ONE** occurrence; `--group <name> --updates '[...]'` confirms **SEVERAL** in one atomic call (avoids N round-trips) — `--occurrence <N>` ≡ a single-entry `--updates`, same per-occurrence logic. `--group` must be the FULL label path from the `Name` field (e.g. `"Invoice > Line Items"`), not the leaf. Without `--fields`, every predicted field in the occurrence is confirmed; with it, only those. Occurrences not selected keep their existing annotation. Flag details: [CLI Reference](references/cli-reference.md#labellings).
|
|
51
51
|
14. **`confirm` is additive — it never un-confirms.** The labelling endpoint is full-replacement, so `confirm`/`mark-missing` carry every existing annotation forward: `--occurrence 0` on an already-labelled table yields "row 0 confirmed AND everything previously confirmed stays confirmed" — NOT "only row 0". To roll back a confirmation, use `unconfirm` (see the task-navigation table).
|
|
52
52
|
15. **F1 reflects confirmed labels, not document truth — never blind-confirm.** F1/`ProjectScore` measure prediction-vs-confirmed-label agreement, so a wrong value you confirm becomes the "right" answer and scores 1.00. A perfect score is **not** evidence the values are correct. Before confirming, sanity-check each value against the document. The per-document no-`--fields` form (confirm all predicted fields on one document) is fine once you've reviewed them all; never run `confirm` without a document-id — that confirms every document at once, bypassing review. See [Label Documents Guide](references/label-documents-guide.md) §2c.
|
|
53
|
+
16. **Ambiguous entity reference → ask, never guess.** Projects (Titles), field groups, fields, and data types share one namespace in user speech ("rename subscriptions"). Before any mutation (`update-title`, `rename`, `delete`, `change-type`), resolve which entity KIND the user means. If the name matches more than one kind — in the user's own context or in `projects list` / taxonomy output — STOP and ask which one (project / group / field / data type). Do NOT pick one, and do NOT mutate several candidates "to cover all cases". When the user can't be asked interactively, surface the question through whatever channel the task provides and stop.
|
|
54
|
+
17. **Reuse the built-in data types before adding new ones.** Every IXP project ships with default data types — `Exact Text`, `Inferred Text`, `Number`, `Date`, `Monetary Quantity`, `Boolean` (the project's `entity_defs` from `projects get-taxonomy` are the authoritative list). Before `data-types add` or picking a field's `--type`, reuse a matching default — e.g. `Monetary Quantity` for a currency amount, never a hand-rolled clone (`Currency Amount`). Add a new type only when no default covers it: a project-specific `Choice`, or a concept needing its own tailored extraction instructions. Never add one just to reformat — the pre-trained defaults keep their fixed output format regardless of instructions. Mapping: [CLI Reference § Default data types](references/cli-reference.md#default-data-types).
|
|
53
55
|
|
|
54
56
|
## Quick Start
|
|
55
57
|
|
|
@@ -68,7 +70,7 @@ If the user provides a taxonomy file, use `--skip-taxonomy` and `import-taxonomy
|
|
|
68
70
|
| "Import this taxonomy" / provides a taxonomy file | [Project Setup Guide](references/project-setup-guide.md) — Option B (`--skip-taxonomy` + `import-taxonomy`) |
|
|
69
71
|
| "Label documents" / "Review predictions" | [Label Documents Guide](references/label-documents-guide.md) |
|
|
70
72
|
| "Improve scores" / "Fix prompts" / "Improve F1" | [Improve Prompts Guide](references/improve-prompts-guide.md) |
|
|
71
|
-
| "Publish the model" / "Tag as live" | `uip ixp projects publish <project-name> --output json` — publishes the latest version, untagged. Add `--tag <live\|staging>` to also tag it. See [cli-reference](references/cli-reference.md) for `--model-version`/`--description`. |
|
|
73
|
+
| "Publish the model" / "Tag as live" | `uip ixp projects publish <project-name> --output json` — publishes the latest version, untagged. Add `--tag <live\|staging>` to also tag it. See [cli-reference](references/cli-reference.md) for `--model-version`/`--description`. **Publishing does not deploy the model to an Orchestrator folder** — folder/environment binding is a product-side step with no `uip ixp` (or other CLI) equivalent, so publishing is the last step this skill performs. Don't chain a folder deployment onto it, deploy locally, or improvise another path. Only when the user explicitly asks to deploy to a folder/environment do you hand that back to them (it's done in-product) — see the "Deploy this model" row under [Unsupported Capabilities](#unsupported-capabilities). Deploying to a folder is what makes the model available to downstream consumers such as Maestro Flow. |
|
|
72
74
|
| "Roll back to a previous version" / "Restore version N" | `uip ixp projects publish <project-name> --model-version <N> --output json` — re-publishes an earlier version. Get available versions from `uip ixp projects list-models <project-name> --output json`. |
|
|
73
75
|
| "Unpublish a model" / "Take a model out of production" | `uip ixp projects unpublish <project-name> --model-version <N> --output json` — removes a version from the published set (it stays trained/listable). `--model-version` is required; find published versions via `list-models` (`Pinned: true`). To change which version is live, `publish` a different one instead. |
|
|
74
76
|
| "Remove the live/staging tag" / "Untag a version" | `uip ixp projects untag <project-name> --tag <live\|staging> --output json` — removes the named tag (the version it pointed at stays published). **`untag` is the only way to remove a tag** — do NOT `unpublish` or re-`publish` to clear it (`unpublish` removes publication, not the tag; `publish` without `--tag` leaves the existing tag untouched). To switch `live`→`staging`, `publish --tag staging` instead. |
|
|
@@ -79,8 +81,9 @@ If the user provides a taxonomy file, use `--skip-taxonomy` and `import-taxonomy
|
|
|
79
81
|
| "Upload a document" / "Add documents to an existing project" | `uip ixp documents upload <project-name> <file> --output json` — see [CLI Reference § Uploading documents](references/cli-reference.md#uploading-documents-to-an-existing-project). One file per call; loop for multiple. For brand-new projects use `projects create` instead. |
|
|
80
82
|
| "Delete a document" / "Remove a document" | `uip ixp documents delete <project-name> <document-id> -y --output json` — irreversible, triggers retrain. `-y/--yes` is required (the CLI never prompts). To delete by filename, look up the `DocumentId` via `documents list` (the `Filename` field shows the original upload name). |
|
|
81
83
|
| "Add / delete / rename a field group" | `uip ixp groups {add,delete,rename} <project-name> --name <name> ... --output json` — see [CLI Reference § Groups](references/cli-reference.md#groups). `groups add` requires `--instructions` and `--fields '<json>'` — pass **all** of the new group's fields in that one `--fields` array (batch); do NOT create the group then add fields one at a time (use `fields add` only for an already-existing group). `delete` requires `-y/--yes` (the CLI never prompts). |
|
|
82
|
-
| "Add / edit / rename / delete a data type" | `uip ixp data-types {add,update-instructions,rename,delete} <project-name> --name <name> ... --output json` — see [CLI Reference § Data Types](references/cli-reference.md#data-types). `add` requires `--kind` (text/date/money/number/boolean/choice) and `--instructions`. `--input-value` (exact-match/inferred) is required only for `--kind text` and `--kind choice`; the other kinds don't have this property and the CLI rejects the flag for them. `delete` requires `-y/--yes` (the CLI never prompts); deleting a data type breaks any field referencing it. |
|
|
84
|
+
| "Add / edit / rename / delete a data type" | `uip ixp data-types {add,update-instructions,rename,delete} <project-name> --name <name> ... --output json` — see [CLI Reference § Data Types](references/cli-reference.md#data-types). `add` requires `--kind` (text/date/money/number/boolean/choice) and `--instructions`. `--input-value` (exact-match/inferred) is required only for `--kind text` and `--kind choice`; the other kinds don't have this property and the CLI rejects the flag for them. `delete` requires `-y/--yes` (the CLI never prompts); deleting a data type breaks any field referencing it. **Reuse a default data type before adding a custom one (Critical Rule 17)** — most needs map to a built-in (e.g. currency → `Monetary Quantity`). |
|
|
83
85
|
| "Add / delete / rename / retype a field" | `uip ixp fields {add,delete,rename,change-type} <project-name> --group <name> --field <name> ... --output json` — see [CLI Reference § Fields](references/cli-reference.md#fields). `delete` requires `-y/--yes`; `change-type` deletes annotations and also requires `-y/--yes`. |
|
|
86
|
+
| "Fix an OCR-garbled value" / "Confirm with a correction" | `uip ixp labellings confirm <project-name> <document-id> --fields <ids> --corrections '[{"field_id":"<id>","value":"<fixed>"}]' --output json` — confirms the listed fields and records the corrected value for the garbled one (include the corrected field's id in `--fields`). **`--corrections` is only for OCR garble** — the prediction is already the right answer in the right location, merely misread (e.g. `MSIÓÓÓ601020/` → `MSI0601020`); never use it to flip a wrong prediction, that field stays unannotated (Critical Rule 8). For one occurrence of a repeatable group add `--group <name> --occurrence <N>`; in the batched `--group <name> --updates '[…]'` form each entry takes `"corrections": {"<field_id>": "<value>"}` (an object keyed by field id, not the flat array). See [CLI Reference](references/cli-reference.md#labellings). |
|
|
84
87
|
| "Mark a field as missing for a document" | `uip ixp labellings mark-missing <project-name> <document-id> --fields <ids> --output json` — marks the listed fields missing; use when a field is genuinely absent and IXP predicted no value for it. Listing the field in `labellings confirm --fields` records the same missing marker when the field appears in predictions with an empty value. **Only mark a field missing if IXP also predicted nothing for it** — never to override a wrong prediction. See Critical Rule 12. |
|
|
85
88
|
| "Undo / unconfirm a wrong confirmation" | `uip ixp labellings unconfirm <project-name> <document-id> --fields <ids> --output json` — rolls back an earlier `confirm` or `mark-missing` for the listed fields (`confirm` can't un-confirm — Critical Rule 14). Every other annotation on the document is carried forward. With `--fields` alone, a field id shared across occurrences of a repeatable group is removed from **all** of them; to roll back specific occurrences, add `--group` with `--occurrence <N>` or `--updates '[…]'` (mirrors `confirm` — see the row below and Critical Rule 14). |
|
|
86
89
|
| "Confirm one line item / extraction" / "Confirm only this occurrence" | `uip ixp labellings confirm <project-name> <document-id> --group <name> --occurrence <N> [--fields <ids>] --output json` — targets one specific extraction of a repeatable field group (0-based index). Without `--fields`, confirms every predicted field in that occurrence; with `--fields`, only those. Other occurrences untouched. For confirming multiple occurrences in one call, use `--updates '[…]'` instead. See Critical Rule 13. |
|