$npx -y skills add marcelocruzrpa/uipath-ai-skills --skill uipath-coreBuild 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, Orches
| 1 | # UiPath Core Skill |
| 2 | |
| 3 | > ⚠️ **Safety Rules** (I-1, I-2 in `rules.md`) |
| 4 | > - Playwright/browser inspection is **READ-ONLY**. Login page → STOP, WAIT for user. See `ui-inspection.md` → Login Gate. |
| 5 | > - Desktop inspection via PowerShell (`inspect-ui-tree.ps1`): read-only tree inspection only. |
| 6 | > - NEVER generate credentials, tokens, or passwords — real or fake. |
| 7 | |
| 8 | Generate production-quality UiPath automation artifacts using real Studio-exported templates and comprehensive reference documentation. Template baseline: Studio 24.10 Windows. |
| 9 | |
| 10 | ## Hard Rule: Never Write .xaml by Hand |
| 11 | |
| 12 | 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. |
| 13 | |
| 14 | This rule overrides any plan you would have produced from training memory. |
| 15 | |
| 16 | ## Planning Workflow (read this BEFORE drafting any plan) |
| 17 | |
| 18 | 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. |
| 19 | |
| 20 | ### PLAN SELF-CHECK — answer BEFORE presenting your plan to the user |
| 21 | |
| 22 | - [ ] 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) |
| 23 | → If ANY substitution exists: REMOVE it and implement the PDD way. Propose the alternative AFTER. |
| 24 | - [ ] Does my plan include an explicit inspection step for EVERY target app? |
| 25 | → Browser apps: "Inspect [app] with Playwright" (if Playwright MCP available) |
| 26 | → Desktop apps: "Inspect [app] with PowerShell" (if PowerShell available on Windows) |
| 27 | → If ANY app lacks an inspection step and the tool is available: ADD it now. |
| 28 | |
| 29 | If you cannot answer YES to all checks, revise your plan before presenting it. |
| 30 | |
| 31 | **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: |
| 32 | |
| 33 | ``` |
| 34 | PLAN SELF-CHECK: |
| 35 | ✓ No PDD substitutions — SHA1 computed via sha1-online.com browser flow as PDD specifies |
| 36 | ✓ Phase 2 includes inspection for every target app: System1 + SHA1Online |
| 37 | ``` |
| 38 | |
| 39 | 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. |
| 40 | |
| 41 | ### PLAN OUTPUT FORMAT — present your plan using this structure |
| 42 | |
| 43 | ``` |
| 44 | Phase 0: Architecture decision — Sequence vs Dispatcher+Performer (P-2); A-1 wiring |
| 45 | Phase 1: Workflows + arguments — one entry per .xaml with In/Out/InOut signatures |
| 46 | Phase 2: EACH app to inspect — one bullet per target app, e.g. "Inspect acme-test.com with Playwright" |
| 47 | Phase 2b: Write selectors.json (apps → screens → elements with taxonomy_type) |
| 48 | Phase 2c: generate_object_repository.py --from-selectors selectors.json --project-dir <each project> |
| 49 | Phase 2d: Pass --project-dir to every generate_workflow.py call (auto-wires obj_repo refs) |
| 50 | Phase 3: Generate sub-workflows ONE AT A TIME — validate_xaml --lint after EACH file |
| 51 | Phase 3b: modify_framework.py wire-uielement <project> <AppName> for EACH app with UI |
| 52 | Phase 3c: (Dispatcher only) wire SCAFFOLD.DISPATCHER_GET_ITEM marker — generate snippet first (G-3) |
| 53 | Phase 4: Wire Main.xaml — orchestration only, log bookends (A-7) |
| 54 | Phase 5: Project-level validation — validate_xaml <project_folder> --lint |
| 55 | Phase 6: Output Config.xlsx required keys grouped by sheet — validate_xaml --config-keys <project> |
| 56 | ``` |
| 57 | |
| 58 | **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)`. |
| 59 | |
| 60 | ### Per-phase reference anchors |
| 61 | |
| 62 | | Phase | Read before completing | |
| 63 | |---|---| |
| 64 | | 0 | `scaffolding.md` → CRITICAL: Architecture Selection for PDDs (P-2) | |
| 65 | | 1 | `decomposition.md` → |