From ac555ea5e067ee68085602444256cbfdcc76a8e5 Mon Sep 17 00:00:00 2001 From: Dan Munteanu Date: Sat, 5 Sep 2026 12:22:59 +0300 Subject: [PATCH 1/7] fix(uipath-rpa): make the report turn one message and chain the output check into the gate --- skills/uipath-rpa/SKILL.md | 2 +- .../references/execution-maps-guide.md | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/skills/uipath-rpa/SKILL.md b/skills/uipath-rpa/SKILL.md index f6255e1f09..2c6a98a347 100644 --- a/skills/uipath-rpa/SKILL.md +++ b/skills/uipath-rpa/SKILL.md @@ -292,7 +292,7 @@ UIA references live in two locations. Always cite by location so the reader know 3. If unchecked boxes remain because a Stop condition was hit, name the exact stop-condition item in the report. 4. If the plan is fully checked off, or execution autonomy is `interactive`, proceed to the report format below. -Then, if the harness provides persistent memory, save validated patterns per [execution-maps-guide.md § Cross-session memory](references/execution-maps-guide.md#cross-session-memory) before reporting. +Then, if the harness provides persistent memory, save the patterns that [execution-maps-guide.md § Cross-session memory](references/execution-maps-guide.md#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) — as parallel `Write`s in the same message as the report and the context files, never as their own turns. The journey map's report row fixes this shape: the output check rides in the gate chain, the report message carries the context-file writes, the memory writes and the text below, and nothing runs after it. When you finish a task, report to the user: 1. **What was done** — files created, edited, or deleted (list file paths) diff --git a/skills/uipath-rpa/references/execution-maps-guide.md b/skills/uipath-rpa/references/execution-maps-guide.md index 8ea80ec8e6..f3e809e539 100644 --- a/skills/uipath-rpa/references/execution-maps-guide.md +++ b/skills/uipath-rpa/references/execution-maps-guide.md @@ -14,7 +14,7 @@ One dense file, read once per build. Fixes which tool calls go in which assistan ## Gate ≠ runtime proof -A clean `validate` + `build` does NOT prove runtime behavior. Known silent failures pass BOTH: `InvokeCode` `Code` in child/CDATA form no-ops, `WriteTextFile` with explicit `Encoding` emits a BOM, a stripped UIA `N*` `Version` fails only at runtime ([xaml/common-pitfalls.md](xaml/common-pitfalls.md)). When the deliverable has observable outputs (files written, entry-point out-arguments) and runs without external systems or UI, the gate turn ends with ONE `uip rpa run --skip-build` and the report turn checks the actual outputs — see the T3/T4 rows below. +A clean `validate` + `build` does NOT prove runtime behavior. Known silent failures pass BOTH: `InvokeCode` `Code` in child/CDATA form no-ops, `WriteTextFile` with explicit `Encoding` emits a BOM, a stripped UIA `N*` `Version` fails only at runtime ([xaml/common-pitfalls.md](xaml/common-pitfalls.md)). When the deliverable has observable outputs (files written, entry-point out-arguments) and runs without external systems or UI, the gate chain ends with ONE `uip rpa run --skip-build` followed by a `cat` of every output file, and the report turn judges what that chain printed — see the T3/T4 rows below. Neither the run nor the output check is its own turn. ## Sequential gates — never batch across these @@ -31,8 +31,8 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Scaffold + context** | ONE `Bash` chain: `uip rpa init --name "" --location "" --template-id BlankTemplate --expression-language --target-framework --output json` (Rule 2a — both flags explicit) `&&` `uip rpa analyzer-rules list --project-dir "" --output json` `&&` one `uip rpa packages versions --package-id --include-prerelease --project-dir "" --output json` per request-known package ∥ parallel `Read` — ALL THREE, never a subset (skipping the pattern card re-opens per-activity discovery): [common-activity-card.md](common-activity-card.md), [common-pattern-card.md](common-pattern-card.md), [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22) ∥ memory recall (harness has memory) ∥ Rule 21 `activities find` fan-out for off-card activities | | **T2 — Author + install** | Design fork FIRST for row-processing tasks: complex bulk row processing (per-row parse + validate + branch + accumulate) escalates to code per [data-manipulation-guide.md § Code vs activity chains](data-manipulation-guide.md) — the pattern card's `ForEach` shapes cover only the simple one-`If`/`Switch` case. Then: one `Write` per workflow file — complete, all activities (Rule 18) ∥ `Read` `project.json` (anchors for the T2/T3 edits; skip re-reading scaffolded `Main.xaml` — the `Write` replaces it) ∥ `Edit` `project.json` (`fileInfoCollection` for test cases, Rule 10; `dependencies` stays CLI-owned via `packages install`) ∥ ONE `Bash`: `uip rpa packages install` for all needed packages at the T1-chosen versions — flag shape per [cli-reference.md § packages install](cli-reference.md#packages-install); it drifts across CLI builds, so on `Invalid packages input` re-check `uip rpa packages install --help` ∥ Rule 21 doc `Read`s + `get-default-xaml` for off-card activities | -| **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --skip-build` on the entry point (§ Gate ≠ runtime proof). `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | -| **T4 — Report** | Check the T3 run's actual outputs against the request (files, out-arguments) BEFORE reporting — wrong/empty output with a clean gate is a silent-failure signature (§ Failure exits) + § Completion Output + write `project-context.md`/`AGENTS.md` + memory save ([§ Cross-session memory](#cross-session-memory)) | +| **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --skip-build` on the entry point with the verdict `--output-filter` ([cli-reference.md § Capturing the verdict](cli-reference.md#capturing-the-verdict)) `&&` `cat` of every file the workflow was asked to write (§ Gate ≠ runtime proof). The output check is a link of this chain, never its own turn. `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | +| **T4 — Report** | ONE message, no shell calls. Judge the T3 chain's verdict fields and its `cat` output against the request — wrong/empty output with a clean gate is a silent-failure signature (§ Failure exits) — then emit in this same message, as parallel tool calls: `Write` `.claude/rules/project-context.md` ∥ `Write` `AGENTS.md` (content and marker contract: [environment-setup.md § Project Context Discovery](environment-setup.md) step 3 — first line ``, the same block in `AGENTS.md` between `` / ``; you created every file it describes, so no `Read`/`Grep` of any reference or project file precedes these writes) ∥ every memory `Write` that [§ Cross-session memory](#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) ∥ the § Completion Output text. Nothing runs after the report | - **T1 is ONE message — `init` plus every read.** Both cards, [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22 two-step) and the matching [xaml/common-pitfalls.md](xaml/common-pitfalls.md) sections are all T1 reads: batch their `Grep`s in this turn and their `Read`s in the next. `init` reads none of them, so it never waits on a read, and common-pitfalls is a T1 read — not a post-authoring one. Open no other reference before T2, `environment-setup.md` included. - First chain call pays the cold Helm restore (30–90 s) — the chain hides it behind one turn; do not split to "check progress". @@ -47,8 +47,8 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Context** | SKILL.md § Precondition context check — the skip gate first, then the discovery subagent, which writes `project-context.md` + `AGENTS.md` itself ([environment-setup.md § Project Context Discovery](environment-setup.md)) ∥ `Read` `project.json` + target `.xaml` + cards ∥ ONE `Bash`: `analyzer-rules list --project-dir "" --output json` ∥ memory recall ∥ off-card `activities find` fan-out | | **T2 — Edit** | Batched `Edit`s (anchor each on its own target block — same-file Edits serialize; overlapping anchors fail) ∥ `packages install` `Bash` if new dependencies | -| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` per § Gate ≠ runtime proof | -| **T4 — Report** | Output check (if T3 ran) + § Completion Output + memory save | +| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` with the verdict `--output-filter` `&&` `cat` of every output file, per § Gate ≠ runtime proof | +| **T4 — Report** | ONE message, no shell calls: judge the T3 verdict and `cat` output + § Completion Output + qualifying memory `Write`s as parallel calls. Context files were written by the discovery agent in T1 — do not rewrite them; if the skip gate tripped instead, write both here exactly as the greenfield T4 does | ## Journey: Greenfield coded @@ -58,8 +58,8 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Scaffold + context** | ONE `Bash` chain: `init` (flags as XAML journey) `&&` `analyzer-rules list` `&&` `packages versions` per known package ∥ `Read` [assets/codedworkflow-template.md](../assets/codedworkflow-template.md) + [coded/operations-guide.md § Coding Guidelines](coded/operations-guide.md#coding-guidelines) ∥ memory recall | | **T2 — Author + install** | `Write` each `.cs` (Rules 13–19) ∥ `Read` `project.json` ∥ `Edit` `project.json` (`entryPoints` Rule 15, `fileInfoCollection` Rule 10) ∥ `packages install` `Bash` ∥ `Read` `.local/docs/packages//coded/coded-api.md` for installed services | -| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` per § Gate ≠ runtime proof | -| **T4 — Report** | Output check (if T3 ran) + § Completion Output + memory save | +| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` with the verdict `--output-filter` `&&` `cat` of every output file, per § Gate ≠ runtime proof | +| **T4 — Report** | ONE message, no shell calls — same shape as the greenfield XAML T4: judge the T3 verdict and `cat` output, then `Write` both context files ∥ qualifying memory `Write`s ∥ § Completion Output, all in this message | ## Journey: Brownfield coded edit @@ -75,7 +75,7 @@ Budget shape: **~3 fixed turns + ~3 turns per capture-screen + 2-turn debug cycl | **Per capture-screen** | (a) capture bundle — run the `uia-configure-target` flow for ALL of this screen's checklist elements in one pass, through OR registration; (b) ONE state advance via the interact CLI — only to reach the next screen, never to test behavior | | **T-author — after ALL screens captured** | Scaffold/authoring prerequisites (Capture-First Fast Path order) ∥ batch-author every screen's activities in one pass (Rule 18), embed path for OR target attachment | | **T-gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` | -| **Debug cycle (consent-gated, [uia-starter-guide.md § Running UI Automation Workflows](uia-starter-guide.md))** | ONE `Bash` chain: window baseline `&&` `debug start` `&&` `execution cancel` `&&` re-list windows; next turn: diff, close stray windows via the interact CLI, report | +| **Debug cycle (consent-gated, [uia-starter-guide.md § Running UI Automation Workflows](uia-starter-guide.md))** | ONE `Bash` chain: window baseline `&&` `debug start` with the verdict `--output-filter` `&&` `execution cancel` `&&` re-list windows; next turn: diff, close stray windows via the interact CLI (one `Bash`), and in that same message the report — context files, qualifying memory `Write`s and § Completion Output as parallel calls, as in the greenfield T4. The verdict is read from the chain's filtered envelope; never redirect it to a file and parse it in extra turns | - Default is author-once-after-capture — all OR refs are already in conversation. Fall back to per-screen authoring interleave only on long captures (5+ screens) where context pressure is real; the `validate`/`build` gate still runs ONCE at the end either way. - Screens after the first (same window): carry the OR screen reference from the previous capture into the next `uia-configure-target` invocation — it skips the OR screen lookup. Invocation shape and argument: the package's `uia-configure-target` invocation guide (routed from the package guide § Documentation). @@ -100,12 +100,12 @@ Harness-conditional: engage only when the harness provides persistent memory; ot **Recall — T1 of every journey.** Match saved entries by activity class + package `major.minor`. Hit ⇒ that activity skips the Rule 21 triple. `validate`/`build` still gate. -**Save — after project `build` is clean (T4).** Save only: +**Save — after project `build` is clean (T4).** Emit every qualifying save as a parallel `Write` inside the report message — never one memory file per turn, never a separate turn for the memory index. **A first-try clean gate on card-covered activities qualifies nothing — skip the save entirely.** Save only: 1. Validated XAML snippet per off-card activity — key: activity class + package `major.minor` + date. 2. Error→root-cause→fix triples that cost >1 validate attempt. 3. Cross-version package gotchas. -**Never save:** project-specific facts (paths, asset names, connections — belong in `project-context.md`), UIA selectors/targets/OR references (per-app), UIA CLI syntax (package-owned, co-versioned), secrets. Process-level UIA lessons (e.g., a failure mode and its fix direction) MAY be saved. +**Never save:** project-specific facts (paths, asset names, connections — belong in `project-context.md`), UIA selectors/targets/OR references (per-app), UIA CLI syntax (package-owned, co-versioned), `uip rpa` flag shapes and run/debug payload fields ([cli-reference.md](cli-reference.md) owns them — a gap there is a `/uipath-feedback` report, not a memory), secrets. Process-level UIA lessons (e.g., a failure mode and its fix direction) MAY be saved. **Expiry:** recalled snippet fails validation → delete/overwrite that entry, fall back to Rule 21 triple. From a266e5c3382f7a66556c586c4d59fe8adb3ebe55 Mon Sep 17 00:00:00 2001 From: Dan Munteanu Date: Sat, 5 Sep 2026 13:18:26 +0300 Subject: [PATCH 2/7] fix(uipath-rpa): state the report-turn contract directly, without narrating the map --- skills/uipath-rpa/SKILL.md | 2 +- skills/uipath-rpa/references/execution-maps-guide.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/skills/uipath-rpa/SKILL.md b/skills/uipath-rpa/SKILL.md index 2c6a98a347..cb4f2a0203 100644 --- a/skills/uipath-rpa/SKILL.md +++ b/skills/uipath-rpa/SKILL.md @@ -292,7 +292,7 @@ UIA references live in two locations. Always cite by location so the reader know 3. If unchecked boxes remain because a Stop condition was hit, name the exact stop-condition item in the report. 4. If the plan is fully checked off, or execution autonomy is `interactive`, proceed to the report format below. -Then, if the harness provides persistent memory, save the patterns that [execution-maps-guide.md § Cross-session memory](references/execution-maps-guide.md#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) — as parallel `Write`s in the same message as the report and the context files, never as their own turns. The journey map's report row fixes this shape: the output check rides in the gate chain, the report message carries the context-file writes, the memory writes and the text below, and nothing runs after it. +Then, if the harness provides persistent memory, save the patterns that [execution-maps-guide.md § Cross-session memory](references/execution-maps-guide.md#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) — as parallel `Write`s in the same message as the report and the context files, never as their own turns. The output check is a link of the gate chain; the report is one message carrying the context-file writes, the memory writes and the text below; nothing runs after it. When you finish a task, report to the user: 1. **What was done** — files created, edited, or deleted (list file paths) diff --git a/skills/uipath-rpa/references/execution-maps-guide.md b/skills/uipath-rpa/references/execution-maps-guide.md index f3e809e539..40b435b8b1 100644 --- a/skills/uipath-rpa/references/execution-maps-guide.md +++ b/skills/uipath-rpa/references/execution-maps-guide.md @@ -32,7 +32,7 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se | **T1 — Scaffold + context** | ONE `Bash` chain: `uip rpa init --name "" --location "" --template-id BlankTemplate --expression-language --target-framework --output json` (Rule 2a — both flags explicit) `&&` `uip rpa analyzer-rules list --project-dir "" --output json` `&&` one `uip rpa packages versions --package-id --include-prerelease --project-dir "" --output json` per request-known package ∥ parallel `Read` — ALL THREE, never a subset (skipping the pattern card re-opens per-activity discovery): [common-activity-card.md](common-activity-card.md), [common-pattern-card.md](common-pattern-card.md), [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22) ∥ memory recall (harness has memory) ∥ Rule 21 `activities find` fan-out for off-card activities | | **T2 — Author + install** | Design fork FIRST for row-processing tasks: complex bulk row processing (per-row parse + validate + branch + accumulate) escalates to code per [data-manipulation-guide.md § Code vs activity chains](data-manipulation-guide.md) — the pattern card's `ForEach` shapes cover only the simple one-`If`/`Switch` case. Then: one `Write` per workflow file — complete, all activities (Rule 18) ∥ `Read` `project.json` (anchors for the T2/T3 edits; skip re-reading scaffolded `Main.xaml` — the `Write` replaces it) ∥ `Edit` `project.json` (`fileInfoCollection` for test cases, Rule 10; `dependencies` stays CLI-owned via `packages install`) ∥ ONE `Bash`: `uip rpa packages install` for all needed packages at the T1-chosen versions — flag shape per [cli-reference.md § packages install](cli-reference.md#packages-install); it drifts across CLI builds, so on `Invalid packages input` re-check `uip rpa packages install --help` ∥ Rule 21 doc `Read`s + `get-default-xaml` for off-card activities | | **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --skip-build` on the entry point with the verdict `--output-filter` ([cli-reference.md § Capturing the verdict](cli-reference.md#capturing-the-verdict)) `&&` `cat` of every file the workflow was asked to write (§ Gate ≠ runtime proof). The output check is a link of this chain, never its own turn. `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | -| **T4 — Report** | ONE message, no shell calls. Judge the T3 chain's verdict fields and its `cat` output against the request — wrong/empty output with a clean gate is a silent-failure signature (§ Failure exits) — then emit in this same message, as parallel tool calls: `Write` `.claude/rules/project-context.md` ∥ `Write` `AGENTS.md` (content and marker contract: [environment-setup.md § Project Context Discovery](environment-setup.md) step 3 — first line ``, the same block in `AGENTS.md` between `` / ``; you created every file it describes, so no `Read`/`Grep` of any reference or project file precedes these writes) ∥ every memory `Write` that [§ Cross-session memory](#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) ∥ the § Completion Output text. Nothing runs after the report | +| **T4 — Report** | ONE message, no shell calls. Judge the T3 chain's verdict fields and its `cat` output against the request — wrong/empty output with a clean gate is a silent-failure signature (§ Failure exits) — then emit in this same message, as parallel tool calls: `Write` `.claude/rules/project-context.md` ∥ `Write` `AGENTS.md` (paths, metadata line and markers per [environment-setup.md § Project Context Discovery](environment-setup.md) step 3: first line ``; `AGENTS.md` carries the same block between `` / ``; no `Read`/`Grep` precedes these writes) ∥ every memory `Write` that [§ Cross-session memory](#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) ∥ the § Completion Output text. Nothing runs after the report | - **T1 is ONE message — `init` plus every read.** Both cards, [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22 two-step) and the matching [xaml/common-pitfalls.md](xaml/common-pitfalls.md) sections are all T1 reads: batch their `Grep`s in this turn and their `Read`s in the next. `init` reads none of them, so it never waits on a read, and common-pitfalls is a T1 read — not a post-authoring one. Open no other reference before T2, `environment-setup.md` included. - First chain call pays the cold Helm restore (30–90 s) — the chain hides it behind one turn; do not split to "check progress". From 3cbd54aa2f60db10294ca03e59e973f200fa3bd6 Mon Sep 17 00:00:00 2001 From: Dan Munteanu Date: Sat, 5 Sep 2026 13:43:21 +0300 Subject: [PATCH 3/7] fix(uipath-rpa): gate rows run without --output-filter; the envelope is the verdict --- skills/uipath-rpa/references/execution-maps-guide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/skills/uipath-rpa/references/execution-maps-guide.md b/skills/uipath-rpa/references/execution-maps-guide.md index 40b435b8b1..b55004ca18 100644 --- a/skills/uipath-rpa/references/execution-maps-guide.md +++ b/skills/uipath-rpa/references/execution-maps-guide.md @@ -31,7 +31,7 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Scaffold + context** | ONE `Bash` chain: `uip rpa init --name "" --location "" --template-id BlankTemplate --expression-language --target-framework --output json` (Rule 2a — both flags explicit) `&&` `uip rpa analyzer-rules list --project-dir "" --output json` `&&` one `uip rpa packages versions --package-id --include-prerelease --project-dir "" --output json` per request-known package ∥ parallel `Read` — ALL THREE, never a subset (skipping the pattern card re-opens per-activity discovery): [common-activity-card.md](common-activity-card.md), [common-pattern-card.md](common-pattern-card.md), [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22) ∥ memory recall (harness has memory) ∥ Rule 21 `activities find` fan-out for off-card activities | | **T2 — Author + install** | Design fork FIRST for row-processing tasks: complex bulk row processing (per-row parse + validate + branch + accumulate) escalates to code per [data-manipulation-guide.md § Code vs activity chains](data-manipulation-guide.md) — the pattern card's `ForEach` shapes cover only the simple one-`If`/`Switch` case. Then: one `Write` per workflow file — complete, all activities (Rule 18) ∥ `Read` `project.json` (anchors for the T2/T3 edits; skip re-reading scaffolded `Main.xaml` — the `Write` replaces it) ∥ `Edit` `project.json` (`fileInfoCollection` for test cases, Rule 10; `dependencies` stays CLI-owned via `packages install`) ∥ ONE `Bash`: `uip rpa packages install` for all needed packages at the T1-chosen versions — flag shape per [cli-reference.md § packages install](cli-reference.md#packages-install); it drifts across CLI builds, so on `Invalid packages input` re-check `uip rpa packages install --help` ∥ Rule 21 doc `Read`s + `get-default-xaml` for off-card activities | -| **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --skip-build` on the entry point with the verdict `--output-filter` ([cli-reference.md § Capturing the verdict](cli-reference.md#capturing-the-verdict)) `&&` `cat` of every file the workflow was asked to write (§ Gate ≠ runtime proof). The output check is a link of this chain, never its own turn. `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | +| **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --skip-build` on the entry point (no `--output-filter` — Rule 8a) `&&` `cat` of every file the workflow was asked to write (§ Gate ≠ runtime proof). The output check is a link of this chain, never its own turn. `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | | **T4 — Report** | ONE message, no shell calls. Judge the T3 chain's verdict fields and its `cat` output against the request — wrong/empty output with a clean gate is a silent-failure signature (§ Failure exits) — then emit in this same message, as parallel tool calls: `Write` `.claude/rules/project-context.md` ∥ `Write` `AGENTS.md` (paths, metadata line and markers per [environment-setup.md § Project Context Discovery](environment-setup.md) step 3: first line ``; `AGENTS.md` carries the same block between `` / ``; no `Read`/`Grep` precedes these writes) ∥ every memory `Write` that [§ Cross-session memory](#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) ∥ the § Completion Output text. Nothing runs after the report | - **T1 is ONE message — `init` plus every read.** Both cards, [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22 two-step) and the matching [xaml/common-pitfalls.md](xaml/common-pitfalls.md) sections are all T1 reads: batch their `Grep`s in this turn and their `Read`s in the next. `init` reads none of them, so it never waits on a read, and common-pitfalls is a T1 read — not a post-authoring one. Open no other reference before T2, `environment-setup.md` included. @@ -47,7 +47,7 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Context** | SKILL.md § Precondition context check — the skip gate first, then the discovery subagent, which writes `project-context.md` + `AGENTS.md` itself ([environment-setup.md § Project Context Discovery](environment-setup.md)) ∥ `Read` `project.json` + target `.xaml` + cards ∥ ONE `Bash`: `analyzer-rules list --project-dir "" --output json` ∥ memory recall ∥ off-card `activities find` fan-out | | **T2 — Edit** | Batched `Edit`s (anchor each on its own target block — same-file Edits serialize; overlapping anchors fail) ∥ `packages install` `Bash` if new dependencies | -| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` with the verdict `--output-filter` `&&` `cat` of every output file, per § Gate ≠ runtime proof | +| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` `&&` `cat` of every output file, per § Gate ≠ runtime proof | | **T4 — Report** | ONE message, no shell calls: judge the T3 verdict and `cat` output + § Completion Output + qualifying memory `Write`s as parallel calls. Context files were written by the discovery agent in T1 — do not rewrite them; if the skip gate tripped instead, write both here exactly as the greenfield T4 does | ## Journey: Greenfield coded @@ -58,7 +58,7 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Scaffold + context** | ONE `Bash` chain: `init` (flags as XAML journey) `&&` `analyzer-rules list` `&&` `packages versions` per known package ∥ `Read` [assets/codedworkflow-template.md](../assets/codedworkflow-template.md) + [coded/operations-guide.md § Coding Guidelines](coded/operations-guide.md#coding-guidelines) ∥ memory recall | | **T2 — Author + install** | `Write` each `.cs` (Rules 13–19) ∥ `Read` `project.json` ∥ `Edit` `project.json` (`entryPoints` Rule 15, `fileInfoCollection` Rule 10) ∥ `packages install` `Bash` ∥ `Read` `.local/docs/packages//coded/coded-api.md` for installed services | -| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` with the verdict `--output-filter` `&&` `cat` of every output file, per § Gate ≠ runtime proof | +| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` `&&` `cat` of every output file, per § Gate ≠ runtime proof | | **T4 — Report** | ONE message, no shell calls — same shape as the greenfield XAML T4: judge the T3 verdict and `cat` output, then `Write` both context files ∥ qualifying memory `Write`s ∥ § Completion Output, all in this message | ## Journey: Brownfield coded edit @@ -75,7 +75,7 @@ Budget shape: **~3 fixed turns + ~3 turns per capture-screen + 2-turn debug cycl | **Per capture-screen** | (a) capture bundle — run the `uia-configure-target` flow for ALL of this screen's checklist elements in one pass, through OR registration; (b) ONE state advance via the interact CLI — only to reach the next screen, never to test behavior | | **T-author — after ALL screens captured** | Scaffold/authoring prerequisites (Capture-First Fast Path order) ∥ batch-author every screen's activities in one pass (Rule 18), embed path for OR target attachment | | **T-gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` | -| **Debug cycle (consent-gated, [uia-starter-guide.md § Running UI Automation Workflows](uia-starter-guide.md))** | ONE `Bash` chain: window baseline `&&` `debug start` with the verdict `--output-filter` `&&` `execution cancel` `&&` re-list windows; next turn: diff, close stray windows via the interact CLI (one `Bash`), and in that same message the report — context files, qualifying memory `Write`s and § Completion Output as parallel calls, as in the greenfield T4. The verdict is read from the chain's filtered envelope; never redirect it to a file and parse it in extra turns | +| **Debug cycle (consent-gated, [uia-starter-guide.md § Running UI Automation Workflows](uia-starter-guide.md))** | ONE `Bash` chain: window baseline `&&` `debug start` `&&` `execution cancel` `&&` re-list windows; next turn: diff, close stray windows via the interact CLI (one `Bash`), and in that same message the report — context files, qualifying memory `Write`s and § Completion Output as parallel calls, as in the greenfield T4. The verdict is read from the chain's `debug start` envelope (Rule 8a); never redirect it to a file and parse it in extra turns | - Default is author-once-after-capture — all OR refs are already in conversation. Fall back to per-screen authoring interleave only on long captures (5+ screens) where context pressure is real; the `validate`/`build` gate still runs ONCE at the end either way. - Screens after the first (same window): carry the OR screen reference from the previous capture into the next `uia-configure-target` invocation — it skips the OR screen lookup. Invocation shape and argument: the package's `uia-configure-target` invocation guide (routed from the package guide § Documentation). From 3ea5293ed3968ea0dbe78c399cca1b41c0eec22c Mon Sep 17 00:00:00 2001 From: Dan Munteanu Date: Sat, 5 Sep 2026 13:53:25 +0300 Subject: [PATCH 4/7] fix(uipath-rpa): drop the filter aside from the gate rows --- skills/uipath-rpa/references/execution-maps-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/skills/uipath-rpa/references/execution-maps-guide.md b/skills/uipath-rpa/references/execution-maps-guide.md index b55004ca18..64360ea5a3 100644 --- a/skills/uipath-rpa/references/execution-maps-guide.md +++ b/skills/uipath-rpa/references/execution-maps-guide.md @@ -31,7 +31,7 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Scaffold + context** | ONE `Bash` chain: `uip rpa init --name "" --location "" --template-id BlankTemplate --expression-language --target-framework --output json` (Rule 2a — both flags explicit) `&&` `uip rpa analyzer-rules list --project-dir "" --output json` `&&` one `uip rpa packages versions --package-id --include-prerelease --project-dir "" --output json` per request-known package ∥ parallel `Read` — ALL THREE, never a subset (skipping the pattern card re-opens per-activity discovery): [common-activity-card.md](common-activity-card.md), [common-pattern-card.md](common-pattern-card.md), [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22) ∥ memory recall (harness has memory) ∥ Rule 21 `activities find` fan-out for off-card activities | | **T2 — Author + install** | Design fork FIRST for row-processing tasks: complex bulk row processing (per-row parse + validate + branch + accumulate) escalates to code per [data-manipulation-guide.md § Code vs activity chains](data-manipulation-guide.md) — the pattern card's `ForEach` shapes cover only the simple one-`If`/`Switch` case. Then: one `Write` per workflow file — complete, all activities (Rule 18) ∥ `Read` `project.json` (anchors for the T2/T3 edits; skip re-reading scaffolded `Main.xaml` — the `Write` replaces it) ∥ `Edit` `project.json` (`fileInfoCollection` for test cases, Rule 10; `dependencies` stays CLI-owned via `packages install`) ∥ ONE `Bash`: `uip rpa packages install` for all needed packages at the T1-chosen versions — flag shape per [cli-reference.md § packages install](cli-reference.md#packages-install); it drifts across CLI builds, so on `Invalid packages input` re-check `uip rpa packages install --help` ∥ Rule 21 doc `Read`s + `get-default-xaml` for off-card activities | -| **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --skip-build` on the entry point (no `--output-filter` — Rule 8a) `&&` `cat` of every file the workflow was asked to write (§ Gate ≠ runtime proof). The output check is a link of this chain, never its own turn. `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | +| **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --skip-build` on the entry point `&&` `cat` of every file the workflow was asked to write (§ Gate ≠ runtime proof). The output check is a link of this chain, never its own turn. `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | | **T4 — Report** | ONE message, no shell calls. Judge the T3 chain's verdict fields and its `cat` output against the request — wrong/empty output with a clean gate is a silent-failure signature (§ Failure exits) — then emit in this same message, as parallel tool calls: `Write` `.claude/rules/project-context.md` ∥ `Write` `AGENTS.md` (paths, metadata line and markers per [environment-setup.md § Project Context Discovery](environment-setup.md) step 3: first line ``; `AGENTS.md` carries the same block between `` / ``; no `Read`/`Grep` precedes these writes) ∥ every memory `Write` that [§ Cross-session memory](#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) ∥ the § Completion Output text. Nothing runs after the report | - **T1 is ONE message — `init` plus every read.** Both cards, [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22 two-step) and the matching [xaml/common-pitfalls.md](xaml/common-pitfalls.md) sections are all T1 reads: batch their `Grep`s in this turn and their `Read`s in the next. `init` reads none of them, so it never waits on a read, and common-pitfalls is a T1 read — not a post-authoring one. Open no other reference before T2, `environment-setup.md` included. @@ -75,7 +75,7 @@ Budget shape: **~3 fixed turns + ~3 turns per capture-screen + 2-turn debug cycl | **Per capture-screen** | (a) capture bundle — run the `uia-configure-target` flow for ALL of this screen's checklist elements in one pass, through OR registration; (b) ONE state advance via the interact CLI — only to reach the next screen, never to test behavior | | **T-author — after ALL screens captured** | Scaffold/authoring prerequisites (Capture-First Fast Path order) ∥ batch-author every screen's activities in one pass (Rule 18), embed path for OR target attachment | | **T-gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` | -| **Debug cycle (consent-gated, [uia-starter-guide.md § Running UI Automation Workflows](uia-starter-guide.md))** | ONE `Bash` chain: window baseline `&&` `debug start` `&&` `execution cancel` `&&` re-list windows; next turn: diff, close stray windows via the interact CLI (one `Bash`), and in that same message the report — context files, qualifying memory `Write`s and § Completion Output as parallel calls, as in the greenfield T4. The verdict is read from the chain's `debug start` envelope (Rule 8a); never redirect it to a file and parse it in extra turns | +| **Debug cycle (consent-gated, [uia-starter-guide.md § Running UI Automation Workflows](uia-starter-guide.md))** | ONE `Bash` chain: window baseline `&&` `debug start` `&&` `execution cancel` `&&` re-list windows; next turn: diff, close stray windows via the interact CLI (one `Bash`), and in that same message the report — context files, qualifying memory `Write`s and § Completion Output as parallel calls, as in the greenfield T4. The verdict is read from the chain's `debug start` envelope; never redirect it to a file and parse it in extra turns | - Default is author-once-after-capture — all OR refs are already in conversation. Fall back to per-screen authoring interleave only on long captures (5+ screens) where context pressure is real; the `validate`/`build` gate still runs ONCE at the end either way. - Screens after the first (same window): carry the OR screen reference from the previous capture into the next `uia-configure-target` invocation — it skips the OR screen lookup. Invocation shape and argument: the package's `uia-configure-target` invocation guide (routed from the package guide § Documentation). From 5486c4dd6ab4cb48801e1bb1c72ccb04367e5b26 Mon Sep 17 00:00:00 2001 From: Dan Munteanu Date: Sat, 5 Sep 2026 14:20:47 +0300 Subject: [PATCH 5/7] fix(uipath-rpa): spell out --file-path on the gate run; leave discovery-written context files alone after the gate --- skills/uipath-rpa/references/execution-maps-guide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/skills/uipath-rpa/references/execution-maps-guide.md b/skills/uipath-rpa/references/execution-maps-guide.md index 64360ea5a3..cf8896c3c1 100644 --- a/skills/uipath-rpa/references/execution-maps-guide.md +++ b/skills/uipath-rpa/references/execution-maps-guide.md @@ -31,7 +31,7 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Scaffold + context** | ONE `Bash` chain: `uip rpa init --name "" --location "" --template-id BlankTemplate --expression-language --target-framework --output json` (Rule 2a — both flags explicit) `&&` `uip rpa analyzer-rules list --project-dir "" --output json` `&&` one `uip rpa packages versions --package-id --include-prerelease --project-dir "" --output json` per request-known package ∥ parallel `Read` — ALL THREE, never a subset (skipping the pattern card re-opens per-activity discovery): [common-activity-card.md](common-activity-card.md), [common-pattern-card.md](common-pattern-card.md), [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22) ∥ memory recall (harness has memory) ∥ Rule 21 `activities find` fan-out for off-card activities | | **T2 — Author + install** | Design fork FIRST for row-processing tasks: complex bulk row processing (per-row parse + validate + branch + accumulate) escalates to code per [data-manipulation-guide.md § Code vs activity chains](data-manipulation-guide.md) — the pattern card's `ForEach` shapes cover only the simple one-`If`/`Switch` case. Then: one `Write` per workflow file — complete, all activities (Rule 18) ∥ `Read` `project.json` (anchors for the T2/T3 edits; skip re-reading scaffolded `Main.xaml` — the `Write` replaces it) ∥ `Edit` `project.json` (`fileInfoCollection` for test cases, Rule 10; `dependencies` stays CLI-owned via `packages install`) ∥ ONE `Bash`: `uip rpa packages install` for all needed packages at the T1-chosen versions — flag shape per [cli-reference.md § packages install](cli-reference.md#packages-install); it drifts across CLI builds, so on `Invalid packages input` re-check `uip rpa packages install --help` ∥ Rule 21 doc `Read`s + `get-default-xaml` for off-card activities | -| **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --skip-build` on the entry point `&&` `cat` of every file the workflow was asked to write (§ Gate ≠ runtime proof). The output check is a link of this chain, never its own turn. `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | +| **T3 — Gate** | ONE `Bash`: `uip rpa validate --file-path "" --project-dir "" --output json` per file `&&` `uip rpa build "" --output json` `&&` — when outputs are observable and no external system/UI is needed — `uip rpa run --file-path "" --project-dir "" --skip-build --output json` on the entry point (`--file-path` is required) `&&` `cat` of every file the workflow was asked to write (§ Gate ≠ runtime proof). The output check is a link of this chain, never its own turn. `--file-path` RELATIVE to project dir — absolute paths falsely fail (separator bug, [cli-reference.md § validate](cli-reference.md#validate)) | | **T4 — Report** | ONE message, no shell calls. Judge the T3 chain's verdict fields and its `cat` output against the request — wrong/empty output with a clean gate is a silent-failure signature (§ Failure exits) — then emit in this same message, as parallel tool calls: `Write` `.claude/rules/project-context.md` ∥ `Write` `AGENTS.md` (paths, metadata line and markers per [environment-setup.md § Project Context Discovery](environment-setup.md) step 3: first line ``; `AGENTS.md` carries the same block between `` / ``; no `Read`/`Grep` precedes these writes) ∥ every memory `Write` that [§ Cross-session memory](#cross-session-memory) qualifies (a first-try clean gate on card-covered activities qualifies none) ∥ the § Completion Output text. Nothing runs after the report | - **T1 is ONE message — `init` plus every read.** Both cards, [xaml/xaml-basics-and-rules.md](xaml/xaml-basics-and-rules.md) (Rule 22 two-step) and the matching [xaml/common-pitfalls.md](xaml/common-pitfalls.md) sections are all T1 reads: batch their `Grep`s in this turn and their `Read`s in the next. `init` reads none of them, so it never waits on a read, and common-pitfalls is a T1 read — not a post-authoring one. Open no other reference before T2, `environment-setup.md` included. @@ -47,8 +47,8 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Context** | SKILL.md § Precondition context check — the skip gate first, then the discovery subagent, which writes `project-context.md` + `AGENTS.md` itself ([environment-setup.md § Project Context Discovery](environment-setup.md)) ∥ `Read` `project.json` + target `.xaml` + cards ∥ ONE `Bash`: `analyzer-rules list --project-dir "" --output json` ∥ memory recall ∥ off-card `activities find` fan-out | | **T2 — Edit** | Batched `Edit`s (anchor each on its own target block — same-file Edits serialize; overlapping anchors fail) ∥ `packages install` `Bash` if new dependencies | -| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` `&&` `cat` of every output file, per § Gate ≠ runtime proof | -| **T4 — Report** | ONE message, no shell calls: judge the T3 verdict and `cat` output + § Completion Output + qualifying memory `Write`s as parallel calls. Context files were written by the discovery agent in T1 — do not rewrite them; if the skip gate tripped instead, write both here exactly as the greenfield T4 does | +| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --file-path "" --skip-build` `&&` `cat` of every output file, per § Gate ≠ runtime proof | +| **T4 — Report** | ONE message, no shell calls: judge the T3 verdict and `cat` output + § Completion Output + qualifying memory `Write`s as parallel calls. Context files were written by the discovery agent in T1 — do not read, edit, or rewrite them after the gate (the next session judges staleness by file and dependency counts, [environment-setup.md § Project Context Discovery](environment-setup.md)); if the skip gate tripped instead, write both here exactly as the greenfield T4 does | ## Journey: Greenfield coded @@ -58,7 +58,7 @@ Skip the project-discovery subagent — nothing to discover yet ([environment-se |---|---| | **T1 — Scaffold + context** | ONE `Bash` chain: `init` (flags as XAML journey) `&&` `analyzer-rules list` `&&` `packages versions` per known package ∥ `Read` [assets/codedworkflow-template.md](../assets/codedworkflow-template.md) + [coded/operations-guide.md § Coding Guidelines](coded/operations-guide.md#coding-guidelines) ∥ memory recall | | **T2 — Author + install** | `Write` each `.cs` (Rules 13–19) ∥ `Read` `project.json` ∥ `Edit` `project.json` (`entryPoints` Rule 15, `fileInfoCollection` Rule 10) ∥ `packages install` `Bash` ∥ `Read` `.local/docs/packages//coded/coded-api.md` for installed services | -| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --skip-build` `&&` `cat` of every output file, per § Gate ≠ runtime proof | +| **T3 — Gate** | ONE `Bash`: per-file `validate` (relative `--file-path`) `&&` `build` `&&` optional `run --file-path "" --skip-build` `&&` `cat` of every output file, per § Gate ≠ runtime proof | | **T4 — Report** | ONE message, no shell calls — same shape as the greenfield XAML T4: judge the T3 verdict and `cat` output, then `Write` both context files ∥ qualifying memory `Write`s ∥ § Completion Output, all in this message | ## Journey: Brownfield coded edit From a63ff648fafb31e92af80c20a4ad5dc50e3718a0 Mon Sep 17 00:00:00 2001 From: Dan Munteanu Date: Sat, 5 Sep 2026 15:25:35 +0300 Subject: [PATCH 6/7] fix(uipath-rpa): discovery context uses the standard-loop verbs and no regenerate prompt --- .../uipath-rpa/agents/uipath-project-discovery-agent.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/skills/uipath-rpa/agents/uipath-project-discovery-agent.md b/skills/uipath-rpa/agents/uipath-project-discovery-agent.md index 55bd45b32b..b299363512 100644 --- a/skills/uipath-rpa/agents/uipath-project-discovery-agent.md +++ b/skills/uipath-rpa/agents/uipath-project-discovery-agent.md @@ -28,7 +28,7 @@ You are a project discovery agent. Analyze a UiPath automation project, write th ### Step 1: Locate the Project 1. If the user provided an explicit path, use it -2. Try `uip rpa list-instances --format json` to find an open Studio Desktop project +2. Try `uip rpa instances list --output json` to find an open Studio Desktop project 3. Fall back to current working directory 4. Verify `project.json` exists and contains UiPath dependencies before proceeding @@ -259,7 +259,7 @@ Replace `{{PLACEHOLDER}}` sections with discovered values. Omit any section wher # {{PROJECT_NAME}} — Project Context -> Auto-generated by project discovery agent. Regenerate after significant project changes. +> Auto-generated by project discovery agent. ## Overview @@ -347,8 +347,8 @@ Show 1-2 representative code skeletons that demonstrate how to write new code in ## Quick Reference -- **Run**: `uip rpa run-file --file-path "{{MAIN_FILE}}" --project-dir "{{PROJECT_DIR}}"` -- **Validate**: `uip rpa get-errors --project-dir "{{PROJECT_DIR}}"` +- **Run**: `uip rpa run --file-path "{{MAIN_FILE}}" --project-dir "{{PROJECT_DIR}}" --output json` +- **Validate**: `uip rpa validate --file-path "{{MAIN_FILE}}" --project-dir "{{PROJECT_DIR}}" --output json` - **Key files to read first**: {{TOP_3_FILES}} ```` From 249fb086ea415d3afe954168e4537951f79e974c Mon Sep 17 00:00:00 2001 From: Alvin Stanescu Date: Mon, 7 Sep 2026 12:19:50 +0300 Subject: [PATCH 7/7] Update skills/uipath-rpa/agents/uipath-project-discovery-agent.md --- skills/uipath-rpa/agents/uipath-project-discovery-agent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/uipath-rpa/agents/uipath-project-discovery-agent.md b/skills/uipath-rpa/agents/uipath-project-discovery-agent.md index b299363512..f518b05a62 100644 --- a/skills/uipath-rpa/agents/uipath-project-discovery-agent.md +++ b/skills/uipath-rpa/agents/uipath-project-discovery-agent.md @@ -259,7 +259,7 @@ Replace `{{PLACEHOLDER}}` sections with discovered values. Omit any section wher # {{PROJECT_NAME}} — Project Context -> Auto-generated by project discovery agent. +> Auto-generated by project discovery agent. Regenerate after significant project changes. ## Overview