From uipath
Legacy UiPath RPA (.NET Framework 4.6.1, XAML) via `uip rpa-legacy`. Activates when project.json targetFramework='Legacy' or missing, or user mentions legacy. For Windows/cross-platform→uipath-rpa.
npx claudepluginhub uipath/skills --plugin uipathThis skill uses the workspace's default tool permissions.
> **Preview** — skill is under active development; surface and behavior may change.
references/activity-docs/ActiveDirectory.mdreferences/activity-docs/AllActivities.mdreferences/activity-docs/Cognitive.mdreferences/activity-docs/CommunicationsMining.mdreferences/activity-docs/ComplexScenarios.mdreferences/activity-docs/Credentials.mdreferences/activity-docs/Cryptography.mdreferences/activity-docs/Database.mdreferences/activity-docs/Excel.mdreferences/activity-docs/FTP.mdreferences/activity-docs/Forms.mdreferences/activity-docs/GSuite.mdreferences/activity-docs/Google-Speech.mdreferences/activity-docs/ImageProcessing.mdreferences/activity-docs/IntelligentOCR.mdreferences/activity-docs/Java.mdreferences/activity-docs/Mail.mdreferences/activity-docs/MicrosoftOffice365.mdreferences/activity-docs/MobileAutomation.mdreferences/activity-docs/OmniPage.mdMandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Preview — skill is under active development; surface and behavior may change.
Legacy UiPath RPA projects: .NET Framework 4.6.1, VB.NET expressions, classic activities (no "X" suffix). Uses uip rpa-legacy CLI (standalone, no Studio IPC needed).
_BUILT-IN-ACTIVITIES.md directly. For all others, run find-activities + type-definition first.{projectRoot} as an absolute path at Phase 0. Pass it to every CLI command. Never use cd.find-activities only for activities not in _BUILT-IN-ACTIVITIES.md.--output json — for any CLI output you need to parse. Never suppress stderr (2>/dev/null) — error details are in the JSON output.find-activities + type-definition. CLI discovery is mandatory for valid XAML.assembly=mscorlib (not System.Private.CoreLib). Use [bracket] expressions in VB.NET projects, <mca:CSharpValue> in C# projects.| Request | Action | Key Reference |
|---|---|---|
| Choose architecture | Sequence vs REFramework vs Dispatcher/Performer | project-organization-guide.md |
| Create workflow | Phase 0 → Discovery → Generate | xaml-basics-and-rules.md |
| Edit workflow | Phase 0 → Discovery → Edit | xaml-basics-and-rules.md |
| Validate file | uip rpa-legacy validate "{projectRoot}/File.xaml" --output json | validation-and-fixing.md |
| Validate project | uip rpa-legacy validate "{projectRoot}" --output json | validation-and-fixing.md |
| Package (optional) | uip rpa-legacy package "{projectRoot}" -o "{dir}" | cli-reference.md |
| Debug | uip rpa-legacy debug "{projectRoot}/File.xaml" | cli-reference.md |
| Create new project | Create project.json with right packages | project-structure.md |
| Create test data | Generate Excel/CSV/JSON/types for testing | test-data-guide.md |
| Organize project | Folder structure, naming, libraries | project-organization-guide.md |
| Add error handling | TryCatch, Retry Scope, exception classification | error-handling-guide.md |
| Fix/build selectors | Selector anatomy, dynamic selectors, anchors | selector-guide.md |
| Create tests | Test design, mock testing, verification | testing-guide.md |
If unclear which file to edit, ask the user.
project.json → establish {projectRoot} as absolute pathproject.json → verify targetFramework: "Legacy" (or absent = Legacy)expressionLanguage (VB.NET or C#).xaml files, list dependencies keys and versions — use this to avoid re-discovering packages and activities already explored earlier in conversationuip rpa-legacy validate "{projectRoot}" --output json to trigger package restore (required before find-activities works)No Studio needed. See environment-setup.md for details.
Start with the minimum. Add more only as needed.
Read _BUILT-IN-ACTIVITIES.md — complete XAML for If, Assign, Sequence, TryCatch, ForEach, While, Switch, Throw, LogMessage, InvokeCode, ForEachRow, etc. No CLI calls needed for these.
Read xaml-basics-and-rules.md — XAML structure, baseline assembly references, safety rules.
Only if you need non-built-in activities (Excel, Mail, HTTP, PDF, etc.):
Only if Flowchart/StateMachine: read _XAML-GUIDE.md for ViewState layout
Stop here. Don't read more files unless you hit a problem during validation. Additional references if needed: _PATTERNS.md (VB.NET expressions), common-pitfalls.md (gotchas), _INVOKE-CODE.md (InvokeCode details), _REFRAMEWORK.md (REFramework), uip docsai ask "..." (official docs), WebSearch (community).
See discovery-workflow.md for the full step-by-step procedure.
find-activities for every activity — use returned XamlSnippet + XmlnsDeclaration as starting pointtype-definition for every enum/complex type (exact values)| Pattern | Use When |
|---|---|
| Sequence | Linear step-by-step, no branching |
| Flowchart | Branching decisions, loops with conditions, complex control flow |
| StateMachine | Distinct states with transitions (REFramework, approval workflows) |
Before writing XAML for Flowchart or StateMachine:
ViewState is MANDATORY — without it, Studio stacks all nodes at (0,0).
<Activity> has mva:VisualBasic.Settings="{x:Null}" (VB projects)assembly=mscorlib (not System.Private.CoreLib)[bracket] notation for expressionsxmlns:av declared, ViewState on every nodeActivityAction<T> body pattern (see common-pitfalls.md)Edit tool with exact old_string matchLOOP (per-file during iteration):
validate "{projectRoot}/File.xaml" → 0 errors? → next activity
→ errors? → categorize → fix → validate again
FINAL (before completing):
validate "{projectRoot}" → 0 errors across entire project? → DONE
Fix order: Package → Structure → Type → Properties → Logic
| Category | Fix Strategy |
|---|---|
| Package | Ask user to install in Studio (no CLI install command) |
| Structure | Read XAML around error → Edit to fix XML |
| Type | type-definition for exact enum/type values |
| Properties | find-activities --include-type-definitions for exact property names |
| Logic | Check expression language, consult _PATTERNS.md, use debug |
When stuck: docsai ask → WebSearch → ask user.
See validation-and-fixing.md for detailed procedures and common error scenarios.
Only when the user asks to test/run the workflow. Do not auto-trigger. Suggest it after completing validation: "Would you like me to run the workflow to test it?"
Always validate before debugging — don't debug a file with compilation errors.
# Basic execution
uip rpa-legacy debug "{projectRoot}/Main.xaml"
# With input arguments
uip rpa-legacy debug "{projectRoot}/Main.xaml" -i '{"in_FilePath": "C:\\data.xlsx", "in_Count": 5}'
# Capture result to file
uip rpa-legacy debug "{projectRoot}/Main.xaml" -i '{"in_FilePath": "C:\\data.xlsx"}' --result-path /tmp/result.json --log-level error
Reading results:
Data.Output for out-argument valuesData.Error for diagnostics:
Error.ActivityDisplayName + Error.XamlFile → locate the problemError.ExceptionType + Error.Message → understand itError.StackTrace → full call chainData.ErrorLog → all error-level robot log entries for contextFix-and-retry loop: edit XAML → validate → debug again.
See cli-reference.md for all options.
validate "{projectRoot}")| Command | Purpose |
|---|---|
uip rpa-legacy find-activities <path> --query "..." [--exact] --output json | Find activities, class names, arguments, XAML snippet, xmlns |
uip rpa-legacy type-definition <path> --type "..." --output json | Inspect types, enum values, properties |
uip rpa-legacy validate <file-or-project-path> --output json | Validate single file or entire project |
uip rpa-legacy find-package --query "..." --output json | Search NuGet feeds for packages |
uip rpa-legacy package <path> -o <dir> | Package into .nupkg (optional) |
uip rpa-legacy debug <xaml-path> -i '...' | Execute via UiRobot |
uip docsai ask "question" --output json | Search UiPath documentation |
Full reference: cli-reference.md
| File | Content |
|---|---|
| cli-reference.md | All CLI commands, parameters, error recovery |
| discovery-workflow.md | Detailed discovery steps, troubleshooting |
| environment-setup.md | Project root detection, legacy verification |
| project-structure.md | Legacy project layout, project.json schema |
| xaml-basics-and-rules.md | XAML anatomy, expressions, safety rules |
| common-pitfalls.md | Dangerous defaults, scope patterns, gotchas |
| validation-and-fixing.md | Validate & fix loop, error scenarios |
| test-data-guide.md | Excel, CSV, JSON, top 10 file types and UiPath types |
| error-handling-guide.md | Exception classification, TryCatch patterns, Retry Scope, ContinueOnError |
| selector-guide.md | Selector anatomy, dynamic selectors, anchors, validation checklist |
| project-organization-guide.md | Folder conventions, naming, Config.xlsx, libraries, single responsibility |
| data-manipulation-guide.md | RegEx, advanced LINQ, JObject/JArray, StringBuilder, type conversions |
| orchestrator-guide.md | Queue lifecycle, asset types, logging levels, triggers, environments |
| testing-guide.md | Test design, verification activities, mock testing, debugging strategy |
references/activity-docs/)| File | Content |
|---|---|
_BUILT-IN-ACTIVITIES.md | Top 20 activities with complete XAML — no find-activities needed |
_INDEX.md | Master index with adoption rankings |
_PATTERNS.md | VB.NET cheat sheet, DataTable ops, error handling |
_XAML-GUIDE.md | XAML internals, Flowchart/StateMachine layout guides |
_COMMON-PITFALLS.md | Real-world gotchas by package |
_INVOKE-CODE.md | InvokeCode: properties, templates, compilation |
_REFRAMEWORK.md | REFramework template structure and customization |
_DU-PROCESS.md | Document Understanding pipeline template |
AllActivities.md | Complete legacy activity catalog |
{Package}.md | Per-package docs (Excel, Mail, System, UIAutomation, etc.) |