Source profileQuality 94/100Review permissions

UiPath/skills/skills/uipath-solution/SKILL.md

uipath-solution

Always invoke for `.uipx` files. UiPath Solution lifecycle via the `uip solution` CLI: init/restore/pack/publish/deploy/activate/upload, projects add|import|remove, resources refresh|add|remove|edit. Also DIAGNOSE solution-lifecycle failures: pack/publish/deploy/activate errors, stale or missing bindings, unimported/unset/unresolved resources, deploy error codes (e.g. `[1009] Invalid argument 'Value'`), publish name+version/processKey collisions, and `uip solution` 'unknown command' after the ne

Source repository stars
149
Declared platforms
0
Static risk flags
1
Last source update
2026-08-25
Source checked
2026-08-25

Decision brief

What it does: where it fits

Create, pack, publish, deploy, and manage UiPath Solution packages (.uipx) via the uip solution CLI surface. A Solution bundles multiple automation projects (processes, libraries, tests, agent projects, API workflows) into a single deployable unit.

Best for

  • User has a .uipx solution and wants to pack / publish / deploy / activate / upload
  • User wants to create a new solution (uip solution init), add or remove projects, or refresh solution resources
  • User asks to set up a CI/CD pipeline that builds, publishes, and deploys a UiPath solution

Not for

  • Hand-rolling REST calls for pack, publish, deploy run, or activate. The uip solution CLI handles auth, folder headers, pipeline semantics, and pagination correctly. Reach for REST only after confirming no command covers…
  • Editing resources/solutionfolder/ directly. It is auto-generated and auto-cleaned. Manual edits desync from .uipx. Use uip solution projects add/remove instead.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/UiPath/skills --skill "skills/uipath-solution"
Safe inspection promptEditorial

Inspect the Agent Skill "uipath-solution" from https://github.com/UiPath/skills/blob/33e76a6b8f19e29d6af48adb9799d602c196c3cb/skills/uipath-solution/SKILL.md at commit 33e76a6b8f19e29d6af48adb9799d602c196c3cb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    The typical lifecycle for a UiPath Solution:

    pack → publish → deploy run — promotes a versioned package to Orchestrator.upload — pushes the solution to Studio Web for browser-based debugging only. Does not produce a published package and cannot be deployed via deploy run.The typical lifecycle for a UiPath Solution:
  2. 02

    When to Use This Skill

    Skip this skill when: - The task is PDD → SDD architecture/design (sdd.md / pdd.md) — load uipath-planner. - The deployable is a single non-solution package (e.g., a one-off RPA library or coded app) — those use uip rpa publish / uip codedapp publish and route through uipath-pla…

    User has a .uipx solution and wants to pack / publish / deploy / activate / uploadUser wants to create a new solution (uip solution init), add or remove projects, or refresh solution resourcesUser asks to set up a CI/CD pipeline that builds, publishes, and deploys a UiPath solution
  3. 03

    CLI Surface Probe

    Before the first uip solution … command in a session, probe the solution surface to detect pre- vs post-rename CLI:

    Result Success → post-rename CLI (default). Use the commands and flags as documented in the references.unknown command / non-zero exit → pre-rename CLI. Translate via the table below before each call. Re-probe on any later unknown command error.command not found / uip: not found / 'uip' is not recognized → CLI not installed. Tell the user to run npm install -g @uipath/cli, then uip login, and abort the work until those succeed.
  4. 04

    Critical Rules

    1. Probe the CLI surface before the first uip solution command in a session. Run uip solution init --help --output json. Success = post-rename CLI (default); unknown command = pre-rename CLI — translate via the fallback table above. Re-probe on any later unknown command error. 2…

    Probe the CLI surface before the first uip solution command in a session. Run uip solution init --help --output json. Success = post-rename CLI (default); unknown command = pre-rename CLI — translate via the fallback ta…Always use --output json for uip solution commands whose output you parse. JSON is compact and stable; the default for non-interactive runs.Use the CLI, never roll your own REST for solution operations. Hand-rolled HTTP calls miss the X-UIPATH-OrganizationUnitId header, OData filter shape, pagination envelope, and pipelinesInstall deploy semantics. Only fal…
  5. 05

    Reference Navigation

    Review the “Reference Navigation” section in the pinned source before continuing.

    Review and apply the “Reference Navigation” source section.

Permission review

Static risk signals and limitations

Runs scripts

medium · line 33

The documentation asks the agent to run terminal commands or scripts.

`command not found` / `uip: not found` / `'uip' is not recognized` → CLI not installed. Tell the user to run `npm install -g @uipath/cli`, then `uip login`, and abort the work until those succeed.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score94/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars149SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
UiPath/skills
Skill path
skills/uipath-solution/SKILL.md
Commit
33e76a6b8f19e29d6af48adb9799d602c196c3cb
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

UiPath Solution — uip solution lifecycle

Create, pack, publish, deploy, and manage UiPath Solution packages (.uipx) via the uip solution CLI surface. A Solution bundles multiple automation projects (processes, libraries, tests, agent projects, API workflows) into a single deployable unit.

Use the CLI. Don't roll your own REST for solution ops. Hand-rolling HTTP calls misses the X-UIPATH-OrganizationUnitId folder header, OData filter shape, pagination envelope, pipelinesInstall deploy semantics, retry behavior, and the Result/Code/Data output contract. The CLI is the source of truth.

Platform support. Solutions runs on Automation Cloud and on self-hosted Automation Suite from 2.2510.0 onward; not on Standalone Orchestrator. Available project types vary by AS version (Maestro self-hosted only from 2.2510.2). Compat matrix + project-type-by-version table → Solution Overview — Platform availability.

When to Use This Skill

  • User has a .uipx solution and wants to pack / publish / deploy / activate / upload
  • User wants to create a new solution (uip solution init), add or remove projects, or refresh solution resources
  • User asks to set up a CI/CD pipeline that builds, publishes, and deploys a UiPath solution
  • User mentions deploy configs, environment promotion, or activating a deployed solution
  • A skill or main agent detected a .uipx file and redirected the user here

Skip this skill when:

  • The task is PDD → SDD architecture/design (sdd.md / pdd.md) — load uipath-planner.
  • The deployable is a single non-solution package (e.g., a one-off RPA library or coded app) — those use uip rpa publish / uip codedapp publish and route through uipath-platform or the relevant specialist.
  • The task is non-solution Orchestrator work (folders, jobs, assets, queues, IS connections) — load uipath-platform.

CLI Surface Probe

Before the first uip solution … command in a session, probe the solution surface to detect pre- vs post-rename CLI:

uip solution init --help --output json
  • Result Success → post-rename CLI (default). Use the commands and flags as documented in the references.
  • unknown command / non-zero exit → pre-rename CLI. Translate via the table below before each call. Re-probe on any later unknown command error.
  • command not found / uip: not found / 'uip' is not recognized → CLI not installed. Tell the user to run npm install -g @uipath/cli, then uip login, and abort the work until those succeed.
Post-rename (default)Pre-rename equivalent
uip solution init <NAME>uip solution new <NAME>
uip solution deploy run --parent-folder-path <PATH>uip solution deploy run --folder-path <PATH>
uip solution deploy run --parent-folder-key <KEY>uip solution deploy run --folder-key <KEY>
uip solution projects <VERB>uip solution project <VERB> (singular still works post-rename, but is hidden and deprecated)
uip solution resources <VERB>uip solution resource <VERB>
uip solution projects import <PATH>uip solution project import --source <PATH>

All other solution subcommands (pack, publish, deploy activate/status/uninstall, upload, resources …, projects add/remove/list) are unchanged on both surfaces.

Critical Rules

  1. Probe the CLI surface before the first uip solution command in a session. Run uip solution init --help --output json. Success = post-rename CLI (default); unknown command = pre-rename CLI — translate via the fallback table above. Re-probe on any later unknown command error.
  2. Always use --output json for uip solution commands whose output you parse. JSON is compact and stable; the default for non-interactive runs.
  3. Use the CLI, never roll your own REST for solution operations. Hand-rolled HTTP calls miss the X-UIPATH-OrganizationUnitId header, OData filter shape, pagination envelope, and pipelinesInstall deploy semantics. Only fall through to REST after confirming no uip solution command covers the task.
  4. Never hand-edit resources/solution_folder/. It's auto-generated by uip solution projects add / import and auto-cleaned by projects remove. Manual edits desync from .uipx and produce silent failure modes. See scenarios/manual-edits.md.
  5. .uipx and resources/solution_folder/ must always agree on the project set. Diffing them is the fastest way to detect corrupted state. If they disagree, fix via uip solution projects add/remove — never by editing either side directly.
  6. Run uip solution resources refresh before pack or upload. Bundled artefact files and userProfile/<userId>/debug_overwrites.json must reflect current cloud state. Skipping refresh ships stale bindings.
  7. AppV2 coded apps register in .uipx when authored inside a solution. uip codedapp init is the solution-side scaffolding entry point — run it from inside a .uipx solution. It writes project.uiproj (ProjectType: "AppV2") + webAppManifest.json, nests source under source/dist/, and auto-registers as Type: "AppV2" — emitting resources/solution_folder/app/{Coded,CodedAction}/. uip solution projects add / uip solution projects import cover existing AppV2 folders too — both read webAppManifest.config.isActionApp to pick Coded / CodedAction subType (defaults Coded for legacy folders with no manifest). uip solution pack bundles them; uip solution deploy run provisions them. Standalone coded apps are a different lifecycle — scaffold them with npx create-vite@latest (not uip codedapp init), keep a flat dist/ at the project root, and deploy via uip codedapp packuip codedapp publishuip codedapp deploy. See /uipath:uipath-coded-apps.
  8. Verify the artifact after every CLI mutation. Read project.json, .uipx, or uip solution deploy status output — exit codes lie. Verification is additional; it does not replace requested read-only list commands. If the user asks to show or list registered projects, solution resources, packages, deployments, or statuses, run the matching uip solution ... list/status --output json command and then inspect files only as a secondary sanity check.
  9. For multi-environment promotion, switch tenants with uip login tenant set <tenant> and pass a per-environment deploy config via --config-file <path>. The same packed .uipx deploys to dev/staging/prod — the environment differs by the target tenant and the config file (generated with deploy config get, edited with config set / config link), not by a different package. There is no -c <CONFIG_KEY> flag.

Workflow

The typical lifecycle for a UiPath Solution:

1. init / project add  → Create solution, register projects (.uipx + resources/solution_folder/)
2. resources refresh   → Sync bundled artefacts and debug overwrites with cloud state
3. (optional) restore  → Resolve NuGet deps in place (incl. authenticated Orchestrator feeds); login first
4. pack                → Produce deployable .zip package
5. login               → uip login (if not already authenticated)
6. publish             → Upload packed solution to UiPath
7. deploy run          → Promote to Orchestrator (auto-activates by default)
8. (optional) activate → Use --skip-activate on deploy, then activate explicitly

restore is an optimization, not a requirement. pack restores dependencies internally, so a separate restore step is only useful when you want deps resolved up front — most often in CI (login → restore → pack) to fail fast on a missing feed before the heavier pack runs. restore takes a <solutionPath> only (solution dir with a .uipx, or a .uis file), resolves deps in place, and does not produce a package. It needs an authenticated session to reach private Orchestrator feeds, so run uip login before it.

AppV2 coded apps in the solution flow through uip solution, not uip codedapp directly. When a coded-app project has Type: "AppV2" in .uipx, uip solution pack bundles its .nupkg and uip solution deploy run provisions it in the deployment folder — no separate uip codedapp pack / publish / deploy step. Standalone coded apps (scaffolded outside any solution via npx create-vite, flat dist/ at the project root, no project.uiproj / webAppManifest.json) use the direct codedapp path instead. See uipath-coded-apps for the standalone lifecycle and for authoring an AppV2 project inside a solution via uip codedapp init.

Two distinct distribution paths from the same source:

  • packpublishdeploy run — promotes a versioned package to Orchestrator.
  • upload — pushes the solution to Studio Web for browser-based debugging only. Does not produce a published package and cannot be deployed via deploy run.

Authentication is a prerequisite. Check uip login status --output json before any work; if not logged in, ask the user to run uip login (interactive browser flow). See uipath-platform for full auth options (interactive OAuth, client credentials, tenant switching).

This skill is the terminal step of an SDD-driven build: after uipath-planner produces the SDD and derives the task list, and implementation specialists build the projects, the .uipx is packed and shipped here.

Reference Navigation

FilePurpose
Solution OverviewWhat a Solution is, .uipx manifest, file structure, lifecycle diagram, command tree
Develop a Solutionuip solution init / project add / import / remove / resources refresh / resources add / resources remove / resources edit; field-tested gotchas
Pack and Deployrestore / pack / publish / deploy run, deploy configs, CI/CD pipeline patterns
Activate and Managedeploy activate / status / uninstall, environment management
Scenarios IndexFailure modes and edge cases — manual edits, shared resources, virtual resources, name collisions

Anti-patterns

  1. Hand-rolling REST calls for pack, publish, deploy run, or activate. The uip solution CLI handles auth, folder headers, pipeline semantics, and pagination correctly. Reach for REST only after confirming no command covers the task.
  2. Editing resources/solution_folder/ directly. It is auto-generated and auto-cleaned. Manual edits desync from .uipx. Use uip solution projects add/remove instead.
  3. Skipping uip solution resources refresh before pack or upload. Ships stale bindings and debug-overwrite state.
  4. Running uip codedapp pack / publish / deploy on an AppV2 project that's already registered in .uipx. Once registered as Type: "AppV2", the coded app is part of the solution — uip solution pack / uip solution publish / uip solution deploy run handle it. Direct uip codedapp publish bypasses the solution's deploy config (external client ID, routing name, action schema) and creates a duplicate registration. Use uip codedapp directly only for standalone coded apps scaffolded with npx create-vite (no .uipx in the tree, no project.uiproj / webAppManifest.json).
  5. Creating a new .uipx per environment instead of using deploy configs. One packed solution promotes to dev/staging/prod via a per-environment --config-file (and uip login tenant set to target the tenant). Different .uipx files per environment defeats version tracking.
  6. Using uip solution upload (Studio Web) as a deployment path. Upload is for browser-based debugging only — it does not produce a published package and cannot be promoted via deploy run. Use packpublishdeploy run for real deploys. upload also lands the solution in Studio Web's Cloud workspace tab — not the Local tab; SW's Local tab is a separate registration not addressable by uip solution.
  7. Trusting exit codes alone after a mutation. Always read the artefact (project.json, .uipx, deploy status) — a non-zero exit may indicate partial state and a zero exit can mask warnings.

Frequently asked questions

What to verify before installation and use

What does the uipath-solution source document cover?

Create, pack, publish, deploy, and manage UiPath Solution packages (.uipx) via the uip solution CLI surface. A Solution bundles multiple automation projects (processes, libraries, tests, agent projects, API workflows) into a single deployable unit.

How do I install uipath-solution?

The source record exposes this install command: npx skills add https://github.com/UiPath/skills --skill "skills/uipath-solution". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing