Install Agent Skills from GitHub repositories.
Note: This tool implements the agentskills.io specification. Your AI agent (Claude Code, Cursor, VS Code, etc.) likely already supports this spec natively and can discover skills automatically. This tool is primarily useful for:
- Installing skills from private repositories
- Batch installing multiple skills
- Managing skills across projects
-
Standalone
- macOS/Linux:
curl -fsSL https://raw.githubusercontent.com/ai-ecoverse/gh-upskill/main/install.sh | bash - Custom prefix:
curl -fsSL https://raw.githubusercontent.com/ai-ecoverse/gh-upskill/main/install.sh | bash -s -- --prefix ~/.local
- macOS/Linux:
-
GitHub CLI extension
gh extension install ai-ecoverse/gh-upskill- Then run via
gh upskill ...(or useupskilldirectly)
Skills are discovered by scanning for **/SKILL.md files per the agentskills.io spec.
List available skills:
upskill anthropics/skills --list
Install specific skills:
upskill anthropics/skills --skill pdf --skill xlsx
Install all skills:
upskill anthropics/skills --all
Overwrite existing skills:
upskill anthropics/skills --all --force
| Subcommand | Description |
|---|---|
list |
List locally installed/discovered skills |
info <name> |
Show details about a locally installed skill |
read <name> |
Print the SKILL.md content of a locally installed skill |
search <query> |
Search ClawHub and Tessl skill registries |
upskill list # Show local skills
upskill info pdf # Show skill details
upskill read pdf # Print SKILL.md content
upskill search "pdf converter" # Search registries
Besides GitHub repositories, skills can be installed from ClawHub and Tessl registries:
upskill clawhub:tavily-search # Install from ClawHub by slug
upskill https://clawhub.ai/user/my-skill # Install from ClawHub by URL
upskill tessl:postgres-pro # Install from Tessl registry
The owner/repo@branch inline syntax is also supported (the -b flag takes precedence if both are specified):
upskill anthropics/skills@main --list
Use -p or --path to restrict skill discovery to a subfolder within the repository. This is useful for repos that organize skills in nested directories:
upskill adobe/skills --path skills/aem/edge-delivery-services --list
upskill adobe/skills --path skills/aem/edge-delivery-services --all
upskill adobe/skills --path skills/aem/edge-delivery-services --skill content-driven-development
This is equivalent to the Vercel Skills CLI's tree-URL syntax:
npx skills add https://github.com/adobe/skills/tree/main/skills/aem/edge-delivery-services --all
Use the -g or --global flag to install skills to ~/.agents/skills instead of the project's .agents/skills/ directory:
upskill -g anthropics/skills --skill pdf --skill xlsx
When installing globally:
- Skills are installed to
~/.agents/skills - If
~/.claude/exists, skills are also installed to~/.claude/skills/(see Claude Code auto-detection)
Use --dest-path to install skills to a custom location:
upskill anthropics/skills --skill pdf --dest-path .claude/skills
This is useful for compatibility with tools that expect skills in different locations. Note that --dest-path disables Claude Code auto-detection.
| Option | Description |
|---|---|
-g, --global |
Install to ~/.agents/skills (personal skills) |
-b, --branch <ref> |
Branch, tag, or commit to clone |
-p, --path <subfolder> |
Only discover skills under this subfolder |
--dest-path <path> |
Custom destination path (overrides -g) |
--list |
List available skills without installing |
--skill <name> |
Install specific skill(s) (repeatable) |
--all |
Install all discovered skills |
--force |
Overwrite existing skill directories |
-i |
Add .agents/skills/ to .gitignore |
-q, --quiet |
Reduce output |
- Downloads the source repository as a ZIP archive from GitHub (no
gitrequired; ZIP installs requireunzip, but not theghCLI) - Falls back to
gh repo cloneif the ZIP path cannot be used andghis available - Scans for all
**/SKILL.mdfiles (per agentskills.io spec) - Copies selected skill directories to
.agents/skills/(or custom destination)
ZIP-based installs work without gh, but require unzip. When the gh CLI is installed, authentication can be handled automatically via gh auth token, and gh repo clone may be used as a fallback if the ZIP path fails. If you hit GitHub API rate limits, authenticate with gh auth login.
When --dest-path is not used, upskill automatically detects Claude Code environments and dual-installs skills:
- Local installs: if a
.claude/directory orCLAUDE.mdfile exists in the project, skills are also installed to.claude/skills/ - Global installs (
-g): if~/.claude/exists, skills are also installed to~/.claude/skills/
Using --dest-path disables this auto-detection — skills are only installed to the specified path.
- Lint:
make lint(shellcheck) - Test:
make test(network required forgh repo clone) - CI runs lint + tests on pushes/PRs to
main.
Part of the AI Ecoverse - tools for AI-assisted development:
- yolo - AI CLI launcher with worktree isolation
- ai-aligned-git - Git wrapper for safe AI commit practices
- ai-aligned-gh - GitHub CLI wrapper for proper AI attribution
- vibe-coded-badge-action - Badge showing AI-generated code percentage
- skills - AI Ecoverse skills collection
Several features in this release were inspired by the upskill implementation in slicc, including registry search, ClawHub/Tessl integration, and ZIP-based installs.
