@uipath/skills 1.204.0-preview.1174 → 1.204.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/package.json +1 -1
- package/skills/uipath-planner/SKILL.md +1 -0
- package/skills/uipath-planner/assets/templates/bpmn-sdd-template.md +23 -1
- package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +24 -1
- package/skills/uipath-planner/references/business-rules-guide.md +84 -0
- package/skills/uipath-planner/references/pdd-analysis-guide.md +1 -0
- package/skills/uipath-planner/references/sdd-generation-guide.md +2 -2
- package/version-manifest.json +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uipath/skills",
|
|
3
|
-
"version": "1.204.0
|
|
3
|
+
"version": "1.204.0",
|
|
4
4
|
"description": "UiPath agent skills for Claude Code, Codex, Cursor, Copilot, Gemini and OpenCode — RPA, UI automation, UI testing, coded agents/apps/workflows, and troubleshooting. Distributed as the UiPath Claude Code plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "UiPath"
|
|
@@ -167,6 +167,7 @@ High-level view of what each specialist owns. **Do not describe internal flows o
|
|
|
167
167
|
| [Case Design Lane Guide](references/case/case-design-lane-guide.md) | The case design conversation — entry, tenant grounding, authoring policy, the one Case Review, and the write |
|
|
168
168
|
| [Case Design Layers Guide](references/case/case-design-layers-guide.md) | The case model and every design **Default** — skeleton (triggers, stages, the ten task types), gates (lifecycle rules, exits, sequencing, secondary lanes), data (variables, outputs, expressions), time (SLAs, escalations, responses), naming rules, and the closure checklist |
|
|
169
169
|
| [PDD Analysis Guide](references/pdd-analysis-guide.md) | How to extract structured data from PDDs in any format |
|
|
170
|
+
| [Business Rules Guide](references/business-rules-guide.md) | Validation vs decision vs reasoning rules; DMN-style decision tables; reasoning list. Load when filling RPA §4 or BPMN §5. |
|
|
170
171
|
| [Product Selection Guide](references/product-selection-guide.md) | **Constraint Gate** (delivery model + exclusions filter), **Level 1** (primary scope), **Level 1.75** (Solution composition), **Level 2.5 Part B** (cross-product project list merge), **Level 3** (capability add-ons), template mapping |
|
|
171
172
|
| [Platform Availability Guide](references/platform-availability-guide.md) | Product × delivery-model availability matrix (Cloud / Automation Suite / standalone), alternatives for blocked products, verification rule for uncertain cells. Load whenever the Constraint Gate runs — every delivery model: "Cloud is not uniform", variants (GovCloud / Dedicated / Test Cloud) and per-tenant entitlements can block products inside the Cloud column. |
|
|
172
173
|
| [RPA Product Guide](references/rpa-product-guide.md) | RPA **Level 1.5** (sub-type), **Level 2** (authoring mode), **Level 2.5 Part A** (RPA decomposition), R-07 naming, REFramework. Load when Level 1 = RPA or a Solution includes RPA. |
|
|
@@ -191,6 +191,28 @@ flowchart LR
|
|
|
191
191
|
|---|---|---|---|---|
|
|
192
192
|
| `<FLOW_KEY>` | `<SOURCE_NODE>` | `<TARGET_NODE>` | <EXPRESSION_OR_—> | <NOTES> |
|
|
193
193
|
|
|
194
|
+
### Decision Tables
|
|
195
|
+
|
|
196
|
+
<!-- references/business-rules-guide.md → Decision tables. Each decision runs in a businessRuleTask (§4); gateways route on its output. Validation rules go in §7. Empty: `None. No rule decides an outcome.` -->
|
|
197
|
+
|
|
198
|
+
#### D1 — <DECISION_NAME>
|
|
199
|
+
**Hit policy:** <UNIQUE / FIRST / COLLECT>
|
|
200
|
+
**Inputs:** `<INPUT_NAME>` (<string / number / boolean / date>), …
|
|
201
|
+
**Output:** `<OUTPUT_NAME>` (<TYPE_AND_ALLOWED_VALUES>)
|
|
202
|
+
**Runs in:** `<BUSINESS_RULE_TASK_NODE_KEY>`
|
|
203
|
+
|
|
204
|
+
| # | <INPUT_NAME> | <INPUT_NAME> | → <OUTPUT_NAME> | Rule |
|
|
205
|
+
|---|---|---|---|---|
|
|
206
|
+
| 1 | <ENTRY> | <ENTRY> | <OUTPUT> | <BR_ID> |
|
|
207
|
+
|
|
208
|
+
### Rules That Need Reasoning
|
|
209
|
+
|
|
210
|
+
<!-- references/business-rules-guide.md → Rules that need reasoning. Agent: a serviceTask hosting the agent. Person: a userTask, also in §9 HITL Touchpoints. Empty: `None. Every rule is deterministic.` -->
|
|
211
|
+
|
|
212
|
+
| ID | Rule | Applied by | Inputs → Output | Where it runs |
|
|
213
|
+
|---|---|---|---|---|
|
|
214
|
+
| <BR_ID> | <RULE> | <Agent / Person> | <INPUTS> → <OUTPUT> | `<NODE_KEY>` |
|
|
215
|
+
|
|
194
216
|
---
|
|
195
217
|
|
|
196
218
|
## 6. Events
|
|
@@ -207,7 +229,7 @@ flowchart LR
|
|
|
207
229
|
|
|
208
230
|
## 7. Data Objects & Variables
|
|
209
231
|
|
|
210
|
-
<!-- Process variables and data objects passed between nodes. -->
|
|
232
|
+
<!-- Process variables and data objects passed between nodes. A validation business rule (regex / range / type / allowed values) goes in Description, prefixed with its BR ID. -->
|
|
211
233
|
|
|
212
234
|
| Name | Direction | Type | Scope | Default | Description |
|
|
213
235
|
|---|---|---|---|---|---|
|
|
@@ -200,10 +200,33 @@ flowchart TD
|
|
|
200
200
|
> - **Allowed values** (enum-shaped) when the PDD lists a closed set (e.g., `{ "Approved", "Rejected", "Pending" }`)
|
|
201
201
|
> 4. **Tie BR rows to test oracles.** Every validation BR with a concrete example in §17 Canonical Test Case becomes a test assertion. Use the canonical input/output values from Phase 1 extraction — do NOT invent.
|
|
202
202
|
> 5. **Embedded rules count.** A PDD that says "the hash must be 40 lowercase hex chars" is a BR even though the PDD has no dedicated Business Rules section.
|
|
203
|
+
> 6. **Classify every rule before tabling it.** This table holds validation rules only; decision rules and reasoning rules fill the two subsections below. Classification, homes and the coverage check: [Business Rules Guide](../../references/business-rules-guide.md).
|
|
203
204
|
|
|
204
205
|
| ID | Rule Name | Description | Trigger Condition | Validation (regex / range / type / allowed values) | Affected Steps |
|
|
205
206
|
|---|---|---|---|---|---|
|
|
206
|
-
| BR-01 | <RULE_NAME> | <DESCRIPTION> | <WHEN_DOES_IT_APPLY> | <
|
|
207
|
+
| BR-01 | <RULE_NAME> | <DESCRIPTION> | <WHEN_DOES_IT_APPLY> | <REGEX_OR_RANGE_OR_TYPE_OR_ENUM> | <STEP_NUMBERS> |
|
|
208
|
+
|
|
209
|
+
### Decision Tables
|
|
210
|
+
|
|
211
|
+
<!-- references/business-rules-guide.md → Decision tables. Runs in: the step and its coded logic or lookup. Empty: `None. No rule decides an outcome.` -->
|
|
212
|
+
|
|
213
|
+
#### D1 — <DECISION_NAME>
|
|
214
|
+
**Hit policy:** <UNIQUE / FIRST / COLLECT>
|
|
215
|
+
**Inputs:** `<INPUT_NAME>` (<string / number / boolean / date>), …
|
|
216
|
+
**Output:** `<OUTPUT_NAME>` (<TYPE_AND_ALLOWED_VALUES>)
|
|
217
|
+
**Runs in:** <STEP_NUMBER_AND_LOGIC>
|
|
218
|
+
|
|
219
|
+
| # | <INPUT_NAME> | <INPUT_NAME> | → <OUTPUT_NAME> | Rule |
|
|
220
|
+
|---|---|---|---|---|
|
|
221
|
+
| 1 | <ENTRY> | <ENTRY> | <OUTPUT> | <BR_ID> |
|
|
222
|
+
|
|
223
|
+
### Rules That Need Reasoning
|
|
224
|
+
|
|
225
|
+
<!-- references/business-rules-guide.md → Rules that need reasoning. A person applies it through Action Center. Empty: `None. Every rule is deterministic.` -->
|
|
226
|
+
|
|
227
|
+
| ID | Rule | Applied by | Inputs → Output | Where it runs |
|
|
228
|
+
|---|---|---|---|---|
|
|
229
|
+
| <BR_ID> | <RULE> | <Agent / Person> | <INPUTS> → <OUTPUT> | <WHERE_IT_RUNS> |
|
|
207
230
|
|
|
208
231
|
---
|
|
209
232
|
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Business Rules Guide
|
|
2
|
+
|
|
3
|
+
Business rules in an SDD: validation rules, DMN-style decision tables, and rules that need reasoning.
|
|
4
|
+
|
|
5
|
+
## 1. Classify every rule
|
|
6
|
+
|
|
7
|
+
| Type | Test | Lands in |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| **Deterministic: validation** | Checks a value's form: regex, range, type, allowed values. | RPA §4 validation table; BPMN §7 Data Objects & Variables |
|
|
10
|
+
| **Deterministic: decision** | Explicit logic over structured data decides an outcome: thresholds, lists, lookups, dates, calculations. The same inputs always give the same output. | A decision table ([Decision tables](#2-decision-tables)) |
|
|
11
|
+
| **Reasoning: agent** | It takes interpretation or unstructured input (free text, a document, a judgment call), and an agent can apply it from its inputs. | The reasoning list ([Rules that need reasoning](#3-rules-that-need-reasoning)), applied by an agent |
|
|
12
|
+
| **Reasoning: person** | It needs a person's authority or accountability, or knowledge the inputs don't carry. | The reasoning list, applied by a person (HITL) |
|
|
13
|
+
|
|
14
|
+
- **Take the type from the PDD.** A PDD may type each rule in its Business Rules table (`Deterministic`, `Reasoning: agent`, `Reasoning: person`, possibly in the document's language) and give its inputs and output as `inputs → output`. Keep that type. Never move a `Reasoning: person` rule to an agent on your own: that is an `[SME REVIEW]` item.
|
|
15
|
+
- **Classify untyped rules with the test above.** When agent or person is unclear, choose person and raise an `[SME REVIEW]` item.
|
|
16
|
+
- **Extraction is a separate step.** A rule on an amount read from an email is still deterministic once the amount is extracted. The extraction (IXP, agent) is a step of its own; the rule is a decision table over its output.
|
|
17
|
+
- **One rule, one outcome.** Split a PDD rule that decides two things before tabling it. Tiers ("under 1,000 … up to 10,000 … above") are rows of one decision table.
|
|
18
|
+
|
|
19
|
+
## 2. Decision tables
|
|
20
|
+
|
|
21
|
+
One decision per output decided from the same inputs: one table, one row per rule or tier, numbered `D1`, `D2`, … Example:
|
|
22
|
+
|
|
23
|
+
```markdown
|
|
24
|
+
#### D1 — Approval route
|
|
25
|
+
**Hit policy:** UNIQUE
|
|
26
|
+
**Inputs:** `invoiceAmount` (number), `vendorStatus` (string: "new", "active", "blocked")
|
|
27
|
+
**Output:** `approvalRoute` (string: "auto", "manager", "director", "reject")
|
|
28
|
+
**Runs in:** <RUNS_IN>
|
|
29
|
+
|
|
30
|
+
| # | invoiceAmount | vendorStatus | → approvalRoute | Rule |
|
|
31
|
+
|---|---|---|---|---|
|
|
32
|
+
| 1 | - | "blocked" | "reject" | BR-02 |
|
|
33
|
+
| 2 | < 1000 | "active" | "auto" | BR-03 |
|
|
34
|
+
| 3 | [1000..10000) | not("blocked") | "manager" | BR-04 |
|
|
35
|
+
| 4 | >= 10000 | not("blocked") | "director" | BR-05 |
|
|
36
|
+
| 5 | < 1000 | "new" | "manager" | BR-06 |
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Cells (FEEL unary-test subset):
|
|
40
|
+
|
|
41
|
+
| Cell | Meaning |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `-` | Any value |
|
|
44
|
+
| `"active"`, `42`, `true` | Equals |
|
|
45
|
+
| `< 1000`, `>= 10000` | Comparison |
|
|
46
|
+
| `[1000..10000)` | Range; `[` `]` include the bound, `(` `)` exclude it |
|
|
47
|
+
| `"Gold", "Silver"` | Any of these |
|
|
48
|
+
| `not("blocked")` | Anything except these |
|
|
49
|
+
| `date("<CUTOFF_DATE>")`, `< date("<CUTOFF_DATE>")` | Dates, written ISO 8601 `YYYY-MM-DD` |
|
|
50
|
+
|
|
51
|
+
- **Types** are `string`, `number`, `boolean` or `date`. Name inputs and outputs in camelCase, as the solution's variables or arguments name them. A string input or output lists its allowed values.
|
|
52
|
+
- **Outputs** are literals, or a simple expression over the inputs (`invoiceAmount * 0.02`).
|
|
53
|
+
- **Hit policy.** `UNIQUE` (default): exactly one row matches any input, so rows must not overlap. `FIRST`: rows are checked in order and the first match wins; use it only when the order is the rule. `COLLECT`: every matching row applies, for example a list of checks.
|
|
54
|
+
- **Complete.** Aim for every combination of inputs to match a row. Under `UNIQUE`, cover the remaining combinations with rows of their own (`not(...)`, open ranges), because an all-`-` row would overlap every other row. A last all-`-` default row is valid only under `FIRST`, where order makes it the fallback.
|
|
55
|
+
- **Design intent, not proof.** Hit policy and completeness describe what the table must do. Do not certify a table overlap-free or complete by reading it: the build proves it (see Proof).
|
|
56
|
+
- **Traceable.** Every row cites its BR in `Rule`; a row that only completes the table cites `[DEFAULT]` or `[SME REVIEW]` instead. Every decision BR appears in at least one row.
|
|
57
|
+
- **Independent test cases.** Write one test case per row in the Testing Strategy (RPA §17; BPMN §13 Gateway / Branch Coverage). Take its inputs and expected output from a PDD example or an SME-confirmed value, never from the row itself: a case derived from the row passes even when the row is wrong. When neither source gives one, write the case with `[SME REVIEW]` in place of the expected output.
|
|
58
|
+
- **Proof.** The implementation task that hosts the decision (the BPMN or RPA task) lists its test cases in its `Validate` sub-step ([Plan and Tasks Format](plan-and-tasks-format.md)) and proves the table with tools. For a `.dmn` business rule: `uip rules validate <PROJECT_DIR> --output json`, then `uip rules debug <PROJECT_DIR> --inputs '<INPUTS_JSON>' --output json` once per test case. For coded logic in an RPA process: one unit test per test case. A failing case is a defect in the row or in the test case's source; resolve it with the SME, never by editing the expected output to match.
|
|
59
|
+
- **Runs in.** BPMN: the `businessRuleTask` node key; gateways route on its output. RPA: the step, and the coded logic or lookup that evaluates it. Placement: [Product Selection Guide → Per-task component placement](product-selection-guide.md#per-task-component-placement-the-to-be-per-step).
|
|
60
|
+
- **No decision rules:** write `None. No rule decides an outcome.`
|
|
61
|
+
|
|
62
|
+
## 3. Rules that need reasoning
|
|
63
|
+
|
|
64
|
+
List every `Reasoning` rule. Example:
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
| ID | Rule | Applied by | Inputs → Output | Where it runs |
|
|
68
|
+
|---|---|---|---|---|
|
|
69
|
+
| BR-07 | A refund request citing a defect qualifies when the description matches a known defect. | Agent | Request text, defect catalogue → qualifies (yes/no), reason | Agent `RefundTriage`, step 4; undecided → Action Center review |
|
|
70
|
+
| BR-08 | A write-off above the controller's limit needs the controller's approval. | Person | Write-off request, ledger extract → approved / rejected | Action Center task, Controller role, step 6 |
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
- **Applied by an agent:** give its output as a typed value. In `Where it runs`, name the path to a person when the agent can't decide.
|
|
74
|
+
- **Applied by a person:** in `Where it runs`, name the task and the role. In BPMN the task is a `userTask`, also listed in §9 HITL Touchpoints.
|
|
75
|
+
- **No reasoning rules:** write `None. Every rule is deterministic.` Don't leave the section out.
|
|
76
|
+
|
|
77
|
+
## 4. Coverage
|
|
78
|
+
|
|
79
|
+
Number BRs `BR-01`, `BR-02`, … across every home. A decision-table row or reasoning row is the rule's definition; no separate register repeats it. In BPMN, a validation rule goes in the variable's `Description` in §7, prefixed with its BR ID.
|
|
80
|
+
|
|
81
|
+
Before closing the section, run this mechanical check:
|
|
82
|
+
1. List the BR IDs extracted from the PDD.
|
|
83
|
+
2. List the BR IDs cited in each home from the [§1 table](#1-classify-every-rule). All decision-table rows together count as one home.
|
|
84
|
+
3. Every extracted ID appears in exactly one home list, and no home cites an ID the extraction lacks.
|
|
@@ -176,6 +176,7 @@ This is the most important section. For each step, extract:
|
|
|
176
176
|
|
|
177
177
|
Watch for:
|
|
178
178
|
- **Embedded business rules** — rules are often buried in the "Remarks" column or in step descriptions rather than in a dedicated section. Extract and number them (BR-01, BR-02, etc.).
|
|
179
|
+
- **Typed business rules** — a PDD Business Rules table may give each rule a type (`Deterministic`, `Reasoning: agent`, `Reasoning: person`, possibly in the document's language) and its `inputs → output`. Carry both into the SDD: they decide whether the rule becomes a decision table or a reasoning-list row ([Business Rules Guide](business-rules-guide.md)).
|
|
179
180
|
- **Data field references** — step descriptions mention specific field names, variable names, or data values. Collect these for the data model definitions.
|
|
180
181
|
- **Value mappings** — when a step says "map X to Y" or shows a conversion table, capture the full mapping.
|
|
181
182
|
- **Implicit ordering constraints** — some steps must happen before others but the PDD doesn't explicitly say so. Note these for the workflow decomposition.
|
|
@@ -291,7 +291,7 @@ The architectural core sections differ per template. For each product, generate
|
|
|
291
291
|
**Maestro BPMN:**
|
|
292
292
|
- §3 Pools & Lanes (participants / roles)
|
|
293
293
|
- §4 Activities Inventory (BPMN element type per activity)
|
|
294
|
-
- §5 Gateways & Sequence Flows (gateway type, branch conditions)
|
|
294
|
+
- §5 Gateways & Sequence Flows (gateway type, branch conditions, decision tables, reasoning list: [Business Rules Guide](business-rules-guide.md))
|
|
295
295
|
- §6 Events (start / intermediate / boundary / end; message / timer / error definitions)
|
|
296
296
|
- §7 Data Objects & Variables (direction, type, scope)
|
|
297
297
|
- §8 Subprocesses & Call Activities
|
|
@@ -405,7 +405,7 @@ Fill in all sections of the chosen template not covered in Phase 1 or Phase 2. S
|
|
|
405
405
|
**Phase 2 produces:** See Phase 2 Step 2 above (template-specific architectural core)
|
|
406
406
|
|
|
407
407
|
**Phase 3 produces:** All remaining sections — typically:
|
|
408
|
-
- Business Rules (RPA, Case)
|
|
408
|
+
- Business Rules (RPA, Case). RPA §4: [Business Rules Guide](business-rules-guide.md)
|
|
409
409
|
- Value Mappings (RPA)
|
|
410
410
|
- Exception / Error Handling (all)
|
|
411
411
|
- Credentials & Assets (RPA)
|
package/version-manifest.json
CHANGED