skills
The CLI for the open agent skills ecosystem.
Supports OpenCode, Claude Code, Codex, Cursor, and 51 more.
Install a Skill
npx skills add vercel-labs/agent-skills
Source Formats
npx skills add vercel-labs/agent-skills
npx skills add https://github.com/vercel-labs/agent-skills
npx skills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
npx skills add https://gitlab.com/org/repo
npx skills add git@github.com:vercel-labs/agent-skills.git
npx skills add ./my-local-skills
Options
-g, --global | Install to user directory instead of project |
-a, --agent <agents...> | Target specific agents (e.g., claude-code, codex). See Supported Agents |
-s, --skill <skills...> | Install specific skills by name (use '*' for all skills) |
-l, --list | List available skills without installing |
--copy | Copy files instead of symlinking to agent directories |
-y, --yes | Skip all confirmation prompts |
--all | Install all skills to all agents without prompts |
Examples
npx skills add vercel-labs/agent-skills --list
npx skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
npx skills add owner/repo --skill "Convex Best Practices"
npx skills add vercel-labs/agent-skills -a claude-code -a opencode
npx skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
npx skills add vercel-labs/agent-skills --all
npx skills add vercel-labs/agent-skills --skill '*' -a claude-code
npx skills add vercel-labs/agent-skills --agent '*' --skill frontend-design
Installation Scope
| Project | (default) | ./<agent>/skills/ | Committed with your project, shared with team |
| Global | -g | ~/<agent>/skills/ | Available across all projects |
Installation Methods
When installing interactively, you can choose:
| Symlink (Recommended) | Creates symlinks from each agent to a canonical copy. Single source of truth, easy updates. |
| Copy | Creates independent copies for each agent. Use when symlinks aren't supported. |
Other Commands
npx skills list | List installed skills (alias: ls) |
npx skills find [query] | Search for skills interactively or by keyword |
npx skills remove [skills] | Remove installed skills from agents |
npx skills update [skills] | Update installed skills to latest versions |
npx skills init [name] | Create a new SKILL.md template |
skills list
List all installed skills. Similar to npm ls.
npx skills list
npx skills ls -g
npx skills ls -a claude-code -a cursor
skills find
Search for skills interactively or by keyword.
npx skills find
npx skills find typescript
skills update
npx skills update
npx skills update my-skill
npx skills update frontend-design web-design-guidelines
npx skills update -g
npx skills update -p
npx skills update -y
-g, --global | Only update global skills |
-p, --project | Only update project skills |
-y, --yes | Skip scope prompt (auto-detect: project if in a project dir, else global) |
[skills...] | Update specific skills by name instead of all |
skills init
npx skills init
npx skills init my-skill
skills remove
Remove installed skills from agents.
npx skills remove
npx skills remove web-design-guidelines
npx skills remove frontend-design web-design-guidelines
npx skills remove --global web-design-guidelines
npx skills remove --agent claude-code cursor my-skill
npx skills remove --all
npx skills remove --skill '*' -a cursor
npx skills remove my-skill --agent '*'
npx skills rm my-skill
-g, --global | Remove from global scope (~/) instead of project |
-a, --agent | Remove from specific agents (use '*' for all) |
-s, --skill | Specify skills to remove (use '*' for all) |
-y, --yes | Skip confirmation prompts |
--all | Shorthand for --skill '*' --agent '*' -y |
What are Agent Skills?
Agent skills are reusable instruction sets that extend your coding agent's capabilities. They're defined in SKILL.md
files with YAML frontmatter containing a name and description.
Skills let agents perform specialized tasks like:
- Generating release notes from git history
- Creating PRs following your team's conventions
- Integrating with external tools (Linear, Notion, etc.)
Discover skills at skills.sh
Supported Agents
Skills can be installed to any of these agents:
| AiderDesk | aider-desk | .aider-desk/skills/ | ~/.aider-desk/skills/ |
| Amp, Kimi Code CLI, Replit, Universal | amp, kimi-cli, replit, universal | .agents/skills/ | ~/.config/agents/skills/ |
| Antigravity | antigravity | .agents/skills/ | ~/.gemini/antigravity/skills/ |
| Augment | augment | .augment/skills/ | ~/.augment/skills/ |
| IBM Bob | bob | .bob/skills/ | ~/.bob/skills/ |
| Claude Code | claude-code | .claude/skills/ | ~/.claude/skills/ |
| OpenClaw | openclaw | skills/ | ~/.openclaw/skills/ |
| Cline, Dexto, Warp | cline, dexto, warp | .agents/skills/ | ~/.agents/skills/ |
| CodeArts Agent | codearts-agent | .codeartsdoer/skills/ | ~/.codeartsdoer/skills/ |
| CodeBuddy | codebuddy | .codebuddy/skills/ | ~/.codebuddy/skills/ |
| Codemaker | codemaker | .codemaker/skills/ | ~/.codemaker/skills/ |
| Code Studio | codestudio | .codestudio/skills/ | ~/.codestudio/skills/ |
| Codex | codex | .agents/skills/ | ~/.codex/skills/ |
| Command Code | command-code | .commandcode/skills/ | ~/.commandcode/skills/ |
| Continue | continue | .continue/skills/ | ~/.continue/skills/ |
| Cortex Code | cortex | .cortex/skills/ | ~/.snowflake/cortex/skills/ |
| Crush | crush | .crush/skills/ | ~/.config/crush/skills/ |
| Cursor | cursor | .agents/skills/ | ~/.cursor/skills/ |
| Deep Agents | deepagents | .agents/skills/ | ~/.deepagents/agent/skills/ |
| Devin for Terminal | devin | .devin/skills/ | ~/.config/devin/skills/ |
| Droid | droid | .factory/skills/ | ~/.factory/skills/ |
| Firebender | firebender | .agents/skills/ | ~/.firebender/skills/ |
| ForgeCode | forgecode | .forge/skills/ | ~/.forge/skills/ |
| Gemini CLI | gemini-cli | .agents/skills/ | ~/.gemini/skills/ |
| GitHub Copilot | github-copilot | .agents/skills/ | ~/.copilot/skills/ |
| Goose | goose | .goose/skills/ | ~/.config/goose/skills/ |
| Hermes Agent | hermes-agent | .hermes/skills/ | ~/.hermes/skills/ |
| Junie | junie | .junie/skills/ | ~/.junie/skills/ |
| iFlow CLI | iflow-cli | .iflow/skills/ | ~/.iflow/skills/ |
| Kilo Code | kilo | .kilocode/skills/ | ~/.kilocode/skills/ |
| Kiro CLI | kiro-cli | .kiro/skills/ | ~/.kiro/skills/ |
| Kode | kode | .kode/skills/ | ~/.kode/skills/ |
| MCPJam | mcpjam | .mcpjam/skills/ | ~/.mcpjam/skills/ |
| Mistral Vibe | mistral-vibe | .vibe/skills/ | ~/.vibe/skills/ |
| Mux | mux | .mux/skills/ | ~/.mux/skills/ |
| OpenCode | opencode | .agents/skills/ | ~/.config/opencode/skills/ |
| OpenHands | openhands | .openhands/skills/ | ~/.openhands/skills/ |
| Pi | pi | .pi/skills/ | ~/.pi/agent/skills/ |
| Qoder | qoder | .qoder/skills/ | ~/.qoder/skills/ |
| Qwen Code | qwen-code | .qwen/skills/ | ~/.qwen/skills/ |
| Rovo Dev | rovodev | .rovodev/skills/ | ~/.rovodev/skills/ |
| Roo Code | roo | .roo/skills/ | ~/.roo/skills/ |
| Tabnine CLI | tabnine-cli | .tabnine/agent/skills/ | ~/.tabnine/agent/skills/ |
| Trae | trae | .trae/skills/ | ~/.trae/skills/ |
| Trae CN | trae-cn | .trae/skills/ | ~/.trae-cn/skills/ |
| Windsurf | windsurf | .windsurf/skills/ | ~/.codeium/windsurf/skills/ |
| Zencoder | zencoder | .zencoder/skills/ | ~/.zencoder/skills/ |
| Neovate | neovate | .neovate/skills/ | ~/.neovate/skills/ |
| Pochi | pochi | .pochi/skills/ | ~/.pochi/skills/ |
| AdaL | adal | .adal/skills/ | ~/.adal/skills/ |
[!NOTE]
Kiro CLI users: The default agent automatically loads skills from .kiro/skills/ and ~/.kiro/skills/ ā no
configuration needed. If you use a custom agent, add skills to its resources in .kiro/agents/<agent>.json:
{
"resources": ["skill://.kiro/skills/**/SKILL.md"]
}
The CLI automatically detects which coding agents you have installed. If none are detected, you'll be prompted to select
which agents to install to.
Creating Skills
Skills are directories containing a SKILL.md file with YAML frontmatter:
---
name: my-skill
description: What this skill does and when to use it
---
# My Skill
Instructions for the agent to follow when this skill is activated.
## When to Use
Describe the scenarios where this skill should be used.
## Steps
1. First, do this
2. Then, do that
Required Fields
name: Unique identifier (lowercase, hyphens allowed)
description: Brief explanation of what the skill does
Optional Fields
metadata.internal: Set to true to hide the skill from normal discovery. Internal skills are only visible and
installable when INSTALL_INTERNAL_SKILLS=1 is set. Useful for work-in-progress skills or skills meant only for
internal tooling.
---
name: my-internal-skill
description: An internal skill not shown by default
metadata:
internal: true
---
Skill Discovery
The CLI searches for skills in these locations within a repository:
- Root directory (if it contains
SKILL.md)
skills/
skills/.curated/
skills/.experimental/
skills/.system/
.aider-desk/skills/
.agents/skills/
.augment/skills/
.bob/skills/
.claude/skills/
.codeartsdoer/skills/
.codebuddy/skills/
.codemaker/skills/
.codestudio/skills/
.commandcode/skills/
.continue/skills/
.cortex/skills/
.crush/skills/
.devin/skills/
.factory/skills/
.forge/skills/
.goose/skills/
.hermes/skills/
.junie/skills/
.iflow/skills/
.kilocode/skills/
.kiro/skills/
.kode/skills/
.mcpjam/skills/
.vibe/skills/
.mux/skills/
.openhands/skills/
.pi/skills/
.qoder/skills/
.qwen/skills/
.rovodev/skills/
.roo/skills/
.tabnine/agent/skills/
.trae/skills/
.windsurf/skills/
.zencoder/skills/
.neovate/skills/
.pochi/skills/
.adal/skills/
Plugin Manifest Discovery
If .claude-plugin/marketplace.json or .claude-plugin/plugin.json exists, skills declared in those files are also discovered:
{
"metadata": { "pluginRoot": "./plugins" },
"plugins": [
{
"name": "my-plugin",
"source": "my-plugin",
"skills": ["./skills/review", "./skills/test"]
}
]
}
This enables compatibility with the Claude Code plugin marketplace ecosystem.
If no skills are found in standard locations, a recursive search is performed.
Compatibility
Skills are generally compatible across agents since they follow a
shared Agent Skills specification. However, some features may be agent-specific:
| Basic skills | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
allowed-tools | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
context: fork | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| Hooks | No | No | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No |
Troubleshooting
"No skills found"
Ensure the repository contains valid SKILL.md files with both name and description in the frontmatter.
Skill not loading in agent
- Verify the skill was installed to the correct path
- Check the agent's documentation for skill loading requirements
- Ensure the
SKILL.md frontmatter is valid YAML
Permission errors
Ensure you have write access to the target directory.
Environment Variables
INSTALL_INTERNAL_SKILLS | Set to 1 or true to show and install skills marked as internal: true |
DISABLE_TELEMETRY | Set to disable anonymous usage telemetry |
DO_NOT_TRACK | Alternative way to disable telemetry |
INSTALL_INTERNAL_SKILLS=1 npx skills add vercel-labs/agent-skills --list
Telemetry
This CLI collects anonymous usage data to help improve the tool. No personal information is collected.
Telemetry is automatically disabled in CI environments.
Related Links
License
MIT