Skip to content
AI & Agents
Skill

/uipath-activity-migrator

UiPath Activity Migrator — migrate Windows-Legacy RPA projects (`targetFramework: Legacy`, classic `ui:` activities) to the Windows framework and rewrite UiPath's own classic activities into their modern UiPath counterparts with the standalone `UiPath.Upgrade.exe`. Windows only.

BOOST
From plugin
uipath
17232 skills7 commands3 hooks
Install
$ npx -y skills add uipath/skills --skill uipath-activity-migrator --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/uipath-activity-migrator

Context preview

The summary Claude sees to decide when to auto-load this skill.

UiPath Activity Migrator — migrate Windows-Legacy RPA projects (`targetFramework: Legacy`, classic `ui:` activities) to the Windows framework and rewrite UiPath's own classic activities into their modern UiPath counterparts with the standalone `UiPath.Upgrade.exe`. Windows only.

SKILL.md

uipath-activity-migrator.SKILL.md
name: uipath-activity-migrator
description: "UiPath Activity Migrator — migrate Windows-Legacy RPA projects (`targetFramework: Legacy`, classic `ui:` activities) to the Windows framework and rewrite UiPath's own classic activities into their modern UiPath counterparts with the standalone `UiPath.Upgrade.exe`. Windows only. Third-party or custom packages are not rewritten, only version-moved. Acquires the tool, resolves the target UIAutomation line, runs analyze then upgrade into a sibling folder, verifies with `uip rpa build`, triages the SARIF. Classic UI Automation→modern UIA, Outlook classic→Microsoft 365, GSuite classic→modern, Microsoft.Activities.Extensions→Invoke Code. Also the post-migration fix for migrated projects whose expression-selector targets fail or silently report not-found. Authoring or editing Legacy `.xaml`→uipath-rpa. Migration-readiness review without running the tool→uipath-review. Post-migration failures with neither marker nor annotation→uipath-troubleshoot. Maestro `instance migrate`→the Maestro skills."
when_to_use: "User says 'migrate activities', 'migrate UiPath activities', 'classic UiPath activities to modern', 'migrate this project', 'upgrade from Windows-Legacy', 'convert classic to modern activities', 'modernize this workflow', 'run the Activity Migrator', 'UiPath.Upgrade.exe', 'legacy to Windows', 'activity migration report', 'post migration fix', 'check always returns false after migration', 'could not find the UI element after migration'. NOT for `uip solution deploy upgrade`."

UiPath Activity Migrator

Drive the standalone Activity Migrator (`UiPath.Upgrade.exe`) end to end: acquire, analyze, upgrade, verify, report. The tool converts a Windows-Legacy project to the Windows framework and rewrites UiPath's classic activities into their modern UiPath equivalents; third-party and custom packages are only moved to a Windows-compatible version by restore, never rewritten. It runs without Studio. It requires Windows and the .NET Desktop Runtime 8.

<!--skill-flavor:host-availability-extra:start-->

<!--skill-flavor:host-availability-extra:end-->

> **Read referenced files in full.** This SKILL.md is a router. Before running `analyze`, open and read the whole package guide for every classic package the project uses (see [Package Routing](#package-routing)). Package guides add flags, config files, triage rules, and post-migration steps that the core workflow does not know.

`<SKILL_DIR>` below is the folder that contains this SKILL.md. `<PROJECT_DIR>` is the absolute path of the folder holding `project.json`. `<OUTPUT_DIR>` is the migrated copy, a sibling folder, `<PROJECT_DIR>_Upgraded` by default, always as an absolute path: `uip rpa` rejects relative ones.

When to Use This Skill

  • User wants to **migrate**, **upgrade**, **convert**, or **modernize** a Windows-Legacy project or its classic UiPath activities
  • User wants classic UiPath **UI Automation** activities rewritten as their modern counterparts
  • User wants to **run the Activity Migrator** or mentions `UiPath.Upgrade.exe`
  • User wants a **migration dry run** or **migration report** produced by the tool (`analyze`)
  • User wants classic **Outlook** mail, classic **GSuite**, or **Microsoft.Activities.Extensions** activities migrated
  • User wants a **post-migration fix**: an already-migrated project whose expression-selector targets fail at runtime or silently report not-found, or one carrying `[PostMigration Action Required]` annotations. The skill owns such a failure while the failing target or an enclosing construct carries one of three signals: the `.ToStringWithDelimiter()` marker, a `[PostMigration Action Required]` line, or a `by uipath-activity-migrator` line (Rule 12). Otherwise the failure belongs to uipath-troubleshoot

Do not use for: authoring or editing Legacy workflows (uipath-rpa, Legacy mode), a readiness review that does not run the tool (uipath-review), diagnosing a runtime failure of an already-migrated project whose failing construct carries none of the three signals above (uipath-troubleshoot), `uip solution deploy upgrade`, or Maestro `instance migrate`.

Critical Rules

1. **Windows only.** Check the OS before anything else. On macOS or Linux, stop and tell the user to run the migration from a Windows machine that holds the project. The tool is a .NET 8 desktop process and cannot run elsewhere. 2. **Never run the tool in console mode.** Always pass `--output-format sarif` and redirect stdout to a file. Console mode opens an HTML report in the browser and prints no machine-readable result. 3. **Never trust the exit code.** The tool exits 0 whether the migration succeeded, partially succeeded, or failed. Status comes only from the SARIF results, classified per [sarif-triage-guide.md](references/sarif-triage-guide.md). 4. **Analyze before upgrade, every time.** Run `analyze`, triage it, and only then run `upgrade`. When the analyze triage shows no stop condition, proceed to `upgrade` without asking, unless the user asked only for an analysis, a report or a plan: then stop after the triage, present the findings with the proposed treatment of each needs-attention item, and run `upgrade` only on the user's go. Any request whose deliverable is information rather than a migrated project counts as that: analysis, report, plan, dry run, "can this be migrated", "what would change"; when the wording leaves it open, ask one yes/no before `upgrade`. Rule 13 governs a treatment the user chooses there. One exception: a Step 4 rerun that the build guide or a package guide prescribes with an added flag reuses the Step 3 analyze; it counts as one build-fix iteration (Rule 10), and the skill deletes the `<OUTPUT_DIR>` it created in this session without asking. 5. **Never write into the source project.** `upgrade` writes to a fresh sibling folder. Never point `--output-path` at `<PROJECT_DIR>`, never copy the output back over the source, never delete the source, and never edit a f

Read more
Ships withuipath

UiPath Agent Skills give AI coding agents the domain knowledge to build, run, test, and deploy UiPath automations and agents — directly from your development environment.

Get the whole plugin

Other skills on uipath.