Rpa Bugfix
coddy-project/coddy-agent
Run when the user invokes /rpa-bugfix together with a clear bug description (expected vs actual, reproduction).
Always invoke for .xaml or .cs workflow files. An agent skill from UiPath/skills.
$ npx skills add UiPath/skills --skill uipath-rpa -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install UiPath/skills uipath-rpa --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/uipath-rpa .claude/skills/uipath-rpa && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "uipath-rpa" agent skill from https://github.com/UiPath/skills/tree/main/skills/uipath-rpa into .claude/skills/uipath-rpa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uipath-rpa", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/UiPath/skills/tree/main/skills/uipath-rpaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add UiPath/skills --skill uipath-rpa -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install UiPath/skills uipath-rpa --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/uipath-rpa .agents/skills/uipath-rpa && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "uipath-rpa" agent skill from https://github.com/UiPath/skills/tree/main/skills/uipath-rpa into .agents/skills/uipath-rpa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uipath-rpa", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add UiPath/skills --skill uipath-rpa -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install UiPath/skills uipath-rpa --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/uipath-rpa .cursor/skills/uipath-rpa && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "uipath-rpa" agent skill from https://github.com/UiPath/skills/tree/main/skills/uipath-rpa into .cursor/skills/uipath-rpa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uipath-rpa", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/UiPath/skills.git --path skills/uipath-rpa--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add UiPath/skills --skill uipath-rpa -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install UiPath/skills uipath-rpa --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/uipath-rpa .gemini/skills/uipath-rpa && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "uipath-rpa" agent skill from https://github.com/UiPath/skills/tree/main/skills/uipath-rpa into .gemini/skills/uipath-rpa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uipath-rpa", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install UiPath/skills uipath-rpaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add UiPath/skills --skill uipath-rpa -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/uipath-rpa .github/skills/uipath-rpa && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "uipath-rpa" agent skill from https://github.com/UiPath/skills/tree/main/skills/uipath-rpa into .github/skills/uipath-rpa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uipath-rpa", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add UiPath/skills --skill uipath-rpa -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install UiPath/skills uipath-rpa --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/uipath-rpa .opencode/skills/uipath-rpa && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "uipath-rpa" agent skill from https://github.com/UiPath/skills/tree/main/skills/uipath-rpa into .opencode/skills/uipath-rpa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uipath-rpa", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
uipath-rpaAlways invoke for .xaml or .cs workflow files. An agent skill from UiPath/skills.
Uipath Rpa is an agent skill from UiPath/skills. Always invoke for .xaml or .cs workflow files. UiPath RPA — create, edit, validate, build, pack, run, debug .cs coded workflows and .xaml workflows, Modern or Legacy. UI automation with Object Repository selectors, test case authoring, Integration Service connector calls. Live desktop/browser UI exploration and control. Packing stays here; solution-level .uipx deployment→uipath-solution. Non-solution Orchestrator ops→uipath-platform. Test reports→uipath-test. Agents→uipath-agents.
Its SKILL.md is about 13k tokens, which your agent loads only when the skill is triggered. The skill folder holds 820 other files, including reference files and assets (for example `.maintenance/pattern-card-maintenance.md`, `CLAUDE.md` and `agents/uipath-project-discovery-agent.md`).
It sits in Productivity & Automation, covering Workflow automation and Test generation. The repository describes itself as: This is a repository of skills for interfacing UiPath capabilities to external developers. The licence is MIT.
Read from SKILL.md and the folder at commit 0bada1b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Uipath Rpa loads about 13k tokens when it runs, and up to ~897k if it reads all its reference files. Until then it costs about 127 tokens; SKILL.md has 6,298 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from UiPath/skills at commit 0bada1b, republished under its MIT licence (© UiPath). 6,298 words, ~13,068 tokens.
.claude/skills/uipath-rpa/SKILL.md (or your agent's skills folder). This skill also uses 809 other files; get the full folder from GitHub.Full assistant for creating, editing, managing, and running UiPath automation projects — both coded workflows (C#) and low-code RPA workflows (XAML). One UIA activity set covers every UI target: Windows and macOS, desktop and web, in a single automation — targets configured with strict or fuzzy selectors (reinforced by anchors), Computer Vision, or semantic matching; uia-configure-target picks the route and falls back automatically.
Reading the referenced files is imperative — read each required file in full. This SKILL.md is a router: it tells you which reference to open, not what it says. When a rule, the Task Navigation table, or a section points you to a reference for the task at hand, open it and read the whole file before acting — do not grep it for a keyword, skim the first screen, fall back to
--help, or substitute prior knowledge. Exception: files whose rule prescribes a targeted lookup (Grep^##for the table of contents, flags via<command> --help) — these are catalogs: read the matching sections, never the whole file. Most errors that slip pastvalidateand surface atbuildor runtime trace back to a reference that was skipped or only partially read.
<!--skill-flavor:host-scope:start-->
<!--skill-flavor:host-scope:end-->
UiPath.UIAutomation.Activities at or above the skill's minimum version is required for all UIA work — the minimum version, the version check, the discovery/install commands, and the upgrade-consent matrix (NEVER install or upgrade UIA silently) live in uia-starter-guide.md § UIA Prerequisites — the only source of truth; do not hardcode the version from memory.
<!--skill-flavor:project-context-precondition:start-->
Before doing any work, check .claude/rules/project-context.md in the project directory:
context-files: / SKIP: status lines (the agent writes the context files itself — do NOT re-read or rewrite them). Dispatch discovery AT MOST ONCE per session — if a discovery agent is already running or its context document was already produced, reuse that result; a later step that calls for "project-context discovery" means INTEGRATE the earlier dispatch, never spawn a second.<!--skill-flavor:project-context-precondition:end-->
Before creating or modifying anything, determine which project to work with. See references/environment-setup.md for the full procedure.
Quick check: Find project.json to establish {projectRoot}. That's it — no Studio Desktop check needed for the standard loop. uip rpa auto-launches a headless Studio (UiPath.Studio.Helm NuGet) on first call. Studio Desktop is required only for files diff and focus-activity. Coded UI automation's ObjectRepository.cs (the Descriptors.* class) regenerates on per-file validate once a [Workflow]/[TestCase] .cs is on disk (§ Capture-First Fast Path step 2; coded/operations-guide.md § Configure UI Targets).
After establishing PROJECT_DIR, first check project.json for targetFramework:
targetFramework: "Legacy" (or field absent in an older project) → Legacy mode. Stop here and switch to the Legacy-mode workflow: references/legacy/legacy-mode-guide.md. Legacy projects use the standalone uip rpa-legacy CLI, .NET Framework 4.6.1, classic activities (no "X" suffix), and mscorlib assembly references. The rest of this SKILL.md (modern mode) does NOT apply to Legacy projects.targetFramework: "Windows" or "Portable" (Cross-platform) → Modern mode, continue below. Both use the uip rpa CLI — "Windows" here means Modern Windows-only, not Windows-Legacy.
uip rpa-legacyis fortargetFramework: "Legacy"ONLY — never as a fallback whenuip rpais unavailable. It packs a Modern (Windows/Portable) project successfully and exits 0, so a passing pack is not evidence you picked the right tool. Fixuip rpainstead.
For modern projects, determine whether this is a coded or XAML project:
.cs files with [Workflow] or [TestCase] attributes exist AND no .xaml workflow files (beyond scaffolded Main.xaml).xaml workflow files exist AND no coded workflow .cs filesRouting: Once mode is determined, use the Task Navigation table below to find the right reference files. For guidance on choosing between coded and XAML approaches, see coded-vs-xaml-guide.md. For Legacy projects, follow references/legacy/legacy-mode-guide.md instead.
Default to matching the project's existing mode. For new projects or ambiguous cases, default to XAML — it is the more common mode, has the widest activity coverage, and is the unmarked term in user vocabulary ("create a workflow" means XAML; "create a coded workflow" means coded). Switch to coded only on explicit user phrasing or a coded-specific trigger from the table below.
| Scenario | Mode | Why |
|---|---|---|
| Standard RPA (Excel, email, file ops) | XAML (default) | Direct activity support, no code needed |
| UI automation | XAML (default) | Full activity support; coded also works via uiAutomation service |
| Integration Service connectors (XAML) | XAML | IS connector activities use XAML-specific dynamic activity config |
| No matching activity for a subtask | Coded fallback | Small .cs invoked from XAML via Invoke Workflow File |
| Complex data transforms, HTTP, parsing | Coded | C# is more natural than nested XAML activities |
| Tempted to call a PowerShell script | Coded | Prefer a coded workflow. If PS is genuinely needed (admin cmdlets, existing .ps1), use the InvokePowerShell<T> activity — never Invoke Process + powershell.exe. See powershell-interop-guide.md |
| Custom data models / DTOs | Coded Source File | XAML cannot define types — plain .cs, no CodedWorkflow base |
| Unit tests with assertions | Coded Test Case | [TestCase] with Arrange/Act/Assert |
| User explicitly requests coded/XAML | User's choice | Never second-guess explicit preference |
For any task whose business behavior is "open an app/browser, click, type, scrape visible UI, submit a form, or verify UI state", the interaction layer MUST be UiPath UI Automation — NApplicationCard plus UIA activities (XAML), or uiAutomation.Open/Attach plus Object Repository descriptors — or, where the package's coded authoring guide § Selector-Only Targets allows it, CLI-captured selectors via TargetAppModel / Target.FromSelector — (coded). Do NOT substitute InvokeCode, PowerShell, Selenium, Playwright, Chrome DevTools Protocol, raw DOM JavaScript, HTTP form posts, or external browser-driver scripts. The coded fallback rows above apply only to non-UI helper logic (data transforms, parsing, DTOs, calculations, API-only integrations).
If target configuration is unavailable, fall back to the documented UIA indication path — never to an external browser automation shortcut.
The full prohibited-tool list, the UIA-only exploration requirement, and the InvokeJS/InjectJsScript exception scope are in the UIA package guide ({PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/ui-automation-guide.md) § Mandatory: Generate Targets Before Writing Any UI Code — read it in full per Rule 7 before any UIA work.
When generating a UI automation workflow without live app access (target capture cannot be run because the app is not installed, the agent has no UI, or the user explicitly deferred capture to a developer), emit real UIA activities with placeholder selectors and TODO Indicate markers — never Log stubs.
Forbidden: a workflow whose UI-interaction steps are Log("LoginWorkflow: type username") with a // TODO[selectors]: comment. The workflow passes build/validate and runs cleanly, but does nothing. This is the most expensive kind of stub — it looks complete, the validator says it's fine, and the failure mode is silent.
Required: the real UIA activity (NTypeInto, NClick, NGetText, NApplicationCard, etc.) with the target descriptor's selector left as a placeholder string and a TODO Indicate marker embedded in the activity's DisplayName (XAML) or in a // TODO[Indicate] comment immediately adjacent to the coded call. A developer opens Studio, clicks Indicate on each marked activity, and the workflow runs.
This applies to both XAML and coded modes. The full pattern with XAML and coded examples is in uia-starter-guide.md § Placeholder-Selector Stub Pattern — read it before authoring stub-mode workflows. It requires no UIA package or CLI.
Hybrid pattern — XAML orchestration + coded fallback for logic with no matching activity:
Main.xaml ← orchestration (XAML)
└── InvokeWorkflowFile → ProcessData.cs ← coded logicFor the full decision flowchart, InvokeCode extraction rules, and detailed hybrid patterns, see coded-vs-xaml-guide.md.
When the request is "automate this dialog/form" or "build a UI test from these manual steps" — i.e. the bulk of the work is target capture, not coding — defer authoring-phase prerequisites until target capture is complete. The capture surface is interactive, app-state-sensitive, and time-bound; project-context discovery adds nothing during capture and steals time from it.
Fast-path order for capture-first tasks:
{PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/ui-automation-guide.md), both IN FULL, plus the target-capture orchestration reference the core guide mandates.uip rpa command — install every activity package the workflow needs, and add an empty [Workflow] public void Execute() { } class (namespace per Rule 17), before the window baseline or any other uip rpa call. The host generates .local/.codedworkflows/ from the packages and coded files present when it first loads the project; load it stub-less and authoring hits CS0246 'CodedWorkflow' (cleared only by a host restart). Only ObjectRepository.cs refreshes on later validate — CodedWorkflow.cs's service accessors (uiAutomation, …) and the workflows.X cross-call methods are that first-load snapshot, so a later package install or new cross-called workflow needs a regen (coded/operations-guide.md § Configure UI Targets).uia-configure-target and screen advancement (package guide § Multi-Step UI Flows). Authoring only at screen boundaries — never between capture calls within a screen.validate once to regenerate ObjectRepository.cs, read it, and reference every target as Descriptors.<App>.<Screen>.<Element> — member names come from that file, never from the OR names passed at capture. Never author against string target names while the file is missing.Skip this path when the task has no UI surface (data transforms, IS connector calls, headless file/email automation). Also skip it when the task HAS a UI surface but no live app to capture against (app not installed, no GUI, capture deferred to a developer) — there is nothing to capture, so use the § Placeholder-Selector Stub Pattern above instead. The Window Baseline does not tell you if the app is installed and has a GUI — validate that separately (e.g. look for the executable on disk) or ask the user.
First heavy uip rpa call pays a ~22s Studio host cold-start (shared across validate/build/run/activities get-default-xaml/analyzer-rules list). When more than one is expected this session, background a cheap warm-up at session start so the tax hides behind planning:
uip rpa activities find --query log --output json > /dev/null 2>&1 &On Windows PowerShell, & doesn't background — use Start-Process powershell.exe -ArgumentList ... (not pwsh). Never Start-Process -FilePath "uip" (or any .ps1): Windows opens it in Notepad, not PowerShell.
Skip when 0 or 1 heavy uip rpa calls are expected (read-only Q&A, single-file inspection) — the warm-up doesn't reclaim its cost.
Rule numbering. Common Rules use 1–12 (below). Coded-specific rules 13–19 live in coded/codedworkflow-reference.md § Critical Rules — Coded; XAML-specific rules are an independent 16–24 sequence — 16–21a and 24 live in xaml/xaml-basics-and-rules.md § Critical Rules — XAML, 22 and 23 below. Numbers 16/17/18/19 appear in both mode sequences — the [Coded] / [XAML] prefix disambiguates. Cross-references ("Common Rule 10", "Rule 21", "Rule 24") always point to a uniquely-numbered rule.
project.json. Only create when confirmed no project matches AND user explicitly requests creation.<!--skill-flavor:rules-project-creation:start-->
uip rpa init to create new projects — never write project.json or scaffolding manually.uip rpa templates search --query "<term>" --output json first and select per the decision flow in environment-setup.md § Template selection — its two hard constraints: NEVER silently pick a Marketplace template (present candidates and ask), and when the user's named template matches both an Official and a Marketplace item, ask — do NOT auto-pick.
2a. Pass --target-framework AND --expression-language explicitly on every uip rpa init — never omit them. Both are immutable after creation (Rule 23); omitting --target-framework silently yields a Windows project. Choose framework by where the automation runs: cross-platform / non-Windows runtime (Linux, container, serverless) or Studio Web editing → Portable (Cross-platform); Windows runtime using Windows-only capabilities (Excel COM, classic Office, WPF / PresentationFramework, Windows-only UIA) or Studio Desktop as the edit surface → Windows (not editable in Studio Web). A request needing both a cross-platform runtime and a Windows-only capability is contradictory — surface it, don't silently pick. Windows - Legacy is a last resort (explicit ask or hard .NET 4.6.1 need; never inferred from VB.NET or non-"X" classic activities) — create it in Legacy mode, not modern init. No signal → AskUserQuestion (Windows vs Cross-platform), framed around the runtime host. --expression-language: default VisualBasic, CSharp only on explicit request.<!--skill-flavor:rules-project-creation:end-->
<!--skill-flavor:rules-validation-gate:start-->
Phase-gated validation. Two-phase validation:
Per-file (after every create or edit): uip rpa validate --file-path "<FILE>" --project-dir "<PROJECT_DIR>" --output json until 0 errors. Catches structural XAML, missing references, analyzer-rule violations, schema violations. Fix one thing per iteration.
Project-level build (after per-file validate is clean across all files in the edit session, and before declaring done): uip rpa build "<PROJECT_DIR>" --output json until clean. Covers the whole project — every workflow including ones you never edited or validated, plus project-scope analyzer rules and packaging — so per-file validate passing on each edited file does NOT establish that the project compiles. Coverage split: cli-reference.md § What each phase covers. If build errors, identify the offending file from the output and re-run validate --file-path on it.
5-attempt cap per loop — 5 attempts for each file's per-file validate loop; a separate 5 attempts for the project-level build loop. Fix one root cause per iteration.
Smoke-test shortcut: A successful uip rpa run substitutes for the standalone end-of-session build — run compiles internally. Prefer run --skip-build when build has just passed; see cli-reference.md § Smoke Test.
Do NOT run uip rpa analyzer-rules list as an authoring prerequisite. validate and build already enforce the enabled analyzer rules and report violations with rule IDs and recommendations — pre-fetching the rule list is speculative cost (the unscoped call can take a minute or more). It is an on-demand command: run it when the user asks about the project's best-practice/analyzer rules, or when repeated violations of the same rule family suggest authoring against the full rule set. See cli-reference.md § analyzer-rules list.
Warnings do not gate delivery. Once validate and build report 0 errors, the gate is satisfied — deliver. Do NOT investigate or fix a warning unless the user asked about it or it blocks a stated acceptance criterion. Several warnings are correct-by-design on UIA projects and fire on every build (verification-feature, Automation Hub URL, duplicate display name): cli-reference.md § Expected non-defect warnings. Report warnings in the completion output; do not spend gate attempts on them.
ALWAYS bring every touched file to per-file validate clean AND verify the project builds before declaring done. The full cadence, caps, and what each phase catches: Rule 3. validate clean alone is not "validated" — the project-level build is mandatory before declaring done, and a clean gate is not runtime proof: for observable-output workflows, end the gate with one run and check outputs (execution-maps-guide.md § Gate ≠ runtime proof).
<!--skill-flavor:rules-validation-gate:end-->
Prefer UiPath built-in activities for Orchestrator integration, UI automation, and document handling. Prefer plain .NET / third-party packages for pure data transforms, HTTP calls, parsing.
ALWAYS ensure required package dependencies are in project.json before using their activities or services.
6a. Pre-edit verification gate. Two authoring actions are hard to roll back once build fails — verify before serialization, not after.
MergePDFs lives in the IntelligentOCR.StudioWeb family).uip rpa activities find --query "<verb>" --output json and use the returned ClassName. Do not derive tag names from Studio display names. See common-pitfalls.md § Common Activity Name Confusions.[UIA] Before writing ANY UIA activity (XAML <uix:N*> or coded uiAutomation.* / Descriptors.*), MUST read references/uia-starter-guide.md — via a two-step read, never a plain full Read: (1) Grep ^## Conditional Policies on it, (2) Read with limit set to that line; the two policy sections below the marker load only when their stated condition applies. Then the UIA package's core guide it mandates ({PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/ui-automation-guide.md) IN FULL, and — before authoring — your mode's authoring guide IN FULL (routed from the core guide's § Documentation). No exceptions for "simple" UIs. Skipping this rule is the most common cause of hallucinated selectors, wrong target XML, and missing OR descriptors. NEVER hand-write selectors — use uia-configure-target exclusively (the package guide explains how); the coded selector-only path skips only the Object Repository registration, not the capture. The package guide exists only after the package is installed — verify uia-starter-guide.md § UIA Prerequisites first (Rule 7a); if the package is installed but the guide file is absent, the installed version predates it — treat as below the minimum version. The starter guide owns the skill-side UIA policies: run/debug procedure + runtime selector recovery, the stub-mode deliverable pattern, and UI Library publishing.
7a. [UIA] Verify UIA prerequisites before invoking uia-configure-target. The minimum version and the prerequisite check live in uia-starter-guide.md § UIA Prerequisites — run that check first (do not hardcode the version from memory; that section is the only source of truth). If UiPath.UIAutomation.Activities is below the minimum or {PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/ui-automation-guide.md is absent (Rule 7 treats a missing guide as below-minimum), the uip rpa uia CLI is unavailable — and both target capture and indication depend on it, so indication is not a fallback when the package itself is missing. Ask the user to install/upgrade per that section. If they decline or the package cannot be installed, fall back to the Placeholder-Selector Stub Pattern (§ above) — real activities with TODO Indicate markers need no CLI. Never silently route to a non-existent skill path. Use indication capture only when a compatible UIA package is installed but uia-configure-target cannot see the element; record UI capture: indication-only in the plan header to skip uia-configure-target in that case. Runtime failure counts too: when the package is present but the UIA snapshot CLI's live scans fail persistently (driver/COM errors on every scan), first rule out a locked or non-interactive Windows session (LogonUI running = lock screen) — that needs an unlock, not a fallback. Only if scans still fail on an unlocked interactive session, treat capture as unavailable and use the Placeholder-Selector Stub Pattern.
Use --output json on all CLI commands whose output is parsed programmatically.
8a. A run / debug start verdict comes from Data — NEVER from the outer Result alone, and NEVER from a log line's level — and Data's shape depends on the backend that ran the workflow; identify it by its keys. Headless Studio (Helm — no Studio Desktop instance has the project open): Data is {output, hasErrors, errorMessage, profiling, debugState, debugDetails}; passed only when hasErrors is false, errorMessage is null, and debugState is null or "Completed"; a faulted run returns outer Result: "Failure" with those fields JSON-encoded in Message; a faulted debug start returns Result: "Success" with debugState: "Suspended" and the exception in debugDetails — the session is still alive and must be cancelled or continued. Studio Desktop (the project is open in a running Studio): Data is {output, errors, logEntries, debugState}; passed only when errors is empty AND output is "Session ended" — a missing entry point returns Result: "Success" with errors: [] and output: "Failed to open the file <path>", so both conditions are needed. Reading Result: "Success" as a verdict reports broken workflows as green on both backends. A successful workflow may emit Log Message activities at Error or Warning level as observability — on Helm they stream as [Level] lines above the envelope, on Desktop they are logEntries entries — and they are workflow-emitted data, not failures; treating them as a failure signal flips green runs to "failed" and burns retries on healthy workflows. Read the verdict from the envelope as printed: no --output-filter on run / debug start (the two backends have different keys, and a filter naming a key the current backend lacks fails the call after the workflow has already run), and never | tail / | head the payload — on Helm the log lines precede the envelope, on Desktop the verdict fields precede a long logEntries, so either cut drops something this rule needs (cli-reference.md § Capturing the verdict). Field meanings: cli-reference.md § Reading run / debug results and debugging.md § Output Format.
For "leverage / reuse / find shared libraries" requests, search the tenant feed — not the local filesystem, NuGet.org, or keyword-permutation loops. Run uip or libraries list --limit 500 --output-filter "<JMESPath>" --output json. On zero results from the filtered call, take the fallback branch — do not re-keyword. Skip when an SDD already records §16 "Shared libraries referenced" or the user has said "no shared libraries" earlier in the session. See tenant-library-search-guide.md for the full procedure.
Register every test case file in project.json → designOptions.fileInfoCollection. Applies to both XAML and coded test cases. Required keys, GUID format, JSON snippet, and full schema (including dataVariationFilePath for data-driven and publishAsTestCase for coded): references/testing-guide.md § project.json Registration and assets/json-template.md.
Test case structure: Given-When-Then. Applies to both XAML and coded test cases. See references/testing-guide.md § XAML Test Case Structure for the canonical patterns (the section's lead also points to the coded variant in coded/operations-guide.md).
Trigger activity placement. Two trigger types — identify from uip rpa activities find --query "<event>" --output json by reading isTrigger and triggerType. Placement rules differ.
Integration triggers (isTrigger: true, triggerType: "integration") — strict placement. MUST be the first activity of Main.xaml's root Sequence; CANNOT be placed inside ui:TriggerScope. Bind Result to a workflow-scope variable; the rest of the Sequence is the handler. Connection asset (ConnectionId) required for IS-based triggers (Mail / GSuite / O365 / Salesforce / Jira / Slack / ServiceNow / any *.IntegrationService.Activities package); not required for Orchestrator-native triggers (TimeTrigger, QueueTrigger, ManualTrigger).
Local triggers (isTrigger: true, triggerType: "local") — flexible placement. Place EITHER as the first activity of Main.xaml's root Sequence (Orchestrator dispatches a fresh job per event) OR inside <ui:TriggerScope.Triggers> with handler in <ui:TriggerScope.Action> (robot stays alive while the scope is active; trigger fires in-process). Both placements are valid — choose by runtime model. No connection asset required.
Unknown triggerType (forward-compat — e.g. a future "scheduled") → read the bundled doc and ask the user. Do not assume placement.
Reading existing XAML: activity inside <ui:TriggerScope.Triggers> must be a local trigger; an integration trigger there is broken — flag to the user. Activity at workflow root can be either type — check triggerType to disambiguate.
See trigger-pattern-guide.md for worked examples, the SchedulingMode reference, the catalog of trigger activities, and the procedure for editing existing ui:TriggerScope workflows.
<!--skill-flavor:studio-web-destination:start-->
Studio Web destination → Solution-wrapped deliverable, not a bare project. Studio Web ingests Solutions only; a bare project folder is invisible in both SW workspace tabs. Treat these phrases as SW signals in the request: "Studio Web", "SW", "upload to web", "browser editor", "cloud workspace edit". On match, build the RPA project normally per the rest of this skill, then hand off to uipath-solution to wrap and ship it: uip solution init <NAME> → uip solution projects import "<PROJECT_DIR>" --solutionFile <SOLUTION>.uipx → uip solution upload "<SOLUTION_DIR>". The final deliverable is the Solution, not the bare project folder. Local execution (uip rpa run) and the Orchestrator package flow (uip rpa pack → uip or packages upload — there is no uip rpa publish) are fine with a bare project — only an SW destination changes the deliverable shape.
<!--skill-flavor:studio-web-destination:end-->
Run to completion — do not declare work done while plan tasks remain. If a plan file exists at docs/plans/*.md referenced by this request (or discoverable there for this feature), read its header before acting and during every checkpoint.
Execution autonomy: autonomous: continue until ALL plan task checkboxes are [x] OR a concrete item from the plan's Stop conditions section is hit.Execution autonomy: interactive, or no plan file exists: use judgment and confirm with the user on material decisions.Stop conditions section count.AskUserQuestion about structure, file count, selector strategy, or capture approach when the plan specifies them — those questions belonged to the planner.Wrap external interactions (UI, file, network, DB) in Try/Catch and classify failures — BusinessRuleException for bad input data (no retry; needs a human), system exceptions for transient faults (retry then escalate). Don't blanket-wrap pure logic, don't leave a Catch empty, and Rethrow (never Throw New Exception(ex.Message)) to preserve the stack trace. For exception taxonomy, Retry Scope count/interval semantics, ContinueOnError suppression, screenshot-on-error, the Global Exception Handler recipe (scaffold + project.json registration + verdict logic), and the resilience patterns — recovering to a known app state before retrying, per-item transaction boundaries, idempotent/compensating writes to avoid duplicate creates and partial writes, sensitive-data redaction, and retry ownership across queue/Retry-Scope/GEH/job layers — read references/error-handling-guide.md in full before adding resilience to a workflow.
Follow the journey map in execution-maps-guide.md for every build or edit — it fixes which tool calls batch into which assistant turn (greenfield ≤5 turns, brownfield ≤5 — the pitfalls vet turn is inside both). Within a turn: chain dependent uip calls with && in one Bash; emit independent Bash/Read/Edit calls as parallel tool uses. Split turns only where a call needs an earlier call's stdout or a file mutation. Rule 21 discovery for off-card activities fans out inside T1/T2 — all K finds parallel, then all K doc Reads, then all K get-default-xamls — never one activity at a time.
Sequential by design — never batch across: templates search → init (Rule 2 decision gate); any AskUserQuestion or consent gate; UIA state advances and indication (the UIA journey in the guide encodes its per-screen gating).
13–19. [Coded] The coded critical rules live in coded/codedworkflow-reference.md § Critical Rules — Coded. Read that section before creating or editing ANY coded workflow, test case, or coded source file — the rules are mandatory constraints, not reference material. The same file carries the coded quick reference (file types, service-to-package mapping, templates) and coded task navigation.
16–21a, 24–25. [XAML] The XAML critical rules live in xaml/xaml-basics-and-rules.md § Critical Rules — XAML — Rule 22's read-in-full mandate below covers them; they arrive with the file you must already read before any XAML work. The same file carries the XAML task navigation and quick reference.
22. [XAML] MUST read references/xaml/xaml-basics-and-rules.md in full before generating or editing any XAML — a plain full Read, emitted in the journey's first turn alongside the card reads (no lookup precedes it; the file holds only the mandatory content). The per-operation / per-activity catalogs (editing operations, reference examples) live in references/xaml/xaml-editing-catalog.md and load per entry only — Grep ^###, Read the entries matching the operation/activity at hand, unsure → read it. Then vet the plan against references/xaml/common-pitfalls.md before the first Write/Edit. common-pitfalls.md is a catalog of independent gotcha sections — do NOT read it end-to-end: list its headings (Grep ^## on the file — emit this in the first turn too, it needs no prior output), then in the next turn Read every section whose heading matches an activity, property, or feature in the workflow you are about to author. Unsure whether a section applies → read it. This is an authoring-time gate, not only a troubleshooting resource — consulting it first is cheaper than debugging a gotcha validate cannot see. The turn placement is fixed by execution-maps-guide.md: the heading list rides in T1, the section Reads are T2, so the gate costs one turn, never a grep→Read pair per file.
23. [XAML] NEVER change expressionLanguage or targetFramework on an existing project. Decide both proactively at init time (Common Rule 2a); this rule covers the immutability afterward. Both fields are fixed at creation and apply to every XAML file — flipping either invalidates expressions or package references project-wide. Do not attempt in-place conversion. If the user wants to convert an existing project, confirm with them and follow environment-setup.md § Project Conversion — copy aside, init fresh with the target settings, recreate every workflow, delete the copy only after the user agrees.
| I need to... | Mode | Read these |
|---|---|---|
| Work in a Legacy (.NET 4.6.1) project | Legacy | legacy/legacy-mode-guide.md — entry point. Modern-mode rules below do not apply. |
| Plan the build's turn structure | Both | execution-maps-guide.md — read first for any build/edit journey |
| Choose coded vs XAML / work in a hybrid project | Both | coded-vs-xaml-guide.md → environment-setup.md § Designing Project Structure |
| Create a new project | Both | environment-setup.md |
| Any XAML authoring/editing task (workflows, test cases, Flowchart/StateMachine/LRW, common activities, Data Fabric, IS connectors, triggers, XAML troubleshooting) | XAML | xaml/xaml-basics-and-rules.md — Rule 22 read; § Critical Rules — XAML + § Task Navigation — XAML route the rest |
| Any coded authoring/editing task (workflows, test cases, source files, IS connectors, NuGet, API discovery, coded troubleshooting) | Coded | coded/codedworkflow-reference.md — § Critical Rules — Coded + § Task Navigation — Coded route the rest |
| Set up data-driven testing | Both | testing-guide.md § Data-Driven Testing — remember: register in fileInfoCollection (Common Rule 10) |
| Set up Test Manager for the project (server URL + default project) | Both | cli-reference.md § Test Manager — uip rpa tm connect / set-default-project |
| Add error handling / resilience (Try/Catch, Retry Scope, BusinessRuleException, ContinueOnError, screenshot-on-error, Global Exception Handler, recover app state, transaction boundary, idempotency / avoid duplicate creates, queue vs local retry ownership) | Both | error-handling-guide.md |
| Write UI automation | Both | UIA package guide {PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/ui-automation-guide.md (Rule 7) |
| Share Object Repository selectors across projects (UI Library) | Both | uia-starter-guide.md § Object Repository as a Published UI Library |
| Run / debug a UIA workflow | Both | uia-starter-guide.md § Running UI Automation Workflows — baseline, debug session, window cleanup, selector recovery |
| Drive a captured control (date inputs, native vs custom dropdowns, buttons disabled during async) | Both | UIA package guide § Control-Specific Interaction Patterns |
| Use Excel/Word/Mail/etc. | Both | .local/docs/packages/{PackageId}/ → fallback: references/activity-docs/{PackageId}/{closest}/ (§ Resolving Packages & Activity Docs below) |
| Manipulate data (DataTable/LINQ, strings, RegEx, DateTime, collections, JSON) | Both | data-manipulation-guide.md |
| Inspect Integration Service trigger lifecycle (webhook vs. polling, filter fields, webhook URL retrieval) | Both | trigger-pattern-guide.md § Connection Handling and § Server-Side Filtering |
| Build/run/validate | Both | cli-reference.md — a per-command catalog, do NOT read end-to-end: Grep ^## , then Read the section for every command you will run, plus § Reading run / debug results regardless — the outer Result is not the run's verdict, and reading it as one reports failed workflows as passing |
| Profile a slow workflow / verify UI automation correctness | Both | debugging.md § Profiling Workflow Performance |
| Pack & publish project to Orchestrator | Both | cli-reference.md § Pack & Publish to Orchestrator |
| List project best-practice / analyzer rules | Both | cli-reference.md § analyzer-rules list |
| Find / reuse existing tenant libraries | Both | tenant-library-search-guide.md |
| Extract reusable logic into a library / publish it | Both | library-authoring-guide.md — public-workflow contract, private helpers, § Pack & Publish |
| Invoke a PowerShell script from a workflow | Both | powershell-interop-guide.md |
| List / install Data Fabric entities | Both | cli-reference.md § Data Fabric Entities |
| Understand project structure | Both | environment-setup.md § Project Structure Reference |
Each authoring mode's critical rules, quick reference, and task navigation live with the mode's primary reference — read per the gates above (Rule 22 for XAML; Coded Rules 13–19 gate for coded):
Follow this flow whenever you need to use an activity package:
Check project.json → dependencies for the required package.
Always query versions with --include-prerelease. Many UiPath activity packages ship as -preview between stable releases, and the latest preview routinely contains new activities, fixed signatures, and updated .local/docs content that activity generation depends on. Without the flag, the listing hides these and the agent will pick a stale stable.
--include-prerelease and compare:.local/docs, fewer signature mismatches). Ask whether to upgrade. Never force-upgrade an already-installed package.packages versions --include-prerelease (preview is acceptable):uip rpa packages versions --package-id <PackageId> --include-prerelease --project-dir "<PROJECT_DIR>" --output json
uip rpa packages install --packages 'id=<PackageId>,version=<LATEST_VERSION>' --project-dir "<PROJECT_DIR>" --output json{PROJECT_DIR}/.local/docs/packages/{PackageId}/ — auto-generated, most accurate. Read the exact file directly by path (.../{PackageId}/activities/<Activity>.md) — a failed Read IS the existence check. Glob AND Grep both skip .local/ as gitignored: a miss from either proves NOTHING about the docs. To list what exists, ls the exact directory via Bash. NEVER enumerate the docs tree (hundreds of files; for UIA the guide's § Documentation already lists every reference).references/activity-docs/{PackageId}/ — pick the version folder closest to what is installed.UIA references live in two locations. Always cite by location so the reader knows which tree to open:
references/, relative to this SKILL.md) — policy this skill owns: prerequisites/version gating, run/debug orchestration, stub-mode deliverables, UI Library publishing.{PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/, installed via uip rpa packages install) — the UIA authoring guide, target-capture orchestration, single-purpose task guides, concrete uip rpa uia CLI syntax, per-activity property surfaces, coded API surface, and the UIA skill internal procedures. Co-versioned with the package, so always source-of-truth over anything in this skill when they diverge.references/, relative to this SKILL.md){PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/)ui-automation-guide.md — the entry point for all UIA authoring (Rule 7; read in full first — also the Rule 7a availability probe: ls the exact path via Bash or attempt the direct Read; Glob/Grep skip gitignored .local/, so a miss from them NEVER proves absence — never enumerate the docs tree). Window baseline, capture orchestration, common pitfalls, control-specific interaction, coded and XAML patterns. Its § Documentation routes to everything else in the pack: target-capture orchestration, task guides, CLI command inventory, per-activity property surfaces, coded API surface, runtime selector recovery, and the bundled UIA skill (uia-configure-target).Before reporting "done", verify the plan is complete. If a plan file at docs/plans/*.md drove this work:
[ ] boxes remain AND the plan's header says Execution autonomy: autonomous AND no Stop conditions item was hit — do not report done. Resume execution on the next unchecked task.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 qualifies (a first-try clean gate on card-covered activities qualifies none) — as parallel Writes 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:
<!--skill-flavor:report-what-was-done:start-->
<!--skill-flavor:report-what-was-done:end-->
<!--skill-flavor:report-validation-status:start-->
validate result (all files passed, or remaining errors) and project-level uip rpa build result. Both must be clean to claim verification — validate clean alone is insufficient — it covers only the files it was pointed at, while build compiles the whole project (Rule 3). If build has not run since the last edit, say so explicitly rather than claiming success.<!--skill-flavor:report-validation-status:end-->
docs/plans/*.md are now [x]; list any still [ ] and, for each, the Stop-condition item that interrupted it (or "not reached" if execution was cut short another way)<!--skill-flavor:report-how-to-run:start-->
uip rpa run (or uip rpa debug start) command (if applicable)<!--skill-flavor:report-how-to-run:end-->
/uipath-feedback to send a report."Do NOT use framing like "complete", "done", "finished", or "the automation is built" unless every plan task is checked off. "Partial", "stopped at <task N>", or "blocked by <stop condition>" is the honest framing otherwise.
© UiPath, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 809 other files (references, assets) in skills/uipath-rpa of UiPath/skills.
Open the folder on GitHubat commit 0bada1b
Uipath Rpa next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Uipath Rpa this skillUiPath/skills | 167 | — | ~13k | Automated safety check: Pass | MIT | |
| Rpa Bugfixcoddy-project/coddy-agent | 168 | — | ~324 | Automated safety check: Pass | MIT | |
| Schedule Recipemohitagw15856/pm-claude-skills | 1.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Newsblur CLIsamuelclay/NewsBlur | 7.6k | — | ~1.3k | Automated safety check: Pass | MIT | |
| N8n Docs Assistantn8n-io/n8n | 207k | — | ~550 | Automated safety check: Pass | Custom licence | |
| Robocorp Automationrobocorp/robocorp | 653 | — | ~3.3k | Automated safety check: Pass | Apache-2.0 |
coddy-project/coddy-agent
Run when the user invokes /rpa-bugfix together with a clear bug description (expected vs actual, reproduction).
mohitagw15856/pm-claude-skills
Turn 'run this every Friday at 4pm' into a working, copy-paste schedule on the user's actual runner.
samuelclay/NewsBlur
Manage your NewsBlur from the terminal. An agent skill from samuelclay/NewsBlur.
n8n-io/n8n
Answers n8n product, setup, credential, node, hosting, API, and usage questions from current n8n docs.
robocorp/robocorp
Bootstrap from an empty folder or build, debug, locally run, and validate Python automations built with Robocorp or Sema4.ai tooling, robocorp.tasks, rcc, robocorp-browser, and RPA Framework.
n8n-io/n8n
ONLY for coordinated multi-artifact work: multiple workflows with dependencies, shared data-table schema/migration across tasks, or the user explicitly asked to review a plan first.
UiPath/skills
UiPath automation discovery — mines Slack/email/wikis/CRM/HRIS/ERP for repetitive work, SPOFs, and replicable models; produces a 4-tier prioritized opportunity report with UiPath implementation…
UiPath/skills
Maintain build-time skill flavors in the UiPath skills repository.
UiPath/skills
UiPath Coded Functions — deterministic Python or TypeScript/JavaScript units built with the uip function CLI (new -l py|ts|js, init, serve, run, pack, publish); the functions map in uipath.json…
UiPath/skills
TRIGGER for authoring, operating or diagnosing UiPath Maestro BPMN.
UiPath/skills
TRIGGER for authoring UiPath Maestro Case plans as <Name.case.ts with the reference-mode TypeScript builder SDK (@uipath/maestro-builder-sdk/case), compiling to caseplan.json, and running the uip…
UiPath/skills
UiPath causal investigation across every product, runtime, and activity package.
Categories
Always invoke for .xaml or .cs workflow files. An agent skill from UiPath/skills. Uipath Rpa is an agent skill from UiPath/skills.cs workflow files.
Uipath Rpa fits situations like: tasks that involve Workflow automation; tasks that involve Test generation.
Run `npx skills add UiPath/skills --skill uipath-rpa -a claude-code`. Or copy the skill folder (skills/uipath-rpa in UiPath/skills) into .claude/skills/uipath-rpa in your project. Claude Code loads it when a task matches its description.
Run `npx skills add UiPath/skills --skill uipath-rpa -a codex`. Or copy the skill folder (skills/uipath-rpa in UiPath/skills) into .agents/skills/uipath-rpa in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add UiPath/skills --skill uipath-rpa -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uipath-rpa, .gemini/skills/uipath-rpa, .github/skills/uipath-rpa and .opencode/skills/uipath-rpa in your project.
SKILL.md names no scripts, command-line tools or credentials: Uipath Rpa is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Uipath Rpa is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 13k tokens (SKILL.md is roughly 52k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 884k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Uipath Rpa: Rpa Bugfix (coddy-project/coddy-agent, 168 stars), Schedule Recipe (mohitagw15856/pm-claude-skills, 1.4k stars), Newsblur CLI (samuelclay/NewsBlur, 7.6k stars) and N8n Docs Assistant (n8n-io/n8n, 207k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
UiPath (a GitHub organization) maintains it in UiPath/skills, which has 167 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 10, 2026.
Source: UiPath/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.