marcelocruzrpa/uipath-ai-skills/uipath-core

Claude Code and agent skill by marcelocruzrpa/uipath-ai-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Build UiPath Studio projects, REFramework scaffolds, XAML workflows, and VB/C# expressions via 104 deterministic Python generators (plus plugin generators). ALWAYS use this skill — never hand-write .xaml files. TRIGGER when the user mentions UiPath, REFramework, XAML, RPA, Orchestrator, UiPath Studio, dispatcher, performer, queue items, robot, ACME (test app), .xaml, project.json, Config.xlsx, or asks to build/generate/scaffold/automate anything resembling RPA. SKIP only when the task is explicitly Power Automate, n8n, Zapier, or non-UiPath RPA.

Install

npx vskill@latest install marcelocruzrpa/uipath-ai-skills/uipath-core

SKILL.md

UiPath Core Skill

⚠️ Safety Rules (I-1, I-2 in rules.md)
- Playwright/browser inspection is READ-ONLY. Login page → STOP, WAIT for user. See ui-inspection.md → Login Gate.
- Desktop inspection via PowerShell (inspect-ui-tree.ps1): read-only tree inspection only.
- NEVER generate credentials, tokens, or passwords — real or fake.

Generate production-quality UiPath automation artifacts using real Studio-exported templates and comprehensive reference documentation. Template baseline: Studio 24.10 Windows.

Hard Rule: Never Write .xaml by Hand

If you are about to use the Write tool with a .xaml extension, STOP. Every .xaml file in this skill MUST come from python -m uipath_core.scaffold_project or python scripts/generate_workflow.py. Hand-written XAML bypasses lint rules 1–122 and produces unrunnable workflows. If generator output is wrong, fix the JSON spec — do not edit .xaml manually except for narrow modify_framework.py operations.

This rule overrides any plan you would have produced from training memory.

Planning Workflow (read this BEFORE drafting any plan)

When the user hands you a PDD, requirements doc, or "build a UiPath project that does X" — STOP before drafting architecture. Read this section first; it overrides any plan you would have produced from training memory. The full text of every gate below lives in references/scaffolding.md § "Generating a Full Project" — this is the planner-side hoist.

PLAN SELF-CHECK — answer BEFORE presenting your plan to the user
  • [ ] For EACH workflow in my plan: does it implement the PDD's specified approach, or did I substitute a "better" alternative? (e.g., InvokeCode SHA1 instead of browser automation of sha1-online.com)

→ If ANY substitution exists: REMOVE it and implement the PDD way. Propose the alternative AFTER.

  • [ ] Does my plan include an explicit inspection step for EVERY target app?

→ Browser apps: "Inspect [app] with Playwright" (if Playwright MCP available) → Desktop apps: "Inspect [app] with PowerShell" (if PowerShell available on Windows) → If ANY app lacks an inspection step and the tool is available: ADD it now.

If you cannot answer YES to all checks, revise your plan before presenting it.

Echo-back requirement: the produced plan MUST contain a PLAN SELF-CHECK: block (in Phase 0 or as Phase 0.5) with two ✓ lines, one per box, naming the specifics — for example:

PLAN SELF-CHECK:
✓ No PDD substitutions — SHA1 computed via sha1-online.com browser flow as PDD specifies
✓ Phase 2 includes inspection for every target app: System1 + SHA1Online

For a single-app or non-UI process, the second line still appears — e.g. ✓ Phase 2 explicitly notes no UI inspection required (no browser/desktop apps in scope). A plan without this echo-back block is incomplete; revise before presenting.

PLAN OUTPUT FORMAT — present your plan using this structure
Phase 0: Architecture decision — Sequence vs Dispatcher+Performer (P-2); A-1 wiring
Phase 1: Workflows + arguments — one entry per .xaml with In/Out/InOut signatures
Phase 2: EACH app to inspect — one bullet per target app, e.g. "Inspect acme-test.com with Playwright"
Phase 2b: Write selectors.json (apps → screens → elements with taxonomy_type)
Phase 2c: generate_object_repository.py --from-selectors selectors.json --project-dir <each project>
Phase 2d: Pass --project-dir to every generate_workflow.py call (auto-wires obj_repo refs)
Phase 3: Generate sub-workflows ONE AT A TIME — validate_xaml --lint after EACH file
Phase 3b: modify_framework.py wire-uielement <project> <AppName> for EACH app with UI
Phase 3c: (Dispatcher only) wire SCAFFOLD.DISPATCHER_GET_ITEM marker — generate snippet first (G-3)
Phase 4: Wire Main.xaml — orchestration only, log bookends (A-7)
Phase 5: Project-level validation — validate_xaml <project_folder> --lint
Phase 6: Output Config.xlsx required keys grouped by sheet — validate_xaml --config-keys <project>

If Phase 2 is empty or missing, you are violating the skill rules. Even when no UI inspection is needed (no browser/desktop apps), state that explicitly: Phase 2: no UI inspection required (no browser/desktop apps in scope).

Per-phase reference anchors
PhaseRead before completing
0scaffolding.md → CRITICAL: Architecture Selection for PDDs (P-2)
1decomposition.md → Universal Rules 1–8, naming + arguments (Rule 8 = credentials)
2ui-inspection.md → Playwright MCP workflow + Login Gate (I-2); ui-inspection-reference.md for desktop
2bcheat-sheet.md → selectors.json schema
2cscripts/generate_object_repository.py (Lint 94 is ERROR if skipped)
2dgeneration.md → Wiring Object Repository References
3cheat-sheet.md → JSON spec patterns; scripts/generate_workflow.py (Rules G-1, G-2)
3bscripts/modify_framework.py wire-uielement; decomposition.md § UiElement chain
3cscripts/modify_framework.py replace-marker SCAFFOLD.DISPATCHER_GET_ITEM (Rule G-3)
4decomposition.md § Login/Launch + REFramework wiring; A-7 log bookends
5scripts/validate_xaml <project> --lint
6scripts/validate_xaml --config-keys <project>; config-sample.md
Config layout rule of thumb

When listing required Config.xlsx keys (Phase 6), apply this rule before falling back to config-sample.md's decision flowchart:

  • URLs, API endpoints, file/network paths, shared values across projects, or anything whose value may change frequently → Assets sheet. They are environment-specific, fetched from Orchestrator at InitAllSettings, and admins update them without redeploying. If you expect the value to be tuned post-deployment (timeouts, thresholds, recipient lists, feature flags, batch sizes), it belongs here too — Settings/Constants require a redeploy to change.
  • Credential asset NAMES → Settings sheet. The string in the cell is just a name passed to GetRobotCredential; storing it in Assets would trigger a needless GetRobotAsset round-trip. The credential value itself never appears in Config.xlsx — fetch it at point of use.
  • Project identity (queue name, process name, processes-to-kill list) → Settings sheet. Local to the project, never changes per environment.
  • Framework knobs (retry counts, log message templates) → Constants sheet. Identical across dev/staging/prod.

validate_xaml --config-keys <project> auto-classifies via this rule and emits a per-key reason — review the suggestion before manually editing Config.xlsx.

Compat-v2 (version-band) requirement — ENFORCED: every scaffold_project.py invocation MUST include --band <stable_year> (e.g., --band 25). To pick the band: run python scripts/resolve_nuget.py --all and read the major year of UiPath.System.Activities in the output — that's the latest stable. Available band profiles live under references/version-profiles/UiPath.System.Activities/<year>.<minor>.json. Every dependency MUST be resolved via python scripts/resolve_nuget.py <package> — no version literals from training memory (G-5). If project.json is generated without versionBand, lints 120–122 will REJECT it. The 23.10.x and 24.x bands are end-of-life and MUST NOT be used for new projects in 2026.

Final gate

If you are about to present an architectural plan and have NOT produced a Phase 2: inspection list with one entry per target app (or an explicit "no UI in scope" line), you are violating skill rules — go back and add Phase 2 first.

When To Read Which Reference

Start here. Match the user's task to the right file, then read only what's needed. For files > 200 lines, use grep or line-range reads — never read entire large files or XAML assets.

Common Tasks (check these first)
TaskRead first
Generate a XAML workflow (any kind)cheat-sheet.md → JSON spec patterns → scripts/generate_workflow.py (G-1)
Scaffold a projectscaffolding.md → Template Selection → run scripts/scaffold_project.py
Plan a new project (PDD → architecture)scaffolding.md → PLAN SELF-CHECK & Phase 0–6 (READ BEFORE PLANNING)
Inspect a web app (selectors)ui-inspection.md → Playwright MCP workflow → playwright-selectors.md
Validate XAMLRun scripts/validate_xaml <project> --lint
Fix a specific lint warninglint-reference.md → search by lint number
Write an expression (VB.NET/C#)expr-foundations.md (start here for any expression task)
Decomposition / project structuredecomposition.md → Decomposition rules (Universal 1-8, Browser 9-13, Desktop 14)
Fix a user's .xaml fileskill-guide.md → Example 6
Tasks, form tasks→ uipath-tasks skill (read its SKILL.md)
Activity-Specific Reference
TaskFileSection guidance (for large files)
Pick the right activity for an intentreferences/routing-index.md (auto-generated)Grep for the user's intent or the closest activity name. Don't guess generator names from filenames.
Core activities (Assign, Log, Delay, InputDialog)xaml-foundations.md (165 lines)Read in full
Control flow (If, ForEach, While, Flowchart)xaml-control-flow.md (208 lines)Read in full
DataTable ops, file systemxaml-data.md (255 lines)Grep for activity name
Error handling, TryCatch, Throw, RetryScopexaml-error-handling.md (194 lines)Read in full
InvokeWorkflowFile, InvokeCode, InvokeMethodxaml-invoke.md (175 lines)Read in full
Orchestrator, queues, HTTP, credentialsxaml-orchestrator.md (293 lines)Grep for activity name
Excel, Email, PDF activitiesxaml-integrations.md (285 lines)Grep: ## Excel, ## Email, or ## PDF
Build/fix selectorsxaml-ui-automation.md (576 lines)Don't read in full. Grep: ## Selector Reference or specific selector type
UI automation XAML (NClick, NTypeInto, etc.)xaml-ui-automation.mdSelector guidance only. XAML generation via generate_workflow.py (G-1)
Expression Reference (large files — use targeted reads)
TaskFileSection guidance
DataTable expressions (Select, Compute, LINQ)expr-datatable.md (432 lines)Grep: ## Select, ## Compute, ## LINQ, ## Filter
String/DateTime/numeric expressionsexpr-strings-datetime.md (502 lines)Grep: ## String, ## DateTime, ## Numeric, ## Regex
JSON, collections, type conversionsexpr-collections-json.md (462 lines)Grep: ## JSON, ## Dictionary, ## List, ## LINQ
Project & Configuration
TaskRead first
Choose template or variantscaffolding.md → Choosing the Right Variant
Browser automation with Playwrightui-inspection.md → Playwright MCP workflow
Desktop app inspectionui-inspection.md → Desktop Inspection → ui-inspection-reference.md
Login/Launch patterndecomposition.md → Login/Launch section
Config.xlsx keys and structureconfig-sample.md → three-sheet reference, decision flowchart
Extract Config keys from projectRun validate_xaml <project> --lint — lint 39
Lint regression testsRun scripts/run_lint_tests.py
Ground rules (all rule definitions)rules.md — single source of truth for G/I/A/P/S rules
project.json schema and configuration fieldsscaffolding.md → Key project.json Configuration Fields

Ground Rules

Full rule definitions with rationale: references/rules.md. Rules below are referenced by ID.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
107
Repository forks
20
7-day trend score
23

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/marcelocruzrpa/uipath-ai-skills/uipath-core/badge)](https://verified-skill.com/skills/marcelocruzrpa/uipath-ai-skills/uipath-core)

Something wrong with this skill or its page? Tell us.