The CLI for the open agent skills ecosystem.
Supports OpenCode, Claude Code, Codex, Cursor, and 69 more.
npx skills add vercel-labs/agent-skillsGenerate a prompt for one skill, or start a supported coding agent interactively:
npx skills use vercel-labs/agent-skills@web-design-guidelines | claude
npx skills use vercel-labs/agent-skills --skill web-design-guidelines --agent claude-codeskills use resolves sources the same way as skills add, writes the selected skill files to a temporary directory, and prints only the generated prompt to stdout unless --agent is provided. With --agent, it starts one supported agent interactively with the generated prompt.
# GitHub shorthand (owner/repo)
npx skills add vercel-labs/agent-skills
# Full GitHub URL
npx skills add https://github.com/vercel-labs/agent-skills
# Direct path to a skill in a repo
npx skills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
# GitLab URL
npx skills add https://gitlab.com/org/repo
# Any git URL
npx skills add git@github.com:vercel-labs/agent-skills.git
# Local path
npx skills add ./my-local-skills| Option | Description |
|---|---|
-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 |
# List skills in a repository
npx skills add vercel-labs/agent-skills --list
# Install specific skills
npx skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
# Install a skill with spaces in the name (must be quoted)
npx skills add owner/repo --skill "Convex Best Practices"
# Install to specific agents
npx skills add vercel-labs/agent-skills -a claude-code -a opencode
# Non-interactive installation (CI/CD friendly)
npx skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
# Install all skills from a repo to all agents
npx skills add vercel-labs/agent-skills --all
# Install all skills to specific agents
npx skills add vercel-labs/agent-skills --skill '*' -a claude-code
# Install specific skills to all agents
npx skills add vercel-labs/agent-skills --agent '*' --skill frontend-design| Scope | Flag | Location | Use Case |
|---|---|---|---|
| Project | (default) | ./<agent>/skills/ |
Committed with your project, shared with team |
| Global | -g |
~/<agent>/skills/ |
Available across all projects |
When installing interactively, you can choose:
| Method | Description |
|---|---|
| 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. |
| Command | Description |
|---|---|
npx skills use <source> |
Use one skill without installing |
npx skills cui |
Open the guided terminal UI |
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 |
Open a guided terminal UI for common skill management tasks:
npx skills cui
npx skills cui --no-confirmationUse the CUI to list project/global skills, filter by agent, search, install, update, remove, and move skills between project and global layers. Destructive actions ask for confirmation by default; --no-confirmation skips CUI confirmation prompts for scripted or trusted workflows.
Key CUI capabilities:
- Select a skill to review its description, activation hints when available, install layer, linked agents, path, and source/ref/hash metadata before acting.
- Press Space in a skill list to mark multiple skills, then update, remove, or move the selected group in one flow.
- Use Esc to cancel guided inputs or exit from the root menu.
- Navigate long lists with stable terminal redraws; CUI prompts and headers are implemented with project-owned terminal primitives instead of an external TUI runtime dependency.
The CUI runs inside the core skills CLI and uses the same internal code paths as the command-line commands where available.
If you want only the guided UI without installing this package first, run:
npx skill-cuiskill-cui is a standalone wrapper that invokes the public npx skills command and parses structured output where available. It intentionally does not import private skills internals and ships its own small terminal UI helpers rather than depending on an external TUI runtime package. The standalone package is published from the smota/skills fork with attribution to the upstream vercel-labs/skills project. Standalone search currently requires keywords; for open interactive search, run npx skills find directly.
List all installed skills. Similar to npm ls.
# List all installed skills (project and global)
npx skills list
# List only global skills
npx skills ls -g
# Filter by specific agents
npx skills ls -a claude-code -a cursorSearch for skills interactively or by keyword.
# Interactive search (fzf-style)
npx skills find
# Search by keyword
npx skills find typescript
# Search across every repository owned by an organization or user
npx skills find react --owner vercel# Update all skills (interactive scope prompt)
npx skills update
# Update a single skill by name
npx skills update my-skill
# Update multiple specific skills
npx skills update frontend-design web-design-guidelines
# Update only global or project skills
npx skills update -g
npx skills update -p
# Non-interactive (auto-detects scope: project if in a project, else global)
npx skills update -y| Option | Description |
|---|---|
-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 |
# Create SKILL.md in current directory
npx skills init
# Create a new skill in a subdirectory
npx skills init my-skillRemove installed skills from agents.
# Remove interactively (select from installed skills)
npx skills remove
# Remove specific skill by name
npx skills remove web-design-guidelines
# Remove multiple skills
npx skills remove frontend-design web-design-guidelines
# Remove from global scope
npx skills remove --global web-design-guidelines
# Remove from specific agents only
npx skills remove --agent claude-code cursor my-skill
# Remove all installed skills without confirmation
npx skills remove --all
# Remove all skills from a specific agent
npx skills remove --skill '*' -a cursor
# Remove a specific skill from all agents
npx skills remove my-skill --agent '*'
# Use 'rm' alias
npx skills rm my-skill| Option | Description |
|---|---|
-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 |
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
Skills can be installed to any of these agents:
| Agent | --agent |
Project Path | Global Path |
|---|---|---|---|
| AiderDesk | aider-desk |
.aider-desk/skills/ |
~/.aider-desk/skills/ |
| Amp, Replit, Universal | amp, replit, universal |
.agents/skills/ |
~/.config/agents/skills/ |
| Antigravity | antigravity |
.agents/skills/ |
~/.gemini/antigravity/skills/ |
| Antigravity CLI | antigravity-cli |
.agents/skills/ |
~/.gemini/antigravity-cli/skills/ |
| AstrBot | astrbot |
data/skills/ |
~/.astrbot/data/skills/ |
| Autohand Code CLI | autohand-code |
.autohand/skills/ |
~/.autohand/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, Kimi Code CLI, Loaf, Warp, Zed | cline, dexto, kimi-code-cli, loaf, warp, zed |
.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/ |
| Eve | eve |
agent/skills/ |
N/A (project-only) |
| 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/ |
| inference.sh | inference-sh |
.inferencesh/skills/ |
~/.inferencesh/skills/ |
| Jazz | jazz |
.jazz/skills/ |
~/.jazz/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/ |
| Lingma | lingma |
.lingma/skills/ |
~/.lingma/skills/ |
| MCPJam | mcpjam |
.mcpjam/skills/ |
~/.mcpjam/skills/ |
| Mistral Vibe | mistral-vibe |
.vibe/skills/ |
~/.vibe/skills/ |
| Moxby | moxby |
.moxby/skills/ |
~/.moxby/skills/ |
| Mux | mux |
.mux/skills/ |
~/.mux/skills/ |
| OpenCode | opencode |
.agents/skills/ |
~/.config/opencode/skills/ |
| OpenHands | openhands |
.openhands/skills/ |
~/.openhands/skills/ |
| Ona | ona |
.ona/skills/ |
~/.ona/skills/ |
| Pi | pi |
.pi/skills/ |
~/.pi/agent/skills/ |
| Qoder | qoder |
.qoder/skills/ |
~/.qoder/skills/ |
| Qoder CN | qoder-cn |
.qoder/skills/ |
~/.qoder-cn/skills/ |
| Qwen Code | qwen-code |
.qwen/skills/ |
~/.qwen/skills/ |
| Reasonix | reasonix |
.reasonix/skills/ |
~/.reasonix/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/ |
| Terramind | terramind |
.terramind/skills/ |
~/.terramind/skills/ |
| Tinycloud | tinycloud |
.tinycloud/skills/ |
~/.tinycloud/skills/ |
| Trae | trae |
.trae/skills/ |
~/.trae/skills/ |
| Trae CN | trae-cn |
.trae/skills/ |
~/.trae-cn/skills/ |
| Windsurf | windsurf |
.windsurf/skills/ |
~/.codeium/windsurf/skills/ |
| ZCode | zcode |
.zcode/skills/ |
~/.zcode/skills/ |
| Zencoder, Zenflow | zencoder, zenflow |
.zencoder/skills/ |
~/.zencoder/skills/ |
| Neovate | neovate |
.neovate/skills/ |
~/.neovate/skills/ |
| Pochi | pochi |
.pochi/skills/ |
~/.pochi/skills/ |
| PromptScript | promptscript |
.agents/skills/ |
N/A (project-only) |
| 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.
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 thatname: Unique identifier (lowercase, hyphens allowed)description: Brief explanation of what the skill does
metadata.internal: Set totrueto hide the skill from normal discovery. Internal skills are only visible and installable whenINSTALL_INTERNAL_SKILLS=1is 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
---The CLI searches for skills in these locations within a repository. Each
skill container directory is walked one level deep for the common flat
layout (skills/<name>/SKILL.md) and one extra level deep for catalog
layouts (skills/<category>/<name>/SKILL.md). A SKILL.md discovered at
the shallower level shadows anything nested below it. Use --full-depth
to also discover SKILL.md files outside these container directories
(e.g. under examples/ or tests/).
- Root directory (if it contains
SKILL.md) skills/skills/.curated/skills/.experimental/skills/.system/.aider-desk/skills/.agents/skills/data/skills/.autohand/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/agent/skills/.forge/skills/.goose/skills/.hermes/skills/.inferencesh/skills/.jazz/skills/.junie/skills/.iflow/skills/.kilocode/skills/.kiro/skills/.kode/skills/.lingma/skills/.mcpjam/skills/.vibe/skills/.moxby/skills/.mux/skills/.openhands/skills/.ona/skills/.pi/skills/.qoder/skills/.qwen/skills/.reasonix/skills/.rovodev/skills/.roo/skills/.tabnine/agent/skills/.terramind/skills/.tinycloud/skills/.trae/skills/.windsurf/skills/.zcode/skills/.zencoder/skills/.neovate/skills/.pochi/skills/.adal/skills/
If .claude-plugin/marketplace.json or .claude-plugin/plugin.json exists, skills declared in those files are also discovered:
// .claude-plugin/marketplace.json
{
"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. Skill paths declared in a manifest are searched at their declared depth and are not subject to the depth-2 catalog walk described above.
If no skills are found in standard locations, a recursive search is performed.
Skills are generally compatible across agents since they follow a shared Agent Skills specification. However, some features may be agent-specific:
| Feature | OpenCode | OpenHands | Claude Code | Cline | CodeBuddy | Codex | Command Code | Kiro CLI | Cursor | Antigravity | Roo Code | Github Copilot | Amp | OpenClaw | Neovate | Pi | Qoder | Zencoder |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
Ensure the repository contains valid SKILL.md files with both name and description in the frontmatter.
- Verify the skill was installed to the correct path
- Check the agent's documentation for skill loading requirements
- Ensure the
SKILL.mdfrontmatter is valid YAML
Ensure you have write access to the target directory.
| Variable | Description |
|---|---|
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
INSTALL_INTERNAL_SKILLS=1 npx skills add vercel-labs/agent-skills --listThis CLI collects anonymous usage data to help improve the tool. No personal information is collected.
Telemetry is automatically disabled in CI environments.
- Agent Skills Specification
- Skills Directory
- Amp Skills Documentation
- Antigravity Skills Documentation
- Factory AI / Droid Skills Documentation
- Claude Code Skills Documentation
- OpenClaw Skills Documentation
- Cline Skills Documentation
- CodeBuddy Skills Documentation
- Codex Skills Documentation
- Command Code Skills Documentation
- Crush Skills Documentation
- Cursor Skills Documentation
- Firebender Skills Documentation
- Gemini CLI Skills Documentation
- GitHub Copilot Agent Skills
- iFlow CLI Skills Documentation
- Kimi Code CLI Skills Documentation
- Kiro CLI Skills Documentation
- Kode Skills Documentation
- OpenCode Skills Documentation
- Qwen Code Skills Documentation
- OpenHands Skills Documentation
- Pi Skills Documentation
- Qoder Skills Documentation
- Replit Skills Documentation
- Roo Code Skills Documentation
- Trae Skills Documentation
- Vercel Agent Skills Repository
MIT