skills
CLAUDE.md176 starsChanged 13 days agoMITView on GitHub
This repository contains self-contained AI agent skills for UiPath automation development. Skills are installed as a Claude Code plugin and teach AI agents how to build, run, test, and deploy UiPath automations. See CONTRIBUTING.md for the full guide. Key rules:
We split this CLAUDE.md into the rules it gives an agent
9 rules. About 0 are common, 2 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
SKILL.md frontmatter is required: must include name (matching folder name) and description (with TRIGGER/DO NOT TRIGGER conditions)
- Distinctive: line 20
Update CODEOWNERS: when adding or modifying skill ownership
- Very specific: line 31
CLI commands must use
--output json: when output is parsed programmatically - Very specific: line 58
Before changing flavor markers, overrides, discovery, package construction, publishing, or flavor CI, read …
- Very specific: line 59
Read the existing SKILL.md before making changes
- Distinctive: line 60
Read every matching flavor override before changing a canonical marked passage.
- Very specific: line 63
Ensure description field has both TRIGGER and DO NOT TRIGGER conditions
- Very specific: line 64
When canonical flavor blocks or custom overrides change, run npm run skills:validate, npm run skills:build, and npm run skills:pack.
- Very specific: line 74
Run IDs are timestamped like YYYY-MM-DD_HH-MM-SS.
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
UiPath Agent Skills — Project Rules
This repository contains self-contained AI agent skills for UiPath automation development. Skills are installed as a Claude Code plugin and teach AI agents how to build, run, test, and deploy UiPath automations.
Architecture
- Skills are self-contained. Each skill under
skills/must function on its own: it MUST NOT import, inline, or read another skill's files, and MUST still deliver its core value if sibling skills are absent. A skill MAY delegate a task to a sibling skill in this same plugin at runtime (e.g., spawn a subagent that hands an artifact edit to the artifact's owning domain skill) when that work is the sibling's domain — provided the delegation degrades gracefully (the skill still presents an actionable result when the sibling is unavailable). - SKILL.md is the canonical default contract. Every skill folder must have a complete
SKILL.mdwith valid YAML frontmatter. Local/default consumers can understand it without a flavor manifest or runtime resolver. Shared guidance stays there; only genuinely different passages may be enclosed by named flavor-block comments. - Custom flavors inherit the complete catalog and contain only sparse exceptions. Every flavor ships every canonical skill. Files under
skill-flavors/<flavor>/<skill>/mirror canonical skill paths and contain only complete replacement blocks. If no override exists, the canonical file is intentionally reused unchanged. Do not duplicate a whole skill merely to change a few paragraphs. - Build files before packages. Build complete
defaultand custom-flavor skill trees, validate those final files, and only then stage packages. Consumers must copy a finished tree; they must not interpret flavor markers or compose Markdown at runtime. - Session hooks are Node scripts or direct
uipingestion — never shell scripts. Telemetry ships NO script:hooks/hooks.jsonpipes the raw hook payload touip track --hook, and the field derivation lives in the CLI (UiPath/clitrack-hook.ts, guarded by its vitest suite). The remaining session hooks are each onehooks/<name>.mjsrun bynode. Bothnodeanduipare native-executable entry points, so no shell dialect and no PowerShell execution policy applies, and both are present wherever the skills were installed through the Node-baseduipCLI. Eachhooks.jsonentry is a bash/PowerShell polyglot command whose both branches guard for the missing binary (silent exit 0) — telemetry's PowerShell branch resolvesuip.cmdexplicitly, never the bareuip(PowerShell would prefer npm'suip.ps1shim, which execution policy can block). Do not add ashellfield to these entries; the polyglot depends on Claude Code's default shell selection. Do NOT reintroduce.sh/.ps1hook implementations: the retired PowerShell twins required an Authenticode signing gate at publish and still failed under Group-Policy execution policy.
Contribution Rules
See CONTRIBUTING.md for the full guide. Key rules:
- Skill folder naming:
uipath-<kebab-case>underskills/ - SKILL.md frontmatter is required: must include
name(matching folder name) anddescription(with TRIGGER/DO NOT TRIGGER conditions) - References use kebab-case filenames with
-guide.mdand-template.mdsuffixes - Update CODEOWNERS when adding or modifying skill ownership
Update the two skill registries in the SAME PR that adds, renames, or removes a skill folder. Adding or renaming
skills/<name>/requires the matching edit toassets/skill-status.json(lifecycle status) AND toskills.sh.json(display grouping); removing a skill requires deleting its entry from both. Neither file is discovered from disk, so nothing else in the build notices when they drift. Verify both before opening the PR:python3 scripts/check-skill-status.py --write-readme # regenerates the README table python3 scripts/check-skills-sh.py # add/rename/remove: must print OKFull change→edit table, the
--fixlimits, and how pre-existing drift is reported:.claude/rules/skill-structure.md§ skills.sh Grouping.- No structural cross-skill dependencies — a skill must work in isolation (never import or read another skill's files); runtime delegation to a same-plugin sibling skill is allowed when it degrades gracefully
- No secrets or personal paths in committed files
- CLI commands must use
--output jsonwhen output is parsed programmatically - Review new skills for every custom flavor. They are included automatically; add the smallest sparse override wherever canonical guidance is not safe for a target environment
Never rename a job that produces a required status check, and never narrow its trigger. A required context is a literal string GitHub waits for. Rename the job and the context stops reporting; add
paths:,paths-ignore:,branches:,branches-ignore:or atypes:list withoutsynchronizeand the workflow won't run on excluded PRs. Either way the check never arrives and every open PR blocks, not just yours. Short-circuit inside the job instead — a skipped job counts as a pass. The set lives indocs/REQUIRED-CHECKS.md§ Current target set and is not discovered from disk; edit it in the same PR as the workflow:python3 -m pytest tests/scripts/test_required_checks_contract.py -q # must pass ./scripts/apply-required-checks.sh --dry-run # preview the ruleset ./scripts/apply-required-checks.sh --check # doc vs live ruleset (needs repo admin)
File Conventions
| File | Convention |
SKILL.md | Required. Uppercase. YAML frontmatter + markdown body. |
references/*.md | Kebab-case. Guides end with -guide.md. |
skill-flavors/<flavor>/<skill>/**/*.md | Optional sparse overrides at paths relative to skills/; contain only named replacement blocks. |
<!--skill-flavor:<name>:start|end--> | Compact, whitespace-free column-one boundary around the smallest canonical passage that differs by flavor. Names are lowercase kebab-case and unique within a file; indent the enclosed Markdown, never the boundary. |
assets/templates/* | Templates end with -template.md or -template.<ext>. |
skills.sh.json | Display grouping for the repo's skills.sh page. Every skills/<name>/ appears in exactly one grouping. Edit it in the same PR that adds, renames, or removes a skill folder — validate with python3 scripts/check-skills-sh.py. |
assets/skill-status.json | Lifecycle status (stable / preview / in-development) for every skill — the single source of truth. Edit in the same PR as the skill folder; regenerate the README table with python3 scripts/check-skill-status.py --write-readme. |
docs/REQUIRED-CHECKS.md | The required-status-check set, plus the rules that keep a context reportable. Machine-read: scripts/parse-required-checks.py is its only parser, shared by scripts/apply-required-checks.sh and the contract guard. Edit § Current target set in the same PR that renames a required job or changes its trigger. |
.skill-lint.yaml | Severities and options of the skill-lint PR check (.github/workflows/skill-lint.yml). Read from the base branch, so an edit applies once merged. See CONTRIBUTING.md § skill-lint PR check. |
hooks/*.mjs | Non-telemetry session hooks are single Node.js (>= 20) scripts, spawned by the polyglot commands in hooks/hooks.json. Telemetry has no script — its hooks.json entries pipe the raw payload to uip track --hook. Everything is never-fail by contract (exit 0); the polyglot guards for a missing node/uip and silently no-ops. |
When Reviewing or Editing Skills
- Before changing flavor markers, overrides, discovery, package construction, publishing, or flavor CI, read
.claude/skills/manage-skill-flavors/SKILL.mdcompletely and follow its reference-routing instructions - Read the existing SKILL.md before making changes
- Read every matching flavor override before changing a canonical marked passage; prefer an empty additive extension block over replacing a shared table, list, or navigation section
- Preserve the Critical Rules section — these prevent expensive agent mistakes
- Validate YAML frontmatter — broken frontmatter breaks skill discovery
- Ensure
descriptionfield has both TRIGGER and DO NOT TRIGGER conditions - When canonical flavor blocks or custom overrides change, run
npm run skills:validate,npm run skills:build, andnpm run skills:pack; inspect the actual generated tarballs before publishing - Preserve normal root
npm packandnpm publishas backward-compatible default-only commands: they must compose marker-free skills transactionally and restore canonical sources. Keepnpm run skills:packas the all-flavor build/verification command used by CI and isolated flavor publishers, not as the default release path
When Writing or Modifying Tests
Tests live in tests/tasks/<skill-name>/ as coder_eval task YAMLs. Before authoring or editing a task, read tests/README.md for the full framework: tag taxonomy, experiment configs, success-criteria types, weight guidance, and the /generate-task and /test-coverage slash commands. Repo-specific authoring constraints (workflow, required tags, sandbox rules, anti-patterns) are in .claude/rules/test-writing.md.
Codereval Blob Results
- Codereval dashboard results are stored in Azure Blob Storage account
coderevaltests, containerruns. - Run IDs are timestamped like
YYYY-MM-DD_HH-MM-SS; list today's runs with prefixYYYY-MM-DD. - The run summary is
<run-id>/run.json; per-task results live under<run-id>/<variant>/<task-id>/<replicate>/task.json.
In this repository39 other files it gives its agents.
- skills/uipath-genome/CLAUDE.mdCLAUDE.md
- skills/uipath-rpa/CLAUDE.mdCLAUDE.md
- .cursor/rules/content-quality.mdcCursor rule
- .cursor/rules/pr-review.mdcCursor rule
- .cursor/rules/skill-review.mdcCursor rule
- .cursor/rules/skill-structure.mdcCursor rule
- .cursor/rules/token-optimization.mdcCursor rule
- manage-skill-flavorsSkill
- uipath-activity-migratorSkill
- uipath-adminSkill
- uipath-agentsSkill
- uipath-aopsSkill
- uipath-api-workflowSkill
- uipath-automationhubSkill
- uipath-coded-appsSkill
- uipath-connector-builderSkill
- uipath-feedbackSkill
- uipath-functionsSkill
- uipath-genomeSkill
- uipath-governanceSkill
- uipath-human-in-the-loopSkill
- uipath-insightsSkill
- uipath-ixpSkill
- uipath-knowledge-bundlesSkill
- uipath-maestro-bpmnSkill
- uipath-maestro-caseSkill
- uipath-maestro-flowSkill
- uipath-mcp-serversSkill
- uipath-plannerSkill
- uipath-platformSkill
- uipath-process-miningSkill
- uipath-reviewSkill
- uipath-rpaSkill
- uipath-rulesSkill
- uipath-solutionSkill
- uipath-tasksSkill
- uipath-testSkill
- uipath-troubleshootSkill
- uipath-vertical-solutionsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

