skills README

The project's README from github.com/vercel-labs/skills. As one markdown file: README.md.

skills

The CLI for the open agent skills ecosystem.

Supports OpenCode, Claude Code, Codex, Cursor, and 75 more.

skills.sh

Install a Skill

npx skills add vercel-labs/agent-skills

Use a Skill Without Installing

Generate 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-code

skills 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.

Source Formats

# 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 [email protected]:vercel-labs/agent-skills.git

# Local path
npx skills add ./my-local-skills

Private Repositories

Use the same command for public and private repositories. The CLI uses the authentication already configured for the repository URL:

# GitHub shorthand or HTTPS (Git credential helper, GitHub CLI, then SSH fallback)
npx skills add acme/private-skills

# SSH on GitHub, GitLab, or another Git host
npx skills add [email protected]:acme/private-skills.git
npx skills add ssh://[email protected]/acme/private-skills.git

# HTTPS on any Git host (uses your configured Git credential helper)
npx skills add https://git.example.com/acme/private-skills.git

For GitHub HTTPS and shorthand sources, skills first uses normal Git credentials. If that fails and GitHub CLI is authenticated, it tries gh repo clone, followed by SSH. It does not execute gh auth token or copy the stored GitHub CLI credential into the Node.js process.

For GitHub tree lookups, skills first tries the API anonymously, then an explicitly supplied environment token, then gh api. GitHub CLI applies its own stored authentication and returns only the API response; the credential is never printed to or read by skills. If API access still fails, update checks fall back to an authenticated Git clone.

GITHUB_TOKEN or GH_TOKEN can be set explicitly for GitHub API access, including private repository downloads and update checks. They are optional for installs when Git, GitHub CLI, or SSH authentication is already configured.

Options

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

Examples

# 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

# Install from a direct SKILL.md or archive download URL
npx skills add https://example.com/download/my-skill

Direct download URLs are tried after well-known discovery. They may point to a single valid SKILL.md file or a .zip, .tar, .tar.gz, or .tgz archive; the URL does not need to include a file extension. Downloads are limited to 10 MiB, extracted content to 25 MiB, and archives to 1000 files by default. Override with SKILLS_DOWNLOAD_MAX_BYTES, SKILLS_EXTRACT_MAX_BYTES, and SKILLS_EXTRACT_MAX_FILES when you trust the source.

Installation Scope

Scope Flag Location Use Case
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:

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.

Other Commands

Command Description
npx skills use <source> Use one skill without installing
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.

# 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 cursor

skills find

Search 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

skills update

# 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

skills init

# Create SKILL.md in current directory
npx skills init

# Create a new skill in a subdirectory
npx skills init my-skill

skills remove

Remove 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

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:

Discover skills at skills.sh

Supported Agents

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, Sarvam Code, Warp, Zed cline, dexto, kimi-code-cli, loaf, sarvam-code, 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 .agents/skills/ ~/.factory/skills/
Eve eve agent/skills/ N/A (project-only)
Firebender firebender .agents/skills/ ~/.firebender/skills/
ForgeCode forgecode .forge/skills/ ~/.forge/skills/
fx fx .fx/skills/ ~/.fx/skills/
Gemini CLI gemini-cli .agents/skills/ ~/.gemini/skills/
GitHub Copilot github-copilot .agents/skills/ ~/.copilot/skills/
Goose goose .goose/skills/ ~/.config/goose/skills/
Grok Build grok .grok/skills/ ~/.grok/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 .agents/skills/ ~/.kilo/skills/
Kimchi kimchi .kimchi/skills/ ~/.config/kimchi/harness/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/
MiniMax Code minimax-code .minimax/skills/ ~/.minimax/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/
Posit Assistant posit-assistant .posit/assistant/skills/ ~/.posit/assistant/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.

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

Optional Fields

---
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. Each skill container directory is walked up to three levels deep, covering flat layouts (skills/<name>/SKILL.md) and catalog layouts with one or two category levels (skills/<category>/<name>/SKILL.md or skills/<category>/<category>/<name>/SKILL.md). A SKILL.md discovered at a 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/).

Plugin Manifest Discovery

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 [Cla

skills (vercel-labs/skills)

Searching Database…

35.3K ·GitHub
What is this?skills is a CLI for the open agent skills ecosystem: it installs, manages, and runs reusable 'Agent Skills' (instruction sets in SKILL.md files) across dozens of coding agents like Claude Code, Codex, and Cursor.
Is this a CLI tool or a library?It's a command-line tool run with npx (npx skills ...); there's no API or library import involved, just subcommands like add, use, list, find, update, and remove.
How do I install a skill?Point the CLI at a source (a GitHub repo, shorthand, or a SKILL.md/zip URL) and it lets you pick which detected coding agents to install the skill into, either as symlinks to a canonical copy or as independent file copies.
Do I need a GitHub token or anything else configured first?No token is required for public repos; the CLI falls back through normal Git credentials, GitHub CLI auth, or SSH. A GITHUB_TOKEN/GH_TOKEN is only needed if none of those are already set up, especially for private repositories.
Any limits on what I can install from a remote source?Downloads default to a 10 MiB cap, extracted content to 25 MiB, and archives to 1000 files — large skill bundles may need these overridden via environment variables if you trust the source.
Which coding agents does this work with?Over 75 agents are supported out of the box, including Claude Code, Codex, Cursor, OpenCode, Gemini CLI, and Windsurf, each with its own documented project and global install paths.
What exactly is a Skill (SKILL.md)?A Skill is a directory containing a SKILL.md file with YAML frontmatter declaring a name and description, plus instructions the agent follows for tasks like generating release notes, creating PRs that follow team conventions, or integrating with tools like Linear and Notion.
Can I try a skill without installing it permanently?Yes — npx skills use resolves the source, writes the skill files to a temporary directory, and either prints the generated prompt or launches a supported agent interactively if you pass --agent.
How do I keep installed skills up to date?Run npx skills update to refresh all or specific skills to their latest versions, with -g or -p flags to scope the update to global or project installs.
How does the CLI discover skills inside a repository?It walks up to three directory levels deep looking for SKILL.md in flat or categorized layouts (e.g. skills/name/SKILL.md or skills/category/name/SKILL.md); a shallower SKILL.md shadows nested ones, and --full-depth extends the search outside the standard folders.
Size
1.7 MB
Stars
35.3K
Age
9mo
Commits · 90 Days