Skills CLI

repository·main·Indexed 12 days ago

https://github.com/vercel-labs/skills

A package manager for the open agent skills ecosystem (v1.5.22) that allows developers to discover, install, and manage reusable instruction sets for coding agents such as Claude Code, Cursor, Cline, GitHub Copilot, and Windsurf. The CLI supports installing skills from GitHub, GitLab, and local paths, and provides tools to initialize new skills via SKILL.md templates.

Tokens
12.6K
Snippets
46
Records
58
Agent score
98%

What's inside Skills

  1. Create a Skill with SKILL.md

    main

    A Skill is a directory containing a SKILL.md file with YAML frontmatter. The frontmatter must include a name and a description.

    Required Fields

    • name: A unique identifier (lowercase, hyphens allowed).
    • description: A brief explanation of the skill's purpose.

    Optional Fields

    • metadata.internal: Set to true to hide the skill from normal discovery. These skills are only visible when INSTALL_INTERNAL_SKILLS=1 is set.

    Example SKILL.md structure

    ---
    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
  2. Configure custom agent resources in Kiro CLI

    main

    Kiro CLI users can add skills to custom agents by updating the agent's configuration file located at .kiro/agents/<agent>.json. Use the resources key to point to the skill files using the skill:// protocol.

    Example configuration for a custom agent:

    {
      "resources": ["skill://.kiro/skills/**/SKILL.md"]
    }
  3. Manage Installed Skills (List, Find, Update, Remove)

    main

    Use the following commands to manage your local skill library:

    Listing Skills

    Use npx skills list (or ls) to see what is installed. You can filter by agent or scope.

    Finding Skills

    Use npx skills find for interactive search or provide a keyword. You can also search within a specific organization using --owner.

    Updating Skills

    Use npx skills update to pull the latest versions. You can specify --global (-g), --project (-p), or specific skill names.

    Removing Skills

    Use npx skills remove (or rm) to delete skills. You can target specific agents with --agent or remove all skills from an agent using --skill '*' --agent <name>.

    # List only global skills
    npx skills ls -g
    
    # Search for typescript skills
    npx skills find typescript
    
    # Search across an organization
    npx skills find react --owner vercel
    
    # Update a single skill
    npx skills update my-skill
    
    # Remove a specific skill from all agents
    npx skills remove my-skill --agent '*'
  4. Use a Skill Without Installing

    main

    If you want to generate a prompt for a specific skill or start a supported coding agent interactively without permanently adding the skill to your project, use npx skills use <source>.

    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 the --agent flag is provided. If --agent is used, it starts the specified agent interactively with the generated prompt.

    # Generate a prompt and pipe to an agent
    npx skills use vercel-labs/agent-skills@web-design-guidelines | claude
    
    # Start a specific agent interactively with a skill
    npx skills use vercel-labs/agent-skills --skill web-design-guidelines --agent claude-code
  5. Configure Private Repository Access

    main

    The CLI uses your existing Git authentication (Git credential helper, GitHub CLI, or SSH).

    For GitHub HTTPS and shorthand sources, skills attempts to use normal Git credentials. If that fails, it tries gh repo clone (if GitHub CLI is authenticated), then falls back to SSH.

    To explicitly provide access for GitHub API lookups (including private repository downloads and update checks), you can set the GITHUB_TOKEN or GH_TOKEN environment variables.

    # Using SSH for private repos
    npx skills add git@github.com:acme/private-skills.git
    
    # Using HTTPS (relies on configured Git credential helper)
    npx skills add https://git.example.com/acme/private-skills.git
  6. Install a Skill

    main

    Use npx skills add <source> to install skills from a repository into your project or global directory. By default, skills are installed to the current project's agent directories (./<agent>/skills/).

    To install to your user directory (available across all projects), use the -g, --global flag.

    npx skills add vercel-labs/agent-skills
  7. Verify skill quality before installation

    main

    When discovering skills, use the following criteria to ensure quality before recommending or installing them:

    1. Install count: Prefer skills with 1K+ installs. Be cautious with anything under 100.
    2. Source reputation: Trust official sources like vercel-labs, anthropics, or microsoft over unknown authors.
    3. GitHub stars: Check the source repository; treat skills from repositories with <100 stars with skepticism.
  8. Understand the Well-Known Skills discovery model

    main

    The WellKnownProvider implements a discovery mechanism for skills using RFC 8615 well-known URIs. It allows organizations to publish a collection of skills at a standardized location on their domain.

    Discovery Paths

    The provider checks the following paths in order of preference:

    1. https://example.com/.well-known/agent-skills/index.json (Preferred)
    2. https://example.com/.well-known/skills/index.json (Legacy fallback)

    Supported Index Formats

    The provider supports two versions of the index.json schema:

    v0.2.0 (Current)

    Uses a $schema field pointing to https://schemas.agentskills.io/discovery/0.2.0/schema.json. It uses a single-artifact model where each skill entry provides a url and a digest (SHA-256) for a single file (either a skill-md or an archive).

    v0.1.0 (Legacy)

    Does not use a $schema field. It uses a directory-based model where each skill entry provides a name and a list of files located within a directory named after the skill.

    How it works

    When a user provides a URL (e.g., https://example.com/docs), the provider attempts to find the index by probing both the path-relative location (https://example.com/docs/.well-known/agent-skills/index.json) and the root location (https://example.com/.well-known/agent-skills/index.json).

  9. Use the skills CLI to manage agent skills

    main

    The skills CLI allows you to discover, install, use, and manage skills for AI agents (like Claude Code or Cursor). Skills are typically defined in SKILL.md files and can be added to specific agents or installed globally.

    Core Commands

    • add <package>: Install a skill package from GitHub or a URL.
    • use <package>@<skill>: Generate a prompt to use a skill immediately without installing it.
    • remove [skills]: Remove installed skills from agents.
    • list: List currently installed skills.
    • find [query]: Search for skills interactively.
    • update: Update installed skills to their latest versions.
    • init [name]: Create a new skill template locally.
    # Add a skill package
    npx skills add vercel-labs/agent-skills
    
    # Use a specific skill without installing
    npx skills use vercel-labs/agent-skills@vercel-optimize | claude
    
    # List installed skills
    npx skills list
    
    # Search for skills
    npx skills find react
  10. Disable telemetry

    main

    The CLI collects anonymous usage data to improve the tool. To disable all telemetry collection, set either of the following environment variables to 1:

    • DISABLE_TELEMETRY=1
    • DO_NOT_TRACK=1
    export DISABLE_TELEMETRY=1
    # or
    export DO_NOT_TRACK=1
  11. Reference: `skills add` Examples

    main

    Common usage patterns for installing skills:

    # 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