Agent skill

Uipath Ixp

by UiPath in UiPath/skills

UiPath IXP (Document Understanding) via uip ixp — create projects (with autopilot taxonomy suggestion, an imported taxonomy file, or empty), upload/download/delete documents, author the taxonomy…

MITAuto-check passedMobile

Install Uipath Ixp

skills CLI
$ npx skills add UiPath/skills --skill uipath-ixp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install UiPath/skills uipath-ixp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/uipath-ixp .claude/skills/uipath-ixp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
uipath-ixp
GitHub stars
167
Token cost
~11k tokens
SKILL.md length
5,627 words
Files
6 (incl. references)
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

UiPath IXP (Document Understanding) via uip ixp — create projects (with autopilot taxonomy suggestion, an imported taxonomy file, or empty), upload/download/delete documents, author the taxonomy…

  • Works in 12 steps: Verify uip ixp syntax before running a… → Run workflows end-to-end automatically —… → Always use --output json when parsing… → …
  • During .flow / Maestro Flow work — discovering
  • SKILL.md covers When to Use This Skill, When NOT to Use This Skill —…, Critical Rules and Quick Start, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Uipath Ixp is an agent skill from UiPath/skills. UiPath IXP (Document Understanding) via uip ixp — create projects (with autopilot taxonomy suggestion, an imported taxonomy file, or empty), upload/download/delete documents, author the taxonomy (field groups, fields, data types, per-field and overall extraction instructions), configure the extraction model and pre-processing, review/confirm/unconfirm predictions, mark fields missing, pull metrics and model versions, publish/tag/roll back model versions, deploy a trained version to an Orchestrator folder and move…

Its SKILL.md is about 11k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/cli-reference.md`, `references/deployment-guide.md` and `references/improve-prompts-guide.md`).

It sits in Mobile, covering Mobile testing and debugging and Deployment. The repository describes itself as: This is a repository of skills for interfacing UiPath capabilities to external developers. The licence is MIT.

When your agent uses it

  • During .flow / Maestro Flow work — discovering
  • Listing IxP / document-extraction models
  • Nodes available to Maestro Flow
  • Wiring an IxP node

Example prompts

  • “/uipath-ixp”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Verify uip ixp syntax before running a command — use a targeted lookup in CLI Reference and copy the exact subcommand and options; never…
  2. Run workflows end-to-end automatically — do NOT ask the user to do individual steps.
  3. Always use --output json when parsing CLI output programmatically.
  4. Use /tmp/ixp// as the working directory with this structure
  5. Use heredocs for --updates — for fields update-prompts --updates and groups update-prompts --updates, use heredocs (cat >…
  6. Never use UID as a variable name — it is a readonly shell variable. Use DOC_ID, DOCUMENT_ID, etc.
  7. Always use the project Name, never the Title — the project list output has both Name (e.g., my_invoices-f1afa9ef-ixp) and Title (e.g…
  8. Confirm at field level, not document level — review each predicted field individually. Confirm only the fields that are correct using…
  9. Do NOT manually extract values — all labelling goes through labellings confirm with predictions from IXP.
  10. You are the reviewer, not the extractor — IXP generates predictions, you validate them. For each document, review predicted field values…
  11. Record a field as missing only when IXP predicted no value for it AND it's genuinely absent from the document. Check get-predictions first…
  12. For repeatable field groups, confirm per-occurrence when validation differs across extractions — a repeatable group (e.g. Line Items)…

What it can do on your machine

Read from SKILL.md and the folder at commit 0bada1b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.uipath.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Uipath Ixp loads about 11k tokens when it runs, and up to ~34k if it reads all its reference files. Until then it costs about 220 tokens; SKILL.md has 5,627 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~220
When it runs · the whole SKILL.md, loaded when a task matches
~11k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~34k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from UiPath/skills at commit 0bada1b, republished under its MIT licence (© UiPath). 5,627 words, ~10,930 tokens.

Download SKILL.mdSave it as .claude/skills/uipath-ixp/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
uipath-ixp
description
UiPath IXP (Document Understanding) via `uip ixp` — create projects (with autopilot taxonomy suggestion, an imported taxonomy file, or empty), upload/download/delete documents, author the taxonomy (field groups, fields, data types, per-field and overall extraction instructions), configure the extraction model and pre-processing, review/confirm/unconfirm predictions, mark fields missing, pull metrics and model versions, publish/tag/roll back model versions, deploy a trained version to an Orchestrator folder and move an existing deployment to another version (`deployments create`/`upgrade`/`list`). DO NOT TRIGGER during .flow / Maestro Flow work — discovering or listing IxP / document-extraction models, extractors, or nodes available to Maestro Flow, and adding or wiring an IxP node, belong to uipath-maestro-flow even when they sound like IXP model management.

UiPath IXP Document Extraction Assistant

Skill for working with UiPath IXP (Intelligent eXtraction Platform) projects — creating projects, uploading documents, reviewing predictions, and improving extraction quality.

When to Use This Skill

  • User asks to create an IXP project, upload documents, or train a document extraction model
  • User asks to label, review, or confirm document predictions
  • User asks to improve extraction scores, prompts, or field instructions
  • User asks to publish or manage IXP model versions
  • User asks to deploy a trained model version to an Orchestrator folder, move a deployment to another version, or list where a project is deployed (deployments create / upgrade / list)
  • User provides a taxonomy file to import into a project
  • User asks for the project taxonomy at a specific trained model version — what the schema looked like when version N was published (use deployments get-taxonomy <project-name> --version <N>)

When NOT to Use This Skill — defer to uipath-maestro-flow

This skill covers standalone IXP-project work. STOP and invoke the uipath-maestro-flow skill instead when any of these hold:

  • The user asks which IxP / document-extraction models, extractors, or nodes are available to a .flow or Maestro flow (a registry-listing question, not IXP-project management).
  • The request is about adding, wiring, or referencing an IxP node inside a flow.
  • The working context is a .flow file or a Maestro flow rather than a standalone IXP project.

Do not answer these from this skill. Re-activate uipath-maestro-flow and follow the commands it documents. This overrides Critical Rule 1.

Exception — an inbound handoff from uipath-maestro-flow: when that skill delegates because the user supplied documents and no published extractor covers them, the IXP work belongs here even though the surrounding context is a flow build. The handoff supplies the target Orchestrator folder — that is the caller's contract, not a question to re-ask. Create the project from the documents, deploy a trained version to that folder (Deployment Guide — including the exit when no folder arrived), report the deployment, and hand control back — do not wire or edit the flow from this skill.

Critical Rules

  1. Verify uip ixp syntax before running a command — use a targeted lookup in CLI Reference and copy the exact subcommand and options; never guess. If the request is not covered, report that the skill has no documented CLI path rather than improvising. Do NOT use curl, call REST APIs directly, or explore source code. (Exception: defer flow/Maestro registry questions to uipath-maestro-flow — see When NOT to Use This Skill above.)
  2. Run workflows end-to-end automatically — do NOT ask the user to do individual steps.
  3. Always use --output json when parsing CLI output programmatically.
  4. Use /tmp/ixp/<project-name>/ as the working directory with this structure:
    /tmp/ixp/<project-name>/
    ├── docs/         # Document files (<document-id>.pdf, .png, …) — downloaded once, reused across sessions
    ├── taxonomies/   # Taxonomy snapshots (v1.json, v2.json, …) — new version after each update-prompts
    └── prompts/      # Instruction update files (field_updates.json, group_updates.json, …)
    At the start of any workflow: mkdir -p /tmp/ixp/<project-name>/{docs,taxonomies,prompts}. If the directory already exists from a previous session, reuse existing files — do not re-download documents that are already present. Do NOT use the Write tool for /tmp/ixp/ paths — on Windows it resolves to a different location than bash.
  5. Use heredocs for --updates — for fields update-prompts --updates and groups update-prompts --updates, use heredocs (cat > /tmp/ixp/<project-name>/prompts/field_updates.json << 'EOF' ... EOF) then "$(cat /tmp/ixp/<project-name>/prompts/field_updates.json)".
  6. Never use UID as a variable name — it is a readonly shell variable. Use DOC_ID, DOCUMENT_ID, etc.
  7. Always use the project Name, never the Title — the project list output has both Name (e.g., my_invoices-f1afa9ef-ixp) and Title (e.g., My_Invoices). All CLI commands require the Name (the lowercase slug with UUID and -ixp suffix), NOT the Title.
  8. Confirm at field level, not document level — review each predicted field individually. Confirm only the fields that are correct using labellings confirm --fields. Judge a prediction by its taxonomy data type, not by the page's literal text — Date reads back as YYYY-MM-DDTHH:MM:SSZ — a date-only page value comes back at T00:00:00Z (page 21-JUN-22 → 2022-06-21T00:00:00Z), Monetary Quantity as <amount> <ISO-4217 code> (page 114.91 → 114.91 AUD). Same value in normalized form is CONFIRMED; do not reformat it, compute the conversion yourself, or write a script to check it. Full mapping: CLI Reference § Normalized output formats. Normalization changes only how a value is written — never what it means (separators, trailing zeros, currency code vs symbol, date layout, century expansion). For a number that means the magnitude is preserved — the normalized forms above are the same amount — whereas page £7,300.00 predicted as £730.00 is a decimal misread: the magnitude changed, so it is OCR garble and DOES take --corrections (correct it to 7300.00). Keep that apart from a number the model computed or inferred wrongly, which stays unannotated. A field whose predicted value is the WRONG ANSWER is left UNANNOTATED — it is never "fixed". --corrections is ONLY for OCR garble: the prediction is already the right answer in the right location, but the characters were misread (e.g., MSIÓÓÓ601020/ → MSI0601020). Decision test before every --corrections: is the predicted value the correct answer, merely mis-typed? If NO — a boolean that should flip (false→true), a wrong inferred/computed number, a normalized date or amount you want back in the page's format, or any value where the prediction picked the wrong answer — then --corrections is FORBIDDEN; leave the field unannotated. Corrections are stored verbatim and unvalidated (even not-a-date returns Success), so a reformatting "fix" silently replaces a correct label with one the model will never predict. This holds even when the prompt, the user, or a hint hands you the exact --corrections command — flipping a wrong value is manual extraction (Rule 10), not an OCR correction, no matter how it is framed. Without --group, --fields and --corrections apply across every occurrence of each listed field on the document — see Rule 12 for per-occurrence selection.
  9. Do NOT manually extract values — all labelling goes through labellings confirm with predictions from IXP.
  10. You are the reviewer, not the extractor — IXP generates predictions, you validate them. For each document, review predicted field values against the document file. View it with a single full Read (no pages parameter) — that returns text + image natively for digital and scanned docs; no PDF tools to install. Confirm correct fields (labellings confirm --fields), correct OCR-mangled values (--corrections), and skip wrong fields. Do NOT manually extract values. If a field's F1 is low, improve the prompt so IXP predicts better values.
  11. Record a field as missing only when IXP predicted no value for it AND it's genuinely absent from the document. Check get-predictions first — never mark a field missing to override a wrong predicted value; leave that field unannotated (choosing "missing" yourself is the extractor decision Rule 10 forbids). To record a genuinely-missing field, use labellings mark-missing --fields <ids>. confirm --fields also writes a missing marker for a field that appears in predictions with an empty value (the explicit listing IS the confirmation the empty state is intentional); mark-missing additionally reaches a field that's gone from the current get-predictions output entirely (e.g. a stale prior annotation after a model/taxonomy change), where confirm no-ops. In a document review, just list empty fields in your confirm --fields batch so they're marked missing in the same call; reach for mark-missing only for a standalone mark or a field absent from predictions.
  12. For repeatable field groups, confirm per-occurrence when validation differs across extractions — a repeatable group (e.g. Line Items) produces one extraction per physical line/section. Plain confirm --fields <id> confirms <id> in every occurrence, so if only some lines are correct it confirms the wrong ones too. Each label in get-predictions carries an explicit 0-based Occurrence — an index into that read, not a stable row id (Rule 17); if all occurrences are correct use the plain form, otherwise target with --group. --group <name> --occurrence <N> confirms ONE occurrence; --group <name> --updates '[...]' confirms SEVERAL in one atomic call (avoids N round-trips) — --occurrence <N> ≡ a single-entry --updates, same per-occurrence logic. --group is the group's Name copied verbatim from get-predictions (e.g. "Line Items") — never a name you assembled yourself. Without --fields, every predicted field in the occurrence is confirmed; with it, only those. Occurrences not selected keep their existing annotation. Flag details: CLI Reference.
  13. confirm is additive — it never un-confirms. confirm/mark-missing keep every existing annotation and add yours: --occurrence 0 on an already-labelled table yields "row 0 confirmed AND everything previously confirmed stays confirmed" — NOT "only row 0". To roll back a confirmation, use unconfirm (see the task-navigation table).
  14. F1 reflects confirmed labels, not document truth — never blind-confirm. F1/ProjectScore measure prediction-vs-confirmed-label agreement, so a wrong value you confirm becomes the "right" answer and scores 1.00. A perfect score is not evidence the values are correct. Before confirming, sanity-check each value against the document. The per-document no---fields form (confirm all predicted fields on one document) is fine once you've reviewed them all. If the user explicitly says every predicted field in named documents was reviewed and is correct, accept that review and confirm those documents without re-reviewing them field by field (still pin the version — Rule 18). Never run confirm without a document-id — that confirms every document at once, bypassing review. See Label Documents Guide §2d.
  15. Ambiguous entity reference → ask, never guess. Projects (Titles), field groups, fields, and data types share one namespace in user speech ("rename subscriptions"). Before any mutation (update-title, rename, delete, change-type), resolve which entity KIND the user means. If the name matches more than one kind — in the user's own context or in projects list / taxonomy output — STOP and ask which one, explicitly listing every matching candidate and its kind. Do NOT pick one, and do NOT mutate several candidates "to cover all cases". When the user can't be asked interactively, surface the question through whatever channel the task provides and stop.
  16. Reuse the built-in data types before adding new ones. Every IXP project ships with default data types — Exact Text, Inferred Text, Number, Date, Monetary Quantity, Boolean (the project's entity_defs from projects get-taxonomy are the authoritative list). Before data-types add or picking a field's --type, reuse a matching default — e.g. Monetary Quantity for a currency amount, never a hand-rolled clone (Currency Amount). Add a new type only when no default covers it: a project-specific Choice, or a concept needing its own tailored extraction instructions. Never add one just to reformat — the pre-trained defaults keep their fixed output format regardless of instructions. Mapping: CLI Reference § Default data types.
  17. Occurrence is scoped to the read that produced it — re-read predictions after every per-occurrence write. get-predictions lists annotated occurrences first, then the unannotated ones, so confirming one row of a repeatable group moves that row to Occurrence 0 on the next read and renumbers the rest (the IXP UI shows it first too). Nothing is lost — the row keeps its own values and page location — but the indices you read before the write no longer identify the same rows. So: confirm/unconfirm every target in ONE --updates call (all its indices resolve against the same read), and when sequential per-occurrence calls are unavoidable, re-run get-predictions between them and re-locate each row by its field values, never by the index you saw earlier. Only fully-unannotated and fully-annotated documents read back in document order. Report rows to the user by value ("the freight-surcharge line"), not by index.
  18. Confirm against the version you reviewed — pass --model-version. Confirming triggers a retrain, so predictions can drift between your get-predictions read and your confirm. Pass the read's ModelVersion as confirm -m <N>; if a retrain changed the version since, the confirm is rejected (PredictionVersionChangedError) rather than stamping values you never reviewed as ground truth. On that error, re-read get-predictions, re-review, and confirm against the new version. Confirming on a user-supplied review (Rule 14) is no exemption: pin the ModelVersion the user names, or run one get-predictions to capture it — a read for the version alone is not a re-review.
  19. DeploymentName ≠ DeploymentTitle, and create never repoints. deployments create --title sets a free-form DeploymentTitle; the name the runtime resolves is DeploymentName, which is the slugged title plus a per-deployment suffix (invoices → invoices-08963f00-ixp) and which cannot be predicted — read it off the create response or deployments list, never construct it. create only ever ADDS: repointing an existing deployment to another version is deployments upgrade <project-name> <deployment-name>, which takes DeploymentName (passing a title there is a 404). Run deployments list before every upgrade. Upgrading changes which model version every runtime caller of that folder and name gets — confirm intent before touching a shared folder. See CLI Reference § Deployments.
  20. get-metrics defaults to LATEST, not LIVE — always name the version you report. A project keeps accumulating trained versions long after its live one was pinned, and the latest can score worse than what's deployed — so a bare get-metrics pairs the latest version's numbers with the live version identity you read from list-models. Resolve the version FIRST, from what the user is asking — how is it performing / production: the live version (list-models → Tags[] Name=live, else highest Models[] Pinned: true, else latest); baseline for improving instructions: the LATEST trained version, because that is the model your edits retrain (Improve Prompts Guide § 1a) — then pass it as get-metrics --model-version <N>, and state which version the scores belong to.
  21. Compare metrics fields on FieldId, report them by Name. Fields[] carries FieldGroup, FieldId and Name, so no taxonomy read is needed — do NOT fetch one. Display names are unique only within a group, so when two fields share a Name, print those rows as <FieldGroup> / <Name>. Name is that version's name for the field, so two versions can return different names for the same field — join versions on FieldId, never on Name, and report the current version's name. See CLI Reference § get-metrics.
  22. Never switch projects without being asked. Always work on the project you were instructed to work with. Resolve its Name once, keep it for the session, and pass it in every command — Titles get renamed, Names don't (Rule 7). If you were not asked to, do not modify or continue the task on another project, however similar it looks to yours. Reading another project to diagnose is fine; moving the task to it needs the user's explicit go-ahead. If you can't ask, report the blocker and stop. Never report another project's results as this task's.
  23. Never change a taxonomy by importing one — the import merges by name, so it cannot rename or remove anything, and it overwrites a same-name entry's instructions. Use projects import-taxonomy only to give a project that has no taxonomy the same one as another. Change an existing taxonomy with groups/fields/data-types and projects update-prompt; groups delete + groups add is not a replace either. If no targeted command covers the request, report that and route in-product (Unsupported Capabilities) — never substitute an import, even when asked for one directly. Full mechanics: CLI Reference § import-taxonomy.

Quick Start

  1. Run uip ixp projects list --output json to see existing projects
  2. To create a new project: follow Project Setup Guide
  3. To improve an existing project: follow Improve Prompts Guide
  4. To label documents on an existing project: follow Label Documents Guide
  5. To deploy a model so an automation can call it from an Orchestrator folder (Maestro Flow, other folder-resolving callers): projects create → list-models → deployments create --folder-key. Neither labelling nor publish is required — see Deployment Guide.

If the user provides a taxonomy file — or wants this project to carry another project's taxonomy — use --skip-taxonomy and import-taxonomy (Option B in the Project Setup guide). Import never edits a taxonomy that already has content (Critical Rule 23).

Show full SKILL.md (3,082 more words)Show less

Task Navigation

User requestAction
"Create an IXP project" / "Upload documents to a new project"Project Setup Guide — new projects only (uploads + taxonomy in one call). For existing projects, see the "Upload a document" row below.
"Import this taxonomy" / provides a taxonomy file / "give this project the same taxonomy as another project"Project Setup Guide — Option B (--skip-taxonomy + import-taxonomy); for a copy, export the source with projects get-taxonomy first. The target's taxonomy must be empty — check projects get-taxonomy on it, and if label_groups is non-empty, apply the change as targeted groups/fields/data-types calls instead (Critical Rule 23).
"Rename / edit / restructure the taxonomy" / "replace the taxonomy with this file" / "edit the taxonomy JSON"Targeted commands only — the "Add / delete / rename" rows below, plus projects update-prompt for the overall instructions. Not import-taxonomy, and not groups delete + groups add (Critical Rule 23). With no targeted command (a Choice type's values), report and route in-product — see Unsupported Capabilities.
"Label documents" / "Review predictions"Label Documents Guide
"Improve scores" / "Fix prompts" / "Improve F1"Improve Prompts Guide
"Publish the model" / "Tag as live"uip ixp projects publish <project-name> --output json — publishes the latest version, untagged. Add --tag <live|staging> to also tag it. See cli-reference for --model-version/--description. Publishing does not deploy the model to an Orchestrator folder — publish pins the version, and --tag moves the live/staging tag, which selects the version the DU framework serves (including to DU activities that call through it). Callers that resolve models from an Orchestrator folder — Maestro Flow among them — see only deployments create (the "Deploy this model to a folder" row below). Do NOT chain a deploy onto a publish unless the user asked to deploy — a deploy needs a folder key and changes what runtime callers get.
"Roll back to a previous version" / "Restore version N"uip ixp projects publish <project-name> --model-version <N> --output json — re-publishes an earlier version. Get available versions from uip ixp projects list-models <project-name> --output json.
"Unpublish a model" / "Take a model out of production"uip ixp projects unpublish <project-name> --model-version <N> --output json — removes a version from the published set (it stays trained/listable). --model-version is required; find published versions via list-models (Pinned: true). To change which version is live, publish a different one instead.
"Remove the live/staging tag" / "Untag a version"uip ixp projects untag <project-name> --tag <live|staging> --output json — removes the named tag (the version it pointed at stays published). untag is the only way to remove a tag — do NOT unpublish or re-publish to clear it (unpublish removes publication, not the tag; publish without --tag leaves the existing tag untouched). To switch live→staging, publish --tag staging instead.
"Deploy this model to a folder" / "make it callable at runtime" / "deploy version N"uip ixp deployments create <project-name> --version <N> --folder-key <guid> [--title <title>] --output json — deploys a trained version to an Orchestrator folder, making it callable by activity packs and Maestro Flow. --version (from projects list-models) and --folder-key (from uip or folders list --output json) are both required — when the user names a folder instead of giving its key, resolve the name through that same folders list; ask only when no folder was identified at all. --title defaults to the project name minus -ixp. create never repoints an existing deployment — a title already deployed in that folder on a different version is a 409; use upgrade (next row). Read DeploymentName off the response: it is slugged and suffixed, never the title or the project name. See cli-reference § Deployments.
"Move a deployment to another version" / "upgrade the deployed model" / "that folder is serving an old version"uip ixp deployments upgrade <project-name> <deployment-name> --version <N> --folder-key <guid> --output json — <deployment-name> is the DeploymentName from deployments list, not the title (a title there is a 404). Changes which version every runtime caller of that folder and name gets, so confirm intent on a shared folder. Not a rollback path — the target version must still appear in projects list-models. See cli-reference § create vs upgrade.
"Where is this model deployed?" / "list deployments" / "which folder or version is live at runtime"uip ixp deployments list <project-name> --output json — array of DeploymentName, DeploymentTitle, ModelVersion, FolderKey, DeployedAt; [] for a never-deployed project. The only reliable source of DeploymentName — run it before any upgrade.
"Show metrics" / "What are the scores?"uip ixp projects get-metrics <project-name> --model-version <N> --output json — always name the version. Without --model-version the CLI returns the latest trained version, which is not necessarily the published/live one; get the live version from list-models first (see "How is this project performing?"). Name the fields you read back per Critical Rule 21; response shape: CLI Reference § get-metrics.
"List projects"uip ixp projects list --output json
"Configure the model"uip ixp projects configure-model <project-name> [options] --output json
"What model / pre-processing does this project use?" / "Query the model settings"uip ixp projects get-taxonomy <project-name> --output json — the configured extraction model and pre-processing are under Data.dataset._model_config: model_version is the --model value (e.g. gemini_2_5_flash), and input_config must be inverted to the none/table_mini/table token (null = not configured, so report the project default — not none). There is no get-model-config, and configure-model is a read-modify-write: never call it to find out the current settings, it rewrites them. Do NOT answer from list-models' ModelName — that's the labeller family (gemini_ixp), not a --model value, and it says nothing about pre-processing. Inversion table: CLI Reference § Reading the current model and pre-processing.
"Delete a project" / "Remove this project"uip ixp projects delete <project-name> -y --output json — permanent and irreversible; removes the project's documents, taxonomy, and trained models. Requires -y/--yes (the CLI never prompts).
"Upload a document" / "Add documents to an existing project"uip ixp documents upload <project-name> <file> --output json — see CLI Reference § Uploading documents. One file per call; loop for multiple. For brand-new projects use projects create instead.
"Delete a document" / "Remove a document"uip ixp documents delete <project-name> <document-id> -y --output json — irreversible, triggers retrain. -y/--yes is required (the CLI never prompts). To delete by filename, look up the DocumentId via documents list (the Filename field shows the original upload name).
"Add / delete / rename a field group"uip ixp groups {add,delete,rename} <project-name> --name <name> ... --output json — see CLI Reference § Groups. groups add requires --instructions and --fields '<json>' — pass all of the new group's fields in that one --fields array (batch); do NOT create the group then add fields one at a time (use fields add only for an already-existing group). delete requires -y/--yes (the CLI never prompts).
"Add / edit / rename / delete a data type"uip ixp data-types {add,update-instructions,rename,delete} <project-name> --name <name> ... --output json — see CLI Reference § Data Types. add requires --kind (text/date/money/number/boolean/choice) and --instructions. --input-value (exact-match/inferred) is required only for --kind text and --kind choice; the other kinds don't have this property and the CLI rejects the flag for them. delete requires -y/--yes (the CLI never prompts); deleting a data type breaks any field referencing it. Reuse a default data type before adding a custom one (Critical Rule 16) — most needs map to a built-in (e.g. currency → Monetary Quantity).
"Add / delete / rename / retype a field"uip ixp fields {add,delete,rename,change-type} <project-name> --group <name> --field <name> ... --output json — see CLI Reference § Fields. delete requires -y/--yes; change-type deletes annotations and also requires -y/--yes.
"Move a field to another group" / "this field belongs under X"There is no move command — --group addresses a field, it never reparents one. Read the field's type and instructions from projects get-taxonomy, then fields add into the target group, then fields delete <source> -y. Add before deleting, so a failed add leaves the field where it was. Both groups must already exist; a move never creates one. IRREVERSIBLE — the recreated field gets a new field_id, so its confirmed labels do NOT follow it; say so before starting. Never move a field via get-taxonomy → edit → import-taxonomy: the import merges, so the field ends up in both groups. Full recipe: CLI Reference § Moving a field.
"Fix an OCR-garbled value" / "Confirm with a correction"uip ixp labellings confirm <project-name> <document-id> --fields <ids> --corrections '[{"field_id":"<id>","value":"<fixed>"}]' --output json — confirms the listed fields and records the corrected value for the garbled one (include the corrected field's id in --fields). --corrections is only for OCR garble — the prediction is already the right answer in the right location, merely misread (e.g. MSIÓÓÓ601020/ → MSI0601020); never use it to flip a wrong prediction, that field stays unannotated (Critical Rule 8). For one occurrence of a repeatable group add --group <name> --occurrence <N>; in the batched --group <name> --updates '[…]' form each entry takes "corrections": {"<field_id>": "<value>"} (an object keyed by field id, not the flat array). See CLI Reference.
"Mark a field as missing for a document"uip ixp labellings mark-missing <project-name> <document-id> --fields <ids> --output json — marks the listed fields missing; use when a field is genuinely absent and IXP predicted no value for it. Listing the field in labellings confirm --fields records the same missing marker when the field appears in predictions with an empty value. Only mark a field missing if IXP also predicted nothing for it — never to override a wrong prediction. See Critical Rule 11.
"Undo / unconfirm a wrong confirmation"uip ixp labellings unconfirm <project-name> <document-id> --fields <ids> --output json — rolls back an earlier confirm or mark-missing for the listed fields (confirm can't un-confirm — Critical Rule 13). Every other annotation on the document is carried forward. With --fields alone, a field id shared across occurrences of a repeatable group is removed from all of them; to roll back specific occurrences, add --group with --occurrence <N> or --updates '[…]' (mirrors confirm — see the row below and Critical Rule 13).
"Confirm one line item / extraction" / "Confirm only this occurrence"uip ixp labellings confirm <project-name> <document-id> --group <name> --occurrence <N> [--fields <ids>] --output json — targets one specific extraction of a repeatable field group (0-based index from the latest get-predictions). Without --fields, confirms every predicted field in that occurrence; with --fields, only those. Other occurrences untouched. Confirming renumbers the group on the next read (the confirmed row moves to Occurrence 0) — so batch multiple occurrences into one --updates '[…]' call rather than chaining --occurrence calls off a single read. See Critical Rules 12 and 17.
"Unconfirm one line item / extraction" / "Roll back only this occurrence"uip ixp labellings unconfirm <project-name> <document-id> --group <name> --occurrence <N> [--fields <ids>] --output json — rolls back one specific extraction of a repeatable field group (0-based index, same as get-predictions/confirm). Without --fields, unconfirms every annotated field in that occurrence; with --fields, only those. Other occurrences untouched. Re-read get-predictions first — on a partly-confirmed group the confirmed rows sort to the front, so the index that confirmed a row is usually not the index that rolls it back (Critical Rule 17). For several occurrences in one call, use --updates '[…]' instead. See Critical Rule 13.
"Set overall extraction instructions" / "Update project prompt"uip ixp projects update-prompt <project-name> --prompt "<text>" --output json — replaces the taxonomy-wide prompt (the "Overall extraction instructions" field in the IXP UI). Distinct from fields update-prompts (per-field) and groups update-prompts (per-field-group).
"How is this project performing?" / "What's the F1?"Resolve the live version with uip ixp projects list-models <project-name> --output json, then uip ixp projects get-metrics <project-name> --model-version <live-version> --output json (Critical Rule 20). If Data is { Metrics: null } the model isn't validated yet — report that and stop. If the call instead returns Result: Failure with ErrorCode: not_found (a project with no trained model yet, e.g. no confirmed labellings), treat it the same way — report "no metrics yet" and stop. Otherwise Data is flat; report in order: (1) which version the scores belong to + TrainedTime; (2) overall ProjectScore/ProjectScoreQuality; (3) per-group scores from FieldGroups[] (F1/Precision/Recall); (4) per-field scores from Fields[], sorted lowest-F1 first — F1 with its Precision/Recall (a low F1 means the opposite fix depending on which side is short), plus Annotations (the sample size behind the F1) and ErrorRate (= errors/Annotations — it counts misses, so it is not 1 - Precision). Ignore the Quality labels (derived, inconsistent scales — Improve Prompts Guide § What get-metrics returns). Name and compare fields from Fields[] alone (Critical Rule 21). State numbers plainly; no "good enough" judgement unless asked; route low scores to Improve Prompts Guide. Answer from these calls only — no ad-hoc discovery (Critical Rule #1).
"Describe this project" / "What's in it?"Three calls, reported in order: (1) identity — Title/Name from uip ixp projects get <project-name> --output json; (2) current model version — live/published + TrainedTime from list-models (the trained version, not the configured extraction model — for that see the row above); (3) taxonomy — label-group/field counts from uip ixp projects get-taxonomy <project-name> --output json (raw artifact: counts live under Data.dataset.label_groups and Data.dataset.entity_defs, snake_case). Fold in performance (above) only if asked. Do NOT page documents list (its Data is a paged { Documents, Total, Offset, Limit } envelope — use Total for a count) or read deployment bindings. Answer from these calls only (Critical Rule #1).

Common Pitfalls

SymptomCauseFix
Reported score doesn't match what the IXP UI's build page showsget-metrics was called without --model-version, so it returned the latest trained version while the UI (or your own sentence) named the live oneResolve the version from list-models and re-run get-metrics --model-version <N>. A project whose live version was pinned a while ago can have many newer trained versions, and the latest may score lower. See Critical Rule 20.
Metrics don't change after a prompt updateRe-evaluation hasn't completedWait out the retrain — Improve Prompts Guide § Waiting for retrain.
ModelVersion doesn't advanceRetrain still in progressAny change to model inputs (labellings OR instructions) triggers a full retrain. Re-read metrics under the bounded wait in Improve Prompts Guide § Waiting for retrain — fixed interval, capped number of checks, then stop. Never poll indefinitely.
A taxonomy edit left duplicates, or the rename/removal never took effect despite {"status":"ok"}A hand-edited get-taxonomy dump was re-imported — the import mergesRe-importing cannot undo it. Read projects get-taxonomy, delete each duplicate with fields/groups/data-types delete -y, then redo the change with the targeted commands. Also check the entries you did NOT mean to touch: a same-name field or group took its instructions and data type from the file. Confirmed labels on a duplicated field do not merge back — say so (Critical Rule 23).
Field instructions conflict with label_def instructionsfields update-prompts only edits per-field instructions, NOT the parent label_def instructionsBefore iterating, read the label_def instructions and update them with groups update-prompts if they contradict the per-field prompts.
A confirmed line item now reads back as the first row, or the other rows' Occurrence numbers shiftedExpected: the read returns annotation↔prediction matched pairs first, so confirmed rows sort ahead of unconfirmed onesNothing to fix — values and page locations are unchanged. Re-run get-predictions before the next per-occurrence call and target the row by its values (Critical Rule 17).
A second --occurrence call landed on the wrong row, or unconfirm --occurrence N no-opsIndices came from a read taken before an earlier confirm renumbered the groupRe-read get-predictions between per-occurrence writes, or issue them as one --updates call.
deployments create returns 409That title is already deployed in that folder on a different version — create only ever ADDSUse deployments upgrade <project-name> <deployment-name> instead, taking <deployment-name> from deployments list (Critical Rule #19).
deployments upgrade returns 404A DeploymentTitle was passed where DeploymentName is expected — the name is slugged and suffixed (invoices → invoices-08963f00-ixp), so it cannot be derived from the titleRun deployments list <project-name> --output json and pass its DeploymentName verbatim.

Unsupported Capabilities

These requests fall outside the skill. Recognise the request, reply with the standard response, route the user. Do NOT enter discovery (uip --help, grep, source reading) — see Critical Rule #1.

User requestStandard response
"Create a model" / "create a project"Documents or a taxonomy supplied, or a blank project asked for → use the Project Setup Guide (this skill creates the project). Otherwise → "I work on existing IXP projects rather than creating them from scratch. Create one in-product: https://docs.uipath.com/ixp/automation-cloud/latest/user-guide/managing-projects — then I can label, review, and improve it."
"Upload these files" / "add documents"Project named / already in context → supported; upload it (see the "Upload a document" row in Task Navigation). Otherwise → "Name an existing project and I'll upload it — or upload in-product (e.g. for a new project): https://docs.uipath.com/ixp/automation-cloud/latest/user-guide/building-and-deploying-models."
"Push to an environment / another tenant" / "deploy to staging or production"Names an Orchestrator folder (a folder literally called Production) → supported; use the "Deploy this model to a folder" row in Task Navigation. Otherwise → "IXP has no environment or cross-tenant deploy target — a deployment is a (folder, version) pair inside one tenant." Note projects publish --tag staging|live moves the tag the DU framework (and DU activities calling through it) resolve — for those consumers that IS the staging/live switch; it creates no folder deployment.
"Give X access" / "share this project" / "change roles or permissions""Access, roles, and permissions are managed in-product, not through this skill: https://docs.uipath.com/ixp/automation-cloud/latest/overview/managing-access."
"Use this model in my automation / workflow / agent" / "call the extractor from a process""Consuming a published model inside an automation is an authoring task outside this skill. See https://docs.uipath.com/ixp/automation-cloud/latest/user-guide/building-and-consuming-a-workflow."
"Mine these emails / communications" / "set up Communications Mining""Communications Mining is a separate IXP capability this skill doesn't cover (this skill is document extraction). See https://docs.uipath.com/ixp/automation-cloud/latest/cm-user-guide/introduction-to-uipath-communication-mining."
"Monitor the deployed model" / "how many docs did it process?" / "runtime throughput or incidents""Runtime/operational monitoring of a deployed model lives in Orchestrator, not this skill: https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/about-monitoring. For design-time scores use get-metrics (see 'Show metrics')."
"Replace / overwrite the taxonomy" / "import this file over the existing taxonomy""IXP has no replace-the-taxonomy operation — importing over an existing taxonomy merges into it and duplicates. I can apply the differences one by one with the targeted commands, or import the file into a new project if you want it clean (the existing project's documents and labels stay where they are)." Then list the differences you'd apply and let the user pick.
"Edit a data type's values" / "add or remove a Choice option""The CLI can rename a data type, change its instructions (data-types update-instructions), or delete it — but it can't add or remove the values of an existing Choice data type. Do that by hand in-product on the Manage Taxonomy page: https://docs.uipath.com/ixp/automation-cloud/latest/user-guide/managing-projects — then continue here."
"What validation rules does this project have?" / "add a business rule""The CLI can't read or update validation (business) rules. View or edit them by hand in-product on the Manage Taxonomy page — then continue here."

Reference Navigation

© UiPath, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/uipath-ixp of UiPath/skills.

  • SKILL.md
  • references/cli-reference.md
  • references/deployment-guide.md
  • references/improve-prompts-guide.md
  • references/label-documents-guide.md
  • references/project-setup-guide.md

Open the folder on GitHubat commit 0bada1b

Compare with similar skills

Uipath Ixp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Uipath Ixp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uipath Ixp this skillUiPath/skills167—~11kAutomated safety check: PassMIT
Phone HarnessShawnPana/phone-harness3.2k—~7.7kAutomated safety check: PassMIT
Maa Issue Log AnalysisMaaAssistantArknights/MaaAssistantArknights24k—~4kAutomated safety check: PassAGPL-3.0
Mobile QAtloncorp/tlon-apps107—~2.4kAutomated safety check: PassMIT
Store Listing Screenshotstherxmv/Telegram-Themer119—~2.5kAutomated safety check: PassNone
Maestro ImproveReinaMacCredy/maestro233—~1.9kAutomated safety check: PassMIT

Similar skills

  • Phone Harness

    ShawnPana/phone-harness

    Control the user's phone - an iPhone through the Mac's iPhone Mirroring window, an Android over adb, a rented cloud Android, or a cloud iPhone over HTTPS: open apps, tap, type, swipe, read the screen.

    3.2k GitHub stars~7.7k tokensUpdated today
    MobileAuto-check passed
  • Maa Issue Log Analysis

    MaaAssistantArknights/MaaAssistantArknights

    分析 MaaAssistantArknights 上游仓库公开 Issue(https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/...

    24k GitHub stars~4k tokensUpdated today
    MobileAuto-check passed
  • Mobile QA

    tloncorp/tlon-apps

    Run a mobile QA checklist on a physical Android device over adb for tlon-apps, then triage what fails into fixes.

    107 GitHub stars~2.4k tokensUpdated today
    MobileAuto-check passed
  • Store Listing Screenshots

    therxmv/Telegram-Themer

    Generate TelegramThemer's Play Store listing images — capture the 8 required app screenshots on a running emulator/device by driving the real UI with adb, then composite them into the final…

    119 GitHub stars~2.5k tokensUpdated 29 days ago
    MobileAuto-check passed
  • Maestro Improve

    ReinaMacCredy/maestro

    Turn filed lessons into the smallest doctrine edit. An agent skill from ReinaMacCredy/maestro.

    233 GitHub stars~1.9k tokensUpdated 13 days ago
    MobileAuto-check passed
  • Android

    yang1ming/android-harness

    Direct Android device control through ADB. An agent skill from yang1ming/android-harness.

    176 GitHub stars~259 tokensUpdated 2 mo ago
    MobileAuto-check passed

More from UiPath/skills

All 28 skills in this repo
  • UiPath automation discovery — mines Slack/email/wikis/CRM/HRIS/ERP for repetitive work, SPOFs, and replicable models; produces a 4-tier prioritized opportunity report with UiPath implementation…

    167 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Maintain build-time skill flavors in the UiPath skills repository.

    167 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Uipath Functions

    UiPath/skills

    UiPath Coded Functions — deterministic Python or TypeScript/JavaScript units built with the uip function CLI (new -l py|ts|js, init, serve, run, pack, publish); the functions map in uipath.json…

    167 GitHub stars~3.6k tokensUpdated today
    Auto-check: notes
  • Uipath Maestro Bpmn

    UiPath/skills

    TRIGGER for authoring, operating or diagnosing UiPath Maestro BPMN.

    167 GitHub stars~4.2k tokensUpdated today
    Auto-check: notes
  • Uipath Maestro Case

    UiPath/skills

    TRIGGER for authoring UiPath Maestro Case plans as <Name.case.ts with the reference-mode TypeScript builder SDK (@uipath/maestro-builder-sdk/case), compiling to caseplan.json, and running the uip…

    167 GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Uipath Troubleshoot

    UiPath/skills

    UiPath causal investigation across every product, runtime, and activity package.

    167 GitHub stars~5.3k tokensUpdated today
    Auto-check passed

Categories

Questions about Uipath Ixp

What does Uipath Ixp do?

UiPath IXP (Document Understanding) via uip ixp — create projects (with autopilot taxonomy suggestion, an imported taxonomy file, or empty), upload/download/delete documents, author the taxonomy…. Uipath Ixp is an agent skill from UiPath/skills.

When should I use Uipath Ixp?

Uipath Ixp fits situations like: during .flow / Maestro Flow work — discovering; listing IxP / document-extraction models; nodes available to Maestro Flow; wiring an IxP node.

How do I install Uipath Ixp in Claude Code?

Run `npx skills add UiPath/skills --skill uipath-ixp -a claude-code`. Or copy the skill folder (skills/uipath-ixp in UiPath/skills) into .claude/skills/uipath-ixp in your project. Claude Code loads it when a task matches its description.

How do I install Uipath Ixp in Codex?

Run `npx skills add UiPath/skills --skill uipath-ixp -a codex`. Or copy the skill folder (skills/uipath-ixp in UiPath/skills) into .agents/skills/uipath-ixp in your project. Codex loads it when a task matches its description.

Can I use Uipath Ixp in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add UiPath/skills --skill uipath-ixp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uipath-ixp, .gemini/skills/uipath-ixp, .github/skills/uipath-ixp and .opencode/skills/uipath-ixp in your project.

What does Uipath Ixp need to run?

SKILL.md names no scripts, command-line tools or credentials: Uipath Ixp is instructions for the agent only.

Does Uipath Ixp access the network?

SKILL.md names 1 domain. As links in the text: docs.uipath.com. This is read from the text; nothing was executed.

Is Uipath Ixp safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Uipath Ixp use?

Uipath Ixp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Uipath Ixp use?

About 11k tokens (SKILL.md is roughly 44k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 23k tokens, read only when the agent opens those files.

What are the alternatives to Uipath Ixp?

Skills that share tags, products or a category with Uipath Ixp: Phone Harness (ShawnPana/phone-harness, 3.2k stars), Maa Issue Log Analysis (MaaAssistantArknights/MaaAssistantArknights, 24k stars), Mobile QA (tloncorp/tlon-apps, 107 stars) and Store Listing Screenshots (therxmv/Telegram-Themer, 119 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uipath Ixp?

UiPath (a GitHub organization) maintains it in UiPath/skills, which has 167 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 10, 2026.

Source: UiPath/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.