
I've added Claude Code skills from GitHub's vercel-labs/skills repository to try it out
This page has been translated by machine translation. View original
Claude Code's Skills (SKILL.md) are a useful mechanism that allows you to add custom functionality to AI agents. While creating your own skills is fun, it would be even better if you could easily use skills that someone else has already created.
vercel-labs/skills addresses this need. It's a CLI tool that provides unified installation and management of skills, compatible with over 40 AI agents including Claude Code. I've tried it out and would like to share my experience.
If you want to learn about the basics of Claude Code skills, please check out our company blog:
- [2026 version] Getting to know Claude Code. | DevelopersIO
- Following the official Agent Skills (Claude Code Skills) guide, I created a Skill for collecting CVE vulnerability information | DevelopersIO
Conclusion First
- Use
npx skills add <owner/repo>to install skills from GitHub into Claude Code. - You can share the
skills-lock.jsonfile to reproduce the same skills in different environments. - Find skills at https://skills.sh
What is vercel-labs/skills?
vercel-labs/skills is a CLI tool for the "open agent skills ecosystem." It allows you to install, remove, list, and update skills with simple commands.
Claude Code skills work by placing a SKILL.md file in a designated directory.
While you can do this manually, with vercel-labs/skills, it's just one command: npx skills add <repository>.
How to Find Skills
The official skills directory skills.sh is a convenient way to find skills. You can search using the search box, or filter by All Time popularity, 24-hour Trending, or Hot tabs.
Skill Sources
vercel-labs/skills uses GitHub repositories as skill sources. It supports GitHub shorthand (owner/repo), full URLs, GitLab, gitURLs, and local paths.
# GitHub shorthand
$ npx skills add microsoft/playwright-cli
# Full URL
$ npx skills add https://github.com/microsoft/playwright-cli
# Local path
$ npx skills add ./my-local-skills
- Reference: README - vercel-labs/skills
Installing a Skill
Basic Installation Command
npx skills add <owner/repo>
As an example, let's install the playwright-cli skill from Microsoft's official Playwright CLI. With this skill installed, Claude Code will understand how to use the playwright-cli command and autonomously perform browser operations (page navigation, clicks, taking screenshots, etc.).
- Reference: GitHub - microsoft/playwright-cli
$ npx skills add https://github.com/microsoft/playwright-cli
When executed, it will search for skills in the repository and ask which one to install. In this case, we want to install playwright-cli.
┌ skills
│
◇ Source: https://github.com/microsoft/playwright-cli.git
│
◇ Repository cloned
│
◇ Found 2 skills
│
◆ Select skills to install (space to toggle)
│ ◻ dev
│ ◼ playwright-cli (Automates browser interactions for web testing, form fill...)
└
Next, you can select which agent to install it to.
Since I use Claude Code, I'll select Claude Code.
In the Additional agents section, select Claude Code with space and confirm with Enter.
◆ Which agents do you want to install to?
│
│ ── Universal (.agents/skills) ── always included ────────────
│ • Amp
│ • Cline
│ • Codex
│ • Cursor
│ • Gemini CLI
│ • GitHub Copilot
│ • Kimi Code CLI
│ • OpenCode
│ • Warp
│
│ ── Additional agents ─────────────────────────────
│ Search:
│ ↑↓ move, space select, enter confirm
│
│ ❯ ○ Antigravity (.agent/skills)
│ ○ Augment (.augment/skills)
│ ● Claude Code (.claude/skills)
│ ○ OpenClaw (skills)
│ ○ CodeBuddy (.codebuddy/skills)
│ ○ Command Code (.commandcode/skills)
│ ○ Continue (.continue/skills)
│ ○ Cortex Code (.cortex/skills)
│ ↓ 23 more
│
│ Selected: Amp, Cline, Codex +7 more
└
Then you'll be asked about scope. We'll install it as a project-specific skill.
Claude Code skills are placed in the following paths for each scope:
| Scope | Path |
|---|---|
| Project | .claude/skills/<skill-name>/SKILL.md |
| Global | ~/.claude/skills/<skill-name>/SKILL.md |
◆ Installation scope
│ ● Project (Install in current directory (committed with your project))
│ ○ Global
└
Next, you'll be asked about the installation method. We'll select Symlink.
Symlinks are recommended as they make it easier to update skills in one place.
◆ Installation method
│ ● Symlink (Recommended) (Single source of truth, easy updates)
│ ○ Copy to all agents
└
Finally, there will be a confirmation before installation. After that, the installation will proceed.
└ Done! Review skills before use; they run with full agent permissions.
Options for Adding Skills
Instead of interactive selection, you can install quickly by using options:
$ npx skills add https://github.com/microsoft/playwright-cli \
--skill playwright-cli \
--agent claude-code \
--yes
Restoring from skills-lock.json
When you install a skill with skills add, the installation information is recorded in skills-lock.json.
{
"version": 1,
"skills": {
"playwright-cli": {
"source": "microsoft/playwright-cli",
"sourceType": "github",
"computedHash": "7075ab30f588019197a2f1518bb4c9d33d69d33352af079b5f9c60303ad3886e"
}
}
}
If you commit this file to Git, you can reproduce the same skill set for team members or in different environments. This is similar to how package-lock.json stores library installation information in Node.js, and how you use npm ci to install libraries.
To restore, use the following command:
$ npx skills experimental_install
You can check command details with npx skills --help.
"npx skills --help"
Usage: skills <command> [options]
Manage Skills:
add <package> Add a skill package (alias: a)
e.g. vercel-labs/agent-skills
https://github.com/vercel-labs/agent-skills
remove [skills] Remove installed skills
list, ls List installed skills
find [query] Search for skills interactively
Updates:
check Check for available skill updates
update Update all skills to latest versions
Project:
experimental_install Restore skills from skills-lock.json
init [name] Initialize a skill (creates <name>/SKILL.md or ./SKILL.md)
experimental_sync Sync skills from node_modules into agent directories
Add Options:
-g, --global Install skill globally (user-level) instead of project-level
-a, --agent <agents> Specify agents to install to (use '*' for all agents)
-s, --skill <skills> Specify skill names to install (use '*' for all skills)
-l, --list List available skills in the repository without installing
-y, --yes Skip confirmation prompts
--copy Copy files instead of symlinking to agent directories
--all Shorthand for --skill '*' --agent '*' -y
--full-depth Search all subdirectories even when a root SKILL.md exists
Remove Options:
-g, --global Remove from global scope
-a, --agent <agents> Remove from specific agents (use '*' for all agents)
-s, --skill <skills> Specify skills to remove (use '*' for all skills)
-y, --yes Skip confirmation prompts
--all Shorthand for --skill '*' --agent '*' -y
Experimental Sync Options:
-a, --agent <agents> Specify agents to install to (use '*' for all agents)
-y, --yes Skip confirmation prompts
List Options:
-g, --global List global skills (default: project)
-a, --agent <agents> Filter by specific agents
--json Output as JSON (machine-readable, no ANSI codes)
Options:
--help, -h Show this help message
--version, -v Show version number
Examples:
$ skills add vercel-labs/agent-skills
$ skills add vercel-labs/agent-skills -g
$ skills add vercel-labs/agent-skills --agent claude-code cursor
$ skills add vercel-labs/agent-skills --skill pr-review commit
$ skills remove # interactive remove
$ skills remove web-design # remove by name
$ skills rm --global frontend-design
$ skills list # list project skills
$ skills ls -g # list global skills
$ skills ls -a claude-code # filter by agent
$ skills ls --json # JSON output
$ skills find # interactive search
$ skills find typescript # search by keyword
$ skills check
$ skills update
$ skills experimental_install # restore from skills-lock.json
$ skills init my-skill
$ skills experimental_sync # sync from node_modules
$ skills experimental_sync -y # sync without prompts
Discover more skills at https://skills.sh/
However, this method only installs skills to the .agents/skills folder.
To use them with Claude Code, you need to run an additional command to reflect them in the .claude/skills folder:
$ cp -r .agents/skills/* .claude/skills/
Checking Installed Skills
$ npx skills list
This will display a list of installed skills in both project and global scopes.
Updating Skills
$ npx skills update
This allows you to update all installed skills at once.
Removing Skills
$ npx skills remove <skill-name>
You can remove skills you no longer use.
Using Installed Skills
You can invoke installed skills in Claude Code by typing /<skill-name>. For the playwright-cli skill, type /playwright-cli to call it.
Additionally, Claude may automatically apply skills based on the description in the skill's SKILL.md file when it fits the conversation context.
- Reference: Extend Claude with skills - Claude Code Docs
Caution: Risks of Untrusted Skills
As we've covered in our company blog, caution is needed with skills from untrusted sources.
Skills serve as instructions for Claude Code when reading files or executing commands. Installing untrusted skills could lead to unintended data leaks or malicious command execution.
I recommend always checking the contents of the SKILL.md file, including skills published on skills.sh.
Conclusion
With vercel-labs/skills, adding skills to Claude Code is now a one-command process. You can install with npx skills add, and by sharing skills-lock.json, you can install the same skills in other environments with ease.
The skills.sh directory offers a wide variety of skills, so it's worth exploring to find ones that fit your development workflow. I hope this blog has been helpful.