SkillHub CLI
iflytek/skillhub
Connects an agent to a SkillHub registry and uses the official SkillHub CLI to search, install, list and explicitly upgrade skills from that registry.
Maintain build-time skill flavors in the UiPath skills repository.
$ npx skills add UiPath/skills --skill manage-skill-flavors -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install UiPath/skills manage-skill-flavors --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/manage-skill-flavors .claude/skills/manage-skill-flavors && rm -rf skills-srcUse ~/.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/
Install the "manage-skill-flavors" agent skill from https://github.com/UiPath/skills/tree/main/.claude/skills/manage-skill-flavors into .claude/skills/manage-skill-flavors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-skill-flavors", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/UiPath/skills/tree/main/.claude/skills/manage-skill-flavorsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add UiPath/skills --skill manage-skill-flavors -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install UiPath/skills manage-skill-flavors --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/manage-skill-flavors .agents/skills/manage-skill-flavors && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "manage-skill-flavors" agent skill from https://github.com/UiPath/skills/tree/main/.claude/skills/manage-skill-flavors into .agents/skills/manage-skill-flavors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-skill-flavors", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add UiPath/skills --skill manage-skill-flavors -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install UiPath/skills manage-skill-flavors --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/manage-skill-flavors .cursor/skills/manage-skill-flavors && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "manage-skill-flavors" agent skill from https://github.com/UiPath/skills/tree/main/.claude/skills/manage-skill-flavors into .cursor/skills/manage-skill-flavors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-skill-flavors", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/UiPath/skills.git --path .claude/skills/manage-skill-flavors--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add UiPath/skills --skill manage-skill-flavors -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install UiPath/skills manage-skill-flavors --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/manage-skill-flavors .gemini/skills/manage-skill-flavors && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "manage-skill-flavors" agent skill from https://github.com/UiPath/skills/tree/main/.claude/skills/manage-skill-flavors into .gemini/skills/manage-skill-flavors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-skill-flavors", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install UiPath/skills manage-skill-flavorsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add UiPath/skills --skill manage-skill-flavors -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/manage-skill-flavors .github/skills/manage-skill-flavors && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "manage-skill-flavors" agent skill from https://github.com/UiPath/skills/tree/main/.claude/skills/manage-skill-flavors into .github/skills/manage-skill-flavors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-skill-flavors", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add UiPath/skills --skill manage-skill-flavors -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install UiPath/skills manage-skill-flavors --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/manage-skill-flavors .opencode/skills/manage-skill-flavors && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "manage-skill-flavors" agent skill from https://github.com/UiPath/skills/tree/main/.claude/skills/manage-skill-flavors into .opencode/skills/manage-skill-flavors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-skill-flavors", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
manage-skill-flavorsMaintain build-time skill flavors in the UiPath skills repository.
Manage Skill Flavors is an agent skill from UiPath/skills. Maintain build-time skill flavors in the UiPath skills repository. Use when adding or editing skill-flavor marker blocks, sparse flavor overrides, generic flavor discovery, marker-free default or custom npm packages, package inspection, flavor CI, or composer/package tests. Preserve SKILL.md as the complete default, keep overrides exceptional, and validate finished trees and tarballs.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/flavor-test-matrix.md`).
It sits in Agent Workflows, covering Skill management. It works with npm. The repository describes itself as: This is a repository of skills for interfacing UiPath capabilities to external developers. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4c7cb7c. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npmgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
npm.pkg.github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Manage Skill Flavors loads about 3.5k tokens when it runs, and up to ~5.5k if it reads all its reference files. Until then it costs about 102 tokens; SKILL.md has 1,804 words of instructions outside code blocks.
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.
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.
The full file from UiPath/skills at commit 4c7cb7c, republished under its MIT licence (© UiPath). 1,804 words, ~3,529 tokens.
.claude/skills/manage-skill-flavors/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Maintain one complete canonical skill while building reviewed host-specific exceptions before packaging. Consumers receive finished files and never interpret markers.
skills/, skill-flavors/, and scripts/compose-skill-flavor.mjs.skill-flavors/<flavor>/ directory, when present. No override means that flavor intentionally inherits the canonical file.| Change | Correct source edit |
|---|---|
| Behavior is valid in every host | Edit only the canonical file. |
| A host capability changes one instruction | Mark the smallest complete canonical passage and add one sparse replacement block. |
| An existing skill is safe unchanged for a flavor | Make no flavor edit; it is included automatically. |
| A new canonical skill is added | Review it against every flavor; add sparse overrides only where canonical guidance is unsafe. |
| A new flavor is added | Add its first real sparse override, or a .canonical pin, under skill-flavors/<flavor>/; generic build and CI must discover it without another registry edit. |
Do not create an exception merely to reword shared guidance.
Keep the canonical SKILL.md or reference complete. Put standalone boundaries around only the passage that differs:
<!--skill-flavor:project-creation:start-->
Create the project with the default local workflow.
<!--skill-flavor:project-creation:end-->Mirror the canonical path below the flavor root and write only complete replacement blocks plus whitespace:
skills/uipath-example/references/setup.md
skill-flavors/studioweb/uipath-example/references/setup.md<!--skill-flavor:project-creation:start-->
Create the project with the host project-creation tool.
<!--skill-flavor:project-creation:end-->Marker names must be lowercase kebab-case, unique within a file, unnested, and identical in canonical and override files. An override cannot add an unmarked introduction, heading, or note.
Use the compact marker form with no whitespace inside the HTML comment, and start every boundary at column 1 with no leading or trailing spaces or tabs. Keep the Markdown indentation on the content inside the block instead. For example, wrap a nested list item like this:
<!--skill-flavor:connector-registration:start-->
- Nested host-specific instruction.
<!--skill-flavor:connector-registration:end-->If a new flavor needs a smaller exception than an existing multi-paragraph block, split that block into adjacent sibling blocks. Update every existing override that used the old block, and compare its complete built file before and after the refactor—the existing flavor's consumer text must remain unchanged. Never nest a narrower block inside the old one.
Do not replace a complete shared table, list, or navigation section merely to add host guidance. A replacement freezes that whole passage for the flavor, so later canonical additions inside it no longer propagate. Keep the shared content unmarked and put an empty extension block next to it:
| Shared reference | Shared purpose |
|---|---|
| references/common.md | Used by every host |
<!--skill-flavor:reference-navigation-extra:start-->
<!--skill-flavor:reference-navigation-extra:end-->Fill only that extension in the sparse override. The default emits nothing at the extension point; the flavor receives the complete shared section plus its addition. If one existing row genuinely differs, mark only that row instead of copying the whole table. Whenever a canonical marked passage changes, read every override for that block because those flavors do not inherit the edit.
Every custom flavor package contains every canonical skill. Sparse files only replace passages that differ for that host.
.canonical pin; if a host has no exceptions, it should consume the default package.Use this only when a canonical skill was replaced by a new generation that a host cannot run yet, so no set of sparse overrides can make it correct there.
classic/skills/<skill>/ (same layout as skills/, no symlinks). It is not in the root npm package or any plugin catalog.skill-flavors/<flavor>/<skill>/.canonical containing exactly classic. That flavor then composes <skill> from the classic tree, and its overrides for that skill target classic paths and markers.skills/ already ships. npm run skills:validate fails on a pin to an unknown skill, a pin to a missing classic tree, and a classic/skills/<skill> that no flavor pins. Delete the classic tree when its last pin goes.npm run skills:check-links checks the file and its anchor in each. When the two generations cover the topic in different files, wrap the pointer in a flavor block: the canonical text links the current generation's file, and the pinning flavor's override links the classic file. The checker then asks each tree only for the link it composes./uipath:<skill>) instead of a file only when both generations hold the content the sentence promises. When the current generation has no equivalent, state the rule inline or drop the pointer. A skill name with nothing behind it is a pointer no check can catch.Every direct lowercase kebab-case directory under skill-flavors/ is a flavor. Never hardcode studioweb in the composer, npm build scripts, generic validation loop, or reusable flavor publisher. Publication is intentionally different: each released flavor must opt in through an explicit reviewed caller so its registry policy cannot expand implicitly.
Package names derive mechanically from the root package:
| Variant | Package |
|---|---|
default | @uipath/skills |
studioweb | @uipath/skills-studioweb |
<flavor> | @uipath/skills-<flavor> |
Do not add an allowlist, skill.build.json, a flavor registry, or per-flavor package metadata. The directory name and sparse overrides are the source contract.
Run the repository commands in order:
npm run skills:validate
npm run skills:build
npm run skills:pack
npm run skills:test
git diff --checkskills:build must produce complete marker-free trees under build/skills/. skills:pack must rebuild those trees, stage packages under build/packages/, run real npm pack, and verify tarballs under build/npm/. Flavor publishing jobs must select one verified .tgz by manifest identity and publish only that exact path; they must never publish a wildcard containing the default or another flavor.
Normal npm pack and npm publish at the repository root remain backward
compatible default-package commands. Their prepack lifecycle transactionally
activates a marker-free default skills/ tree, and postpack restores the
exact canonical source tree before the command finishes. They produce or
publish only @uipath/skills; they do not replace npm run skills:pack, which
builds every discovered flavor. If npm fails or is interrupted between those
lifecycle steps and build/.root-pack-transaction remains, first confirm the
original npm process has ended, then run npm run skills:recover before
retrying. Recovery restores canonical sources; if it finds unexpected overlay
edits, it preserves them under build/.root-pack-recovery-* and exits nonzero
so they cannot be missed. Never use --ignore-scripts for root source
packaging because it intentionally bypasses this composition lifecycle.
Inspect the final package contract, not only sparse sources:
package.json.repository field. They pin both publishConfig.registry and publishConfig["@uipath:registry"] to https://npm.pkg.github.com/; the scoped pin prevents an ambient @uipath npmjs configuration from winning. The publisher still validates the effective scoped registry and supplies the reviewed dev or preview tag. Do not set an access value during normal publishing because the existing Internal visibility must remain unchanged.skill-flavor: comments, skill-flavors/, repository tests, or composer source.Clarify what "available" means before release work: a successful
skills:pack makes a local tarball available; registry availability requires
an explicit publisher. When publication is in scope, read docs/RELEASE.md
completely and confirm the target registry and channel. Keep publish.yml's
established default jobs root-only. Give each published flavor an isolated,
reviewed caller that passes its flavor and channel to
publish-skill-flavor.yml. The reusable workflow validates the flavor,
derives its package name, and publishes one selected tarball to GitHub Packages
only. Studio Web callers pass flavor: studioweb; never add Studio Web to the
default npmjs path. A future flavor is automatically buildable, not
automatically publishable, until an explicit caller is added. The reusable
publisher also requires the repository variable
ENABLE_SKILL_FLAVOR_PUBLISH=true; leave it absent or false until an operator
has confirmed that every explicitly published custom package has been
bootstrapped as Internal, does not inherit access from the public repository,
and grants UiPath/skills Actions write access. Registry routing and GitHub
package visibility are separate controls, and this variable is an enablement
switch rather than a live visibility check. Follow the one-time procedure in
docs/RELEASE.md, and disable the global gate again before adding a caller for
another not-yet-bootstrapped flavor.
SKILL.md without a build manifest.build/skills/<variant> trees, never canonical and sparse sources directly.npm pack and npm publish must compose only the marker-free default package and restore canonical sources; npm run skills:pack remains the all-flavor command.build/.classic/skills/ with a .canonical pin, never in skill-flavors/.studioweb; enumerate every discovered flavor.prepack/postpack lifecycle; source markers must never reach the default npm package.build/npm/*.tgz, and do not publish a flavor through an unreviewed registry wildcard.© UiPath, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .claude/skills/manage-skill-flavors of UiPath/skills.
Open the folder on GitHubat commit 4c7cb7c
Manage Skill Flavors 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Manage Skill Flavors this skillUiPath/skills | 167 | — | ~3.5k | Automated safety check: Pass | MIT | |
| SkillHub CLIiflytek/skillhub | 5.2k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| TeamAI Setup and LifecycleTencent/teamai-cli | 5.2k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Skill Base CLIginuim/skill-base | 121 | — | ~1.9k | Automated safety check: Pass | None | |
| MCP IntegrationLunCoSim/lunco-sim | 107 | — | ~547 | Automated safety check: Pass | Apache-2.0 | |
| TeamAI Team SyncTencent/teamai-cli | 5.2k | — | ~632 | Automated safety check: Pass | Custom licence |
iflytek/skillhub
Connects an agent to a SkillHub registry and uses the official SkillHub CLI to search, install, list and explicitly upgrade skills from that registry.
Tencent/teamai-cli
Walks a non-technical user through creating or joining a TeamAI team repo, then managing members, roles, MCP, and environment settings.
ginuim/skill-base
Uses the skb command to search, install, update, delete, publish and import skills on a Skill Base site, including curated collections and GitHub imports.
LunCoSim/lunco-sim
Install, register, test, or troubleshoot the LunCoSim MCP server and its portable skills.
Tencent/teamai-cli
Make every team AI native — TeamAI syncs a team's AI skills, rules, docs and env across AI coding tools. Use when the task operates on team-shared AI…
shareAI-lab/learn-claude-code
Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.
UiPath/skills
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…
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…
UiPath/skills
TRIGGER for authoring, operating or diagnosing UiPath Maestro BPMN.
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…
UiPath/skills
UiPath causal investigation across every product, runtime, and activity package.
UiPath/skills
UiPath API Workflow assistant — author, run, validate, package, publish, deploy, and troubleshoot JSON workflows for uip api-workflow.
Works with
Categories
Maintain build-time skill flavors in the UiPath skills repository. Manage Skill Flavors is an agent skill from UiPath/skills. Maintain build-time skill flavors in the UiPath skills repository.
Manage Skill Flavors fits situations like: editing skill-flavor marker blocks; sparse flavor overrides; generic flavor discovery; marker-free default.
Run `npx skills add UiPath/skills --skill manage-skill-flavors -a claude-code`. Or copy the skill folder (.claude/skills/manage-skill-flavors in UiPath/skills) into .claude/skills/manage-skill-flavors in your project. Claude Code loads it when a task matches its description.
Run `npx skills add UiPath/skills --skill manage-skill-flavors -a codex`. Or copy the skill folder (.claude/skills/manage-skill-flavors in UiPath/skills) into .agents/skills/manage-skill-flavors in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add UiPath/skills --skill manage-skill-flavors -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/manage-skill-flavors, .gemini/skills/manage-skill-flavors, .github/skills/manage-skill-flavors and .opencode/skills/manage-skill-flavors in your project.
Going by SKILL.md and its folder, Manage Skill Flavors needs the command-line tools its instructions call (npm and git).
SKILL.md names 1 domain. In commands or code: npm.pkg.github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Manage Skill Flavors is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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 2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Manage Skill Flavors: SkillHub CLI (iflytek/skillhub, 5.2k stars), TeamAI Setup and Lifecycle (Tencent/teamai-cli, 5.2k stars), Skill Base CLI (ginuim/skill-base, 121 stars) and MCP Integration (LunCoSim/lunco-sim, 107 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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 11, 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.