开放 Agent 技能生态系统的 CLI 工具
支持 OpenCode、Claude Code、Codex、Cursor 等 40+ 种 Agent。
npx skills add vercel-labs/agent-skills
# GitHub 简写 (owner/repo)
npx skills add vercel-labs/agent-skills
# 完整 GitHub URL
npx skills add https://github.com/vercel-labs/agent-skills
# 仓库中技能的直接路径
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
# 任意 git URL
npx skills add git@github.com:vercel-labs/agent-skills.git
# 本地路径
npx skills add ./my-local-skills
| 选项 | 说明 |
|---|---|
-g, --global |
安装到用户目录而非项目目录 |
-a, --agent <agents...> |
安装到指定的 Agent(如 claude-code、codex) |
-s, --skill <skills...> |
按名称安装指定技能(使用 '*' 安装所有技能) |
-l, --list |
列出可用技能而不安装 |
--copy |
复制文件而非创建符号链接到 Agent 目录 |
-y, --yes |
跳过所有确认提示 |
--all |
安装所有技能到所有 Agent,无提示 |
# 列出仓库中的技能
npx skills add vercel-labs/agent-skills --list
# 安装指定技能
npx skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
# 安装名称中带空格的技能(必须加引号)
npx skills add owner/repo --skill "Convex Best Practices"
# 安装到指定 Agent
npx skills add vercel-labs/agent-skills -a claude-code -a opencode
# 非交互式安装(适合 CI/CD)
npx skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y
# 安装仓库中的所有技能到所有 Agent
npx skills add vercel-labs/agent-skills --all
# 安装所有技能到指定 Agent
npx skills add vercel-labs/agent-skills --skill '*' -a claude-code
# 安装指定技能到所有 Agent
npx skills add vercel-labs/agent-skills --agent '*' --skill frontend-design
| 范围 | 标志 | 位置 | 使用场景 |
|---|---|---|---|
| 项目 | (默认) | ./<agent>/skills/ |
随项目提交,团队共享 |
| 全局 | -g |
~/<agent>/skills/ |
所有项目可用 |
交互式安装时,可以选择:
| 方式 | 说明 |
|---|---|
| 符号链接(推荐) | 从每个 Agent 创建一个指向规范副本的符号链接。单一信源,易于更新。 |
| 复制 | 为每个 Agent 创建独立副本。当符号链接不被支持时使用。 |
| 命令 | 说明 |
|---|---|
npx skills list |
列出已安装的技能(别名:ls) |
npx skills find [query] |
交互式搜索或按关键字搜索技能 |
npx skills remove [skills] |
从 Agent 移除已安装的技能 |
npx skills check |
检查可用技能更新 |
npx skills update |
更新所有已安装技能到最新版本 |
npx skills init [name] |
创建新的 SKILL.md 模板 |
# 列出所有已安装的技能(项目 + 全局)
npx skills list
# 仅列出全局技能
npx skills ls -g
# 按指定 Agent 过滤
npx skills ls -a claude-code -a cursor
# 交互式搜索(fzf 风格)
npx skills find
# 按关键字搜索
npx skills find typescript
# 检查是否有已安装技能的更新
npx skills check
# 更新所有技能到最新版本
npx skills update
# 在当前目录创建 SKILL.md
npx skills init
# 在子目录创建新技能
npx skills init my-skill
# 交互式移除(从已安装技能中选择)
npx skills remove
# 按名称移除指定技能
npx skills remove web-design-guidelines
# 移除多个技能
npx skills remove frontend-design web-design-guidelines
# 从全局范围移除
npx skills remove --global web-design-guidelines
# 仅从指定 Agent 移除
npx skills remove --agent claude-code cursor my-skill
# 无确认移除所有已安装技能
npx skills remove --all
# 从特定 Agent 移除所有技能
npx skills remove --skill '*' -a cursor
# 从所有 Agent 移除指定技能
npx skills remove my-skill --agent '*'
# 使用 'rm' 别名
npx skills rm my-skill
| 选项 | 说明 |
|---|---|
-g, --global |
从全局范围(~/)移除而非项目 |
-a, --agent |
从指定 Agent 移除(使用 '*' 表示全部) |
-s, --skill |
指定要移除的技能(使用 '*' 表示全部) |
-y, --yes |
跳过确认提示 |
--all |
快捷方式,等同于 --skill '*' --agent '*' -y |
Agent 技能是可重用的指令集,用于扩展编码 Agent 的能力。它们定义在包含 YAML frontmatter(包含 name 和 description)的 SKILL.md 文件中。
技能让 Agent 能执行专业化任务,例如:
在 skills.sh 发现更多技能
技能可以安装到以下任意 Agent:
| Agent | --agent |
项目路径 | 全局路径 |
|---|---|---|---|
| Amp, Kimi Code CLI, Replit, Universal | amp, kimi-cli, replit, universal |
.agents/skills/ |
~/.config/agents/skills/ |
| Antigravity | antigravity |
.agent/skills/ |
~/.gemini/antigravity/skills/ |
| Augment | augment |
.augment/skills/ |
~/.augment/skills/ |
| Claude Code | claude-code |
.claude/skills/ |
~/.claude/skills/ |
| OpenClaw | openclaw |
skills/ |
~/.openclaw/skills/ |
| Cline | cline |
.agents/skills/ |
~/.agents/skills/ |
| CodeBuddy | codebuddy |
.codebuddy/skills/ |
~/.codebuddy/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/ |
| Droid | droid |
.factory/skills/ |
~/.factory/skills/ |
| Gemini CLI | gemini-cli |
.agents/skills/ |
~/.gemini/skills/ |
| GitHub Copilot | github-copilot |
.agents/skills/ |
~/.copilot/skills/ |
| Goose | goose |
.goose/skills/ |
~/.config/goose/skills/ |
| Junie | junie |
.junie/skills/ |
~/.junie/skills/ |
| Kilo Code | kilo |
.kilocode/skills/ |
~/.kilocode/skills/ |
| Kiro CLI | kiro-cli |
.kiro/skills/ |
~/.kiro/skills/ |
| OpenCode | opencode |
.agents/skills/ |
~/.config/opencode/skills/ |
| OpenHands | openhands |
.openhands/skills/ |
~/.openhands/skills/ |
| Roo Code | roo |
.roo/skills/ |
~/.roo/skills/ |
| Trae / Trae CN | trae, trae-cn |
.trae/skills/ |
~/.trae/skills/ / ~/.trae-cn/skills/ |
| Windsurf | windsurf |
.windsurf/skills/ |
~/.codeium/windsurf/skills/ |
| Zencoder | zencoder |
.zencoder/skills/ |
~/.zencoder/skills/ |
| Neovate | neovate |
.neovate/skills/ |
~/.neovate/skills/ |
| Pochi | pochi |
.pochi/skills/ |
~/.pochi/skills/ |
| AdaL | adal |
.adal/skills/ |
~/.adal/skills/ |
.kiro/agents/<agent>.json 的 resources 中:
{
"resources": ["skill://.kiro/skills/**/SKILL.md"]
}
CLI 会自动检测已安装的编码 Agent。如果没有检测到,系统会提示选择要安装的 Agent。
技能是包含 SKILL.md 文件的目录,文件包含 YAML frontmatter:
---
name: my-skill
description: 这个技能的用途和使用场景
---
# 我的技能
当此技能激活时,Agent 遵循的指令。
## 使用场景
描述应该使用此技能的场景。
## 步骤
1. 首先,做这个
2. 然后,做那个
name:唯一标识符(小写,允许使用连字符)description:技能功能的简要说明metadata.internal:设置为 true 可从正常发现中隐藏技能。内部技能只在设置 INSTALL_INTERNAL_SKILLS=1 时可见和可安装。适用于工作中的技能或仅用于内部工具的技能。---
name: my-internal-skill
description: 默认不显示的内部技能
metadata:
internal: true
---
CLI 在仓库中的以下位置搜索技能:
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/.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/如果存在 .claude-plugin/marketplace.json 或 .claude-plugin/plugin.json,其中声明的技能也会被发现:
// .claude-plugin/marketplace.json
{
"metadata": { "pluginRoot": "./plugins" },
"plugins": [
{
"name": "my-plugin",
"source": "my-plugin",
"skills": ["./skills/review", "./skills/test"]
}
]
}
这使得与 Claude Code 插件市场 生态系统兼容。
如果在标准位置未找到技能,将执行递归搜索。
技能在 Agent 之间通常兼容,因为它们遵循共享的 Agent Skills 规范。但某些功能可能特定于某些 Agent:
| 功能 | 基础技能 | allowed-tools | context: fork | Hooks |
|---|---|---|---|---|
| OpenCode | ✅ | ✅ | ❌ | ❌ |
| OpenHands | ✅ | ✅ | ❌ | ❌ |
| Claude Code | ✅ | ✅ | ✅ | ✅ |
| Cline | ✅ | ✅ | ❌ | ✅ |
| CodeBuddy | ✅ | ✅ | ❌ | ❌ |
| Codex | ✅ | ✅ | ❌ | ❌ |
| Command Code | ✅ | ✅ | ❌ | ❌ |
| Kiro CLI | ✅ | ❌ | ❌ | ❌ |
| Cursor | ✅ | ✅ | ❌ | ❌ |
| Antigravity | ✅ | ✅ | ❌ | ❌ |
| Roo Code | ✅ | ✅ | ❌ | ❌ |
| GitHub Copilot | ✅ | ✅ | ❌ | ❌ |
| Amp | ✅ | ✅ | ❌ | ❌ |
| OpenClaw | ✅ | ✅ | ❌ | ❌ |
| Neovate | ✅ | ✅ | ❌ | ❌ |
| Pi | ✅ | ✅ | ❌ | ❌ |
| Qoder | ✅ | ✅ | ❌ | ❌ |
| Zencoder | ✅ | ✅ | ❌ | ❌ |
确保仓库包含有效的 SKILL.md 文件,frontmatter 中包含 name 和 description。
SKILL.md frontmatter 是有效的 YAML确保有目标目录的写权限。
| 变量 | 说明 |
|---|---|
INSTALL_INTERNAL_SKILLS |
设置为 1 或 true 以显示和安装标记为 internal: true 的技能 |
DISABLE_TELEMETRY |
设置以禁用匿名使用遥测 |
DO_NOT_TRACK |
禁用遥测的替代方式 |
# 安装内部技能
INSTALL_INTERNAL_SKILLS=1 npx skills add vercel-labs/agent-skills --list
此 CLI 收集匿名使用数据以帮助改进工具。不收集个人信息。
遥测在 CI 环境中自动禁用。