| name | uipath-solution |
| description | 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 new→init rename. Bundles multiple automation projects (RPA/Flow/Case/Agents/API Workflows/AppV2 Coded and Coded Action apps) into one deployable `.uipx`. For PDD→SDD design (sdd.md/pdd.md) & multi-skill task derivation→uipath-planner. For non-solution Orchestrator/IS/resources/auth/traces→uipath-platform. For .xaml/.cs→uipath-rpa. For .flow→uipath-maestro-flow. For .bpmn→uipath-maestro-bpmn. For agent.json and .py agents→uipath-agents. For standalone coded-app deploy (no parent .uipx)→uipath-coded-apps. |
| when_to_use | User mentions .uipx / 'uip solution' / 'pack the solution' / 'publish the solution' / 'deploy the solution' / 'activate' / multi-project / Solution scope / Solution Folder. Fires for 'create a new solution', 'add project/resource to solution', 'add a queue/asset/bucket/connection to the solution', 'import a cloud queue/asset', 'edit/remove a resource', 'change a queue/asset field', 'set an asset value in the solution'. Also fires to DIAGNOSE solution problems: 'why did my solution pack/publish/deploy fail', 'pack ships stale/old bindings', 'my resource edit didn't take effect', 'refresh imported 0 bindings', deploy fails '[1009] Invalid argument Value', publish 'name+version / processKey collision', 'uip solution new: unknown command', 'coded app missing from the .uipx / not packed'. (Solution build-time/CLI faults belong here; faulted Orchestrator JOBS at runtime → uipath-troubleshoot.) Load BEFORE editing .uipx or running uip solution commands. For PDD→SDD design→uipath-planner; for an 'architect then deploy' two-phase request, run uipath-planner first, then return here to pack/deploy. |
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: