Generate a prompt for one skill, or start a supported coding agent interactively:
bash
npx skills use vercel-labs/agent-skills@web-design-guidelines | claudenpx 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.
# GitHub shorthand (owner/repo)npx skills add vercel-labs/agent-skills# Full GitHub URLnpx skills add https://github.com/vercel-labs/agent-skills# Direct path to a skill in a reponpx skills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines# GitLab URLnpx skills add https://gitlab.com/org/repo# Any git URLnpx skills add git@github.com:vercel-labs/agent-skills.git# Local pathnpx skills add ./my-local-skills
Use the same command for public and private repositories. The CLI uses the authentication already configured for the repository URL:
bash
# 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 hostnpx skills add git@github.com:acme/private-skills.gitnpx skills add ssh://git@git.example.com/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.
# List skills in a repositorynpx skills add vercel-labs/agent-skills --list# Install specific skillsnpx 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 agentsnpx 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 agentsnpx skills add vercel-labs/agent-skills --all# Install all skills to specific agentsnpx skills add vercel-labs/agent-skills --skill '*' -a claude-code# Install specific skills to all agentsnpx skills add vercel-labs/agent-skills --agent '*' --skill frontend-design# Install from a direct SKILL.md or archive download URLnpx 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.
# List all installed skills (project and global)npx skills list# List only global skillsnpx skills ls -g# Filter by specific agentsnpx skills ls -a claude-code -a cursor
# Interactive search (fzf-style)npx skills find# Search by keywordnpx skills find typescript# Search across every repository owned by an organization or usernpx skills find react --owner vercel
# Update all skills (interactive scope prompt)npx skills update# Update a single skill by namenpx skills update my-skill# Update multiple specific skillsnpx skills update frontend-design web-design-guidelines# Update only global or project skillsnpx skills update -gnpx 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)
# Remove interactively (select from installed skills)npx skills remove# Remove specific skill by namenpx skills remove web-design-guidelines# Remove multiple skillsnpx skills remove frontend-design web-design-guidelines# Remove from global scopenpx skills remove --global web-design-guidelines# Remove from specific agents onlynpx skills remove --agent claude-code cursor my-skill# Remove all installed skills without confirmationnpx skills remove --all# Remove all skills from a specific agentnpx skills remove --skill '*' -a cursor# Remove a specific skill from all agentsnpx skills remove my-skill --agent '*'# Use 'rm' aliasnpx skills rm my-skill
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.)
[!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:
Skills are directories containing a SKILL.md file with YAML frontmatter:
markdown
---name: my-skilldescription: What this skill does and when to use it---# My SkillInstructions for the agent to follow when this skill is activated.## When to UseDescribe the scenarios where this skill should be used.## Steps1. First, do this2. Then, do that
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.
markdown
---name: my-internal-skilldescription: An internal skill not shown by defaultmetadata: internal: true---
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/).
This enables compatibility with the Claude Code plugin marketplace (opens in a new tab) 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.
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.
MIT — the text of every chapter is reproduced unmodified, frontmatter included, under the upstream licence.
Discovery
1 chapter found by walking the repository tree for SKILL.md, not by matching a directory convention. One layout observed: skills/*/SKILL.md.
Issue colours
Resolved from the owner’s published design.md — hue 2°, chroma 0.190. Two accent tones are generated per issue and each is proven against its own ground before it ships: a single accent that passes AA on both light and dark paper is arithmetically impossible.
Heading repairs
1 repair applied to the front matter so the document has one h1 and no skipped levels:
Removed “skills”, a leading h1 that duplicated the chapter title.
Images inside a chapter come from the upstream repository. Where the author gave no alternative text we mark the image decorative rather than inventing a description — a plausible caption we made up is worse than none for the reader who depends on it.
Signal
Install counts come from skills.sh. They measure downloads, not quality, and an unranked repository is not an unread one.
Agent surfaces
The whole issue is available as one markdown document at /vercel-labs/skills.md, and each chapter at its own .md URL.
Publication
Set by Skills Docs from the source repository. Body text is Literata at the reader’s chosen size and measure; code is Geist Mono. Nothing on this page was written by us except this paragraph.