vercel-labs

    vercel-labs/skills

    #317 this week

    The open agent skills tool - npx skills

    web
    TypeScript
    26.4K stars
    2.2K forks
    26.4K GitHub watchers
    Updated 7/17/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Provides a CLI tool to manage and install reusable agent skills across multiple coding agents.
    • Enables seamless installation, updating, and removal of skills with support for many agents and flexible source formats.
    • Use for integrating specialized instruction sets into coding agents to automate tasks like release notes and PR creation.
    • Use for managing skills globally or per project to share capabilities consistently across development teams.
    • Use for creating and distributing custom skills following a standard specification to extend agent functionality.

    About skills

    skills

    The CLI for the open agent skills ecosystem.

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

    Install a Skill

    npx skills add vercel-labs/agent-skills
    

    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
    

    Options

    OptionDescription
    -g, --globalInstall to user directory instead of project
    -a, --agent <agents...>Target specific agents (e.g., claude-code, codex). See Available Agents
    -s, --skill <skills...>Install specific skills by name (use '*' for all skills)
    -l, --listList available skills without installing
    --copyCopy files instead of symlinking to agent directories
    -y, --yesSkip all confirmation prompts
    --allInstall 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
    

    Installation Scope

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

    MethodDescription
    Symlink (Recommended)Creates symlinks from each agent to a canonical copy. Single source of truth, easy updates.
    CopyCreates independent copies for each agent. Use when symlinks aren't supported.

    Other Commands

    CommandDescription
    npx skills listList 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 checkCheck for available skill updates
    npx skills updateUpdate all 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
    

    skills check / skills update

    # Check if any installed skills have updates
    npx skills check
    
    # Update all skills to latest versions
    npx skills update
    

    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
    
    OptionDescription
    -g, --globalRemove from global scope (~/) instead of project
    -a, --agentRemove from specific agents (use '*' for all)
    -s, --skillSpecify skills to remove (use '*' for all)
    -y, --yesSkip confirmation prompts
    --allShorthand 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:

    Agent--agentProject PathGlobal Path
    Amp, Kimi Code CLI, Replit, Universalamp, kimi-cli, replit, universal.agents/skills/~/.config/agents/skills/
    Antigravityantigravity.agent/skills/~/.gemini/antigravity/skills/
    Augmentaugment.augment/skills/~/.augment/skills/
    Claude Codeclaude-code.claude/skills/~/.claude/skills/
    OpenClawopenclawskills/~/.openclaw/skills/
    Cline, Warpcline, warp.agents/skills/~/.agents/skills/
    CodeBuddycodebuddy.codebuddy/skills/~/.codebuddy/skills/
    Codexcodex.agents/skills/~/.codex/skills/
    Command Codecommand-code.commandcode/skills/~/.commandcode/skills/
    Continuecontinue.continue/skills/~/.continue/skills/
    Cortex Codecortex.cortex/skills/~/.snowflake/cortex/skills/
    Crushcrush.crush/skills/~/.config/crush/skills/
    Cursorcursor.agents/skills/~/.cursor/skills/
    Droiddroid.factory/skills/~/.factory/skills/
    Gemini CLIgemini-cli.agents/skills/~/.gemini/skills/
    GitHub Copilotgithub-copilot.agents/skills/~/.copilot/skills/
    Goosegoose.goose/skills/~/.config/goose/skills/
    Juniejunie.junie/skills/~/.junie/skills/
    iFlow CLIiflow-cli.iflow/skills/~/.iflow/skills/
    Kilo Codekilo.kilocode/skills/~/.kilocode/skills/
    Kiro CLIkiro-cli.kiro/skills/~/.kiro/skills/
    Kodekode.kode/skills/~/.kode/skills/
    MCPJammcpjam.mcpjam/skills/~/.mcpjam/skills/
    Mistral Vibemistral-vibe.vibe/skills/~/.vibe/skills/
    Muxmux.mux/skills/~/.mux/skills/
    OpenCodeopencode.agents/skills/~/.config/opencode/skills/
    OpenHandsopenhands.openhands/skills/~/.openhands/skills/
    Pipi.pi/skills/~/.pi/agent/skills/
    Qoderqoder.qoder/skills/~/.qoder/skills/
    Qwen Codeqwen-code.qwen/skills/~/.qwen/skills/
    Roo Coderoo.roo/skills/~/.roo/skills/
    Traetrae.trae/skills/~/.trae/skills/
    Trae CNtrae-cn.trae/skills/~/.trae-cn/skills/
    Windsurfwindsurf.windsurf/skills/~/.codeium/windsurf/skills/
    Zencoderzencoder.zencoder/skills/~/.zencoder/skills/
    Neovateneovate.neovate/skills/~/.neovate/skills/
    Pochipochi.pochi/skills/~/.pochi/skills/
    AdaLadal.adal/skills/~/.adal/skills/

    [!NOTE] Kiro CLI users: After installing skills, manually add them to your custom agent's 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/
    • .agents/skills/
    • .agent/skills/
    • .augment/skills/
    • .claude/skills/
    • ./skills/
    • .codebuddy/skills/
    • .commandcode/skills/
    • .continue/skills/
    • .cortex/skills/
    • .crush/skills/
    • .factory/skills/
    • .goose/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/
    • .roo/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:

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

    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:

    FeatureOpenCodeOpenHandsClaude CodeClineCodeBuddyCodexCommand CodeKiro CLICursorAntigravityRoo CodeGithub CopilotAmpOpenClawNeovatePiQoderZencoder
    Basic skillsYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes
    allowed-toolsYesYesYesYesYesYesYesNoYesYesYesYesYesYesYesYesYesNo
    context: forkNoNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
    HooksNoNoYesYesNoNoNoNoNoNoNoNoNoNoNoNoNoNo

    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

    VariableDescription
    INSTALL_INTERNAL_SKILLSSet to 1 or true to show and install skills marked as internal: true
    DISABLE_TELEMETRYSet to disable anonymous usage telemetry
    DO_NOT_TRACKAlternative way to disable telemetry
    # 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.

    Telemetry is automatically disabled in CI environments.

    License

    MIT

    Discover Repositories

    Search across tracked repositories by name or description