vercel-labs/skills

▲ 1,038 stars today★ 31,654⑂ 2,696

The open agent skills tool - npx skills

31,654Star
2,696Fork
0Watch
0Issue
TypeScriptLanguage
-License
Created · last push · repository size 0 KB · default branch -

README

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

Azure Repos (Azure DevOps Services or Server)

npx skills add https://dev.azure.com/org/project/_git/repo npx skills add https://dev.azure.com/org/project/_git/repo?path=/skills/web-design&version=GBmain

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 npx skills add https://dev.azure.com/org/project/_git/private-skills

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 | Target specific agents (e.g., claude-code, codex). See Supported Agents | | -s, --skill | 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) | .//skills/ | Committed with your project, shared with team | | Global | -g | ~//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 | 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/.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

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. Each skill container directory is walked up to three levels deep, covering flat layouts (skills//SKILL.md) and catalog layouts with one or two category levels (skills///SKILL.md or skills////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 Claude Code plugin marketplace ecosystem. Skill paths declared in a manifest are searched at their declared depth and are not subject to the bounded depth-3 catalog walk described above.

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:

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

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

Permission errors

Ensure you have write access to the target directory.

Environment Variables

| 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 | | GITHUB_TOKEN | Optional explicit token for authenticated GitHub API requests | | GH_TOKEN | Fallback explicit token for authenticated GitHub API requests |

# Install internal skills
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.

GitHub repository and skill identifiers are sent only for repositories that GitHub positively confirms are public. Other remote source types may include source and skill identifiers in install telemetry because their visibility cannot be checked through GitHub. Security-audit requests remain limited to confirmed-public GitHub repositories. Set DISABLE_TELEMETRY=1 or DO_NOT_TRACK=1 to disable both entirely.

Related Links

More Today's Trending projects

1

debpalash / VoiceStudio

Python★ 29,840⑂ 3,606▲ 2,776 stars
2

JustVugg / colibri

C★ 32,609⑂ 3,430▲ 2,173 stars
3

bilawalsidhu / gods-eye-view

JavaScript★ 33,945⑂ 6,772▲ 1,831 stars
4

alibaba / open-code-review

Go★ 26,516⑂ 1,906▲ 1,571 stars
5

ever-co / ever-gauzy

TypeScript★ 6,164⑂ 994▲ 1,130 stars
6

pacifio / atlas

Rust★ 4,440⑂ 274▲ 1,091 stars