vercel-labs/skills
GitHub: vercel-labs/skills
一个跨代理的技能包 CLI 管理工具,通过统一的 SKILL.md 规范将可复用的指令集安装到 40 多种 AI 编码代理中,解决团队间代理配置碎片化的问题。
Stars: 15178 | Forks: 1255
# skills
开放代理技能生态系统的 CLI。
支持 **OpenCode**、**Claude Code**、**Codex**、**Cursor** 以及[另外 41 个](#available-agents)。
## 安装技能
```
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
# 仓库中 skill 的直接路径
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 ` | 指定目标代理(例如,`claude-code`、`codex`)。参见[可用代理](#available-agents) |
| `-s, --skill ` | 按名称安装特定技能(使用 `'*'` 代表所有技能) |
| `-l, --list` | 列出可用的技能而不进行安装 |
| `--copy` | 复制文件,而不是通过符号链接到代理目录 |
| `-y, --yes` | 跳过所有确认提示 |
| `--all` | 无需提示,将所有技能安装到所有代理 |
### 示例
```
# 列出仓库中的 skills
npx skills add vercel-labs/agent-skills --list
# 安装特定的 skills
npx skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
# 安装名称中包含空格的 skill(必须加引号)
npx skills add owner/repo --skill "Convex Best Practices"
# 安装到特定的 agents
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
# 将仓库中的所有 skills 安装到所有 agents
npx skills add vercel-labs/agent-skills --all
# 将所有 skills 安装到特定的 agents
npx skills add vercel-labs/agent-skills --skill '*' -a claude-code
# 将特定的 skills 安装到所有 agents
npx skills add vercel-labs/agent-skills --agent '*' --skill frontend-design
```
### 安装范围
| 范围 | 标志 | 位置 | 用例 |
| ----------- | --------- | -------------------- | ------------------------------ |
| **项目** | (默认) | `.//skills/` | 随项目提交,与团队共享 |
| **全局** | `-g` | `~//skills/` | 跨所有项目可用 |
### 安装方法
交互式安装时,您可以选择:
| 方法 | 描述 |
| ------------------------ | ----------------------------------------------------------------------------------------- |
| **符号链接**(推荐) | 从每个代理创建指向规范副本的符号链接。单一数据源,便于更新。 |
| **复制** | 为每个代理创建独立的副本。在不支持符号链接时使用。 |
## 其他命令
| 命令 | 描述 |
| ---------------------------- | ------------------------------------------ |
| `npx skills list` | 列出已安装的技能(别名:`ls`) |
| `npx skills find [query]` | 交互式或按关键字搜索技能 |
| `npx skills remove [skills]` | 从代理中移除已安装的技能 |
| `npx skills update [skills]` | 将已安装的技能更新到最新版本 |
| `npx skills init [name]` | 创建新的 SKILL.md 模板 |
### `skills list`
列出所有已安装的技能。类似于 `npm ls`。
```
# 列出所有已安装的 skills(项目级和全局级)
npx skills list
# 仅列出全局级 skills
npx skills ls -g
# 按特定的 agents 过滤
npx skills ls -a claude-code -a cursor
```
### `skills find`
交互式或按关键字搜索技能。
```
# 交互式搜索(fzf-style)
npx skills find
# 按关键词搜索
npx skills find typescript
```
### `skills update`
```
# 更新所有 skills(交互式 scope 提示)
npx skills update
# 按名称更新单个 skill
npx skills update my-skill
# 更新多个特定的 skills
npx skills update frontend-design web-design-guidelines
# 仅更新全局级或项目级 skills
npx skills update -g
npx skills update -p
# 非交互式(自动检测 scope:如果在项目中则为项目级,否则为全局级)
npx skills update -y
```
| 选项 | 描述 |
| -------------- | ------------------------------------------------------------------- |
| `-g, --global` | 仅更新全局技能 |
| `-p, --project`| 仅更新项目技能 |
| `-y, --yes` | 跳过范围提示(自动检测:如果位于项目目录中则为项目,否则为全局) |
| `[skills...]` | 按名称更新特定技能,而不是全部 |
### `skills init`
```
# 在当前目录创建 SKILL.md
npx skills init
# 在子目录中创建新的 skill
npx skills init my-skill
```
### `skills remove`
从代理中移除已安装的技能。
```
# 交互式移除(从已安装的 skills 中选择)
npx skills remove
# 按名称移除特定的 skill
npx skills remove web-design-guidelines
# 移除多个 skills
npx skills remove frontend-design web-design-guidelines
# 从全局 scope 中移除
npx skills remove --global web-design-guidelines
# 仅从特定的 agents 移除
npx skills remove --agent claude-code cursor my-skill
# 无需确认移除所有已安装的 skills
npx skills remove --all
# 从特定的 agent 移除所有 skills
npx skills remove --skill '*' -a cursor
# 从所有 agents 移除特定的 skill
npx skills remove my-skill --agent '*'
# 使用 'rm' 别名
npx skills rm my-skill
```
| 选项 | 描述 |
| -------------- | ------------------------------------------------- |
| `-g, --global` | 从全局范围 (~/) 移除而不是项目 |
| `-a, --agent` | 从特定代理中移除(使用 `'*'` 代表所有) |
| `-s, --skill` | 指定要移除的技能(使用 `'*'` 代表所有) |
| `-y, --yes` | 跳过确认提示 |
| `--all` | `--skill '*' --agent '*' -y` 的简写形式 |
## 什么是代理技能?
代理技能是可重用的指令集,用于扩展您的编码代理的能力。它们定义在 `SKILL.md` 文件中,包含 `name` 和 `description` 的 YAML frontmatter。
技能允许代理执行专门的任务,例如:
- 根据 git 历史记录生成发布说明
- 按照团队的规范创建 PR
- 与外部工具集成(Linear、Notion 等)
在 **[skills.sh](https://skills.sh)** 发现更多技能
## 支持的代理
技能可以安装到以下任何代理:
| 代理 | `--agent` | 项目路径 | 全局路径 |
| --------------------------------------- | ---------------------------------------- | ---------------------- | ------------------------------- |
| Amp, Kimi Code CLI, Replit, Universal | `amp`, `kimi-cli`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
| Antigravity | `antigravity` | `.agents/skills/` | `~/.gemini/antigravity/skills/` |
| Augment | `augment` | `.augment/skills/` | `~/.augment/skills/` |
| IBM Bob | `bob` | `.bob/skills/` | `~/.bob/skills/` |
| Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
| OpenClaw | `openclaw` | `skills/` | `~/.openclaw/skills/` |
| Cline, Warp | `cline`, `warp` | `.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/` |
| Deep Agents | `deepagents` | `.agents/skills/` | `~/.deepagents/agent/skills/` |
| Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
| Firebender | `firebender` | `.agents/skills/` | `~/.firebender/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/` |
| iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
| Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
| Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
| MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
| Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
| Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
| OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
| OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
| Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
| Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
| Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
| Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
| Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
| Trae CN | `trae-cn` | `.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/` |
CLI 会自动检测您安装了哪些编码代理。如果未检测到任何代理,系统会提示您选择要安装到哪些代理。
## 创建技能
技能是包含带有 YAML frontmatter 的 `SKILL.md` 文件的目录:
```
---
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.
## 何时使用
Describe the scenarios where this skill should be used.
## 步骤
1. First, do this
2. Then, do that
```
### 必填字段
- `name`:唯一标识符(小写,允许使用连字符)
- `description`:对技能功能的简要说明
### 可选字段
- `metadata.internal`:设置为 `true` 可在常规发现中隐藏该技能。内部技能仅在设置了 `INSTALL_INTERNAL_SKILLS=1` 时可见且可安装。适用于正在进行中的技能或仅用于内部工具的技能。
```
---
name: my-internal-skill
description: An internal skill not shown by default
metadata:
internal: true
---
```
### 技能发现
CLI 会在仓库的以下位置搜索技能:
- 根目录(如果包含 `SKILL.md`)
- `skills/`
- `skills/.curated/`
- `skills/.experimental/`
- `skills/.system/`
- `.agents/skills/`
- `.augment/skills/`
- `.bob/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/`
### 插件清单发现
如果存在 `.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 插件市场](https://code.claude.com/docs/en/plugin-marketplaces)生态系统。
如果在标准位置未找到技能,将执行递归搜索。
## 兼容性
由于技能遵循通用的 [代理技能规范](https://agentskills.io),它们通常可在不同代理之间兼容。但是,某些功能可能是特定于代理的:
| 功能 | OpenCode | OpenHands | Claude Code | Cline | CodeBuddy | Codex | Command Code | Kiro CLI | Cursor | Antigravity | Roo Code | Github Copilot | Amp | OpenClaw | Neovate | Pi | Qoder | Zencoder |
| -------------- | -------- | --------- | ----------- | ----- | --------- | ----- | ------------ | -------- | ------ | ----------- | -------- | -------------- | --- | -------- | ------- | --- | ----- | -------- |
| 基础技能 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 |
| `allowed-tools`| 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 |
| `context: fork`| 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
| 钩子 | 否 | 否 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
## 故障排除
### "No skills found"
确保仓库中包含有效的 `SKILL.md` 文件,且 frontmatter 中同时包含 `name` 和 `description`。
### 技能未在代理中加载
- 验证技能是否已安装到正确的路径
- 查看代理的文档以了解技能加载要求
- 确保 `SKILL.md` frontmatter 是有效的 YAML
### 权限错误
确保您对目标目录具有写入权限。
## 环境变量
| 变量 | 描述 |
| ------------------------- | -------------------------------------------------------------------------- |
| `INSTALL_INTERNAL_SKILLS` | 设置为 `1` 或 `true` 以显示并安装标记为 `internal: true` 的技能 |
| `DISABLE_TELEMETRY` | 设置以禁用匿名使用情况遥测 |
| `DO_NOT_TRACK` | 禁用遥测的另一种方式 |
```
# 安装内部 skills
INSTALL_INTERNAL_SKILLS=1 npx skills add vercel-labs/agent-skills --list
```
## 遥测
此 CLI 会收集匿名使用数据以帮助改进该工具。不会收集任何个人信息。
遥测会在 CI 环境中自动禁用。
## 相关链接
- [代理技能规范](https://agentskills.io)
- [技能目录](https://skills.sh)
- [Amp 技能文档](https://ampcode.com/manual#agent-skills)
- [Antigravity 技能文档](https://antigravity.google/docs/skills)
- [Factory AI / Droid 技能文档](https://docs.factory.ai/cli/configuration/skills)
- [Claude Code 技能文档](https://code.claude.com/docs/en/skills)
- [OpenClaw 技能文档](https://docs.openclaw.ai/tools/skills)
- [Cline 技能文档](https://docs.cline.bot/features/skills)
- [CodeBuddy 技能文档](https://www.codebuddy.ai/docs/ide/Features/Skills)
- [Codex 技能文档](https://developers.openai.com/codex/skills)
- [Command Code 技能文档](https://commandcode.ai/docs/skills)
- [Crush 技能文档](https://github.com/charmbracelet/crush?tab=readme-ov-file#agent-skills)
- [Cursor 技能文档](https://cursor.com/docs/context/skills)
- [Firebender 技能文档](https://docs.firebender.com/multi-agent/skills)
- [Gemini CLI 技能文档](https://geminicli.com/docs/cli/skills/)
- [GitHub Copilot 代理技能](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills)
- [iFlow CLI 技能文档](https://platform.iflow.cn/en/cli/examples/skill)
- [Kimi Code CLI 技能文档](https://moonshotai.github.io/kimi-cli/en/customization/skills.html)
- [Kiro CLI 技能文档](https://kiro.dev/docs/cli/custom-agents/configuration-reference/#skill-resources)
- [Kode 技能文档](https://github.com/shareAI-lab/kode/blob/main/docs/skills.md)
- [OpenCode 技能文档](https://opencode.ai/docs/skills)
- [Qwen Code 技能文档](https://qwenlm.github.io/qwen-code-docs/en/users/features/skills/)
- [OpenHands 技能文档](https://docs.openhands.ai/modules/usage/how-to/using-skills)
- [Pi 技能文档](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/skills.md)
- [Qoder 技能文档](https://docs.qoder.com/cli/Skills)
- [Replit 技能文档](https://docs.replit.com/replitai/skills)
- [Roo Code 技能文档](https://docs.roocode.com/features/skills)
- [Trae 技能文档](https://docs.trae.ai/ide/skills)
- [Vercel 代理技能仓库](https://github.com/vercel-labs/agent-skills)
## 许可证
MIT
标签:Agent, AI智能体, AI编程, Claude, CLI, Codex, Cursor, CVE检测, GNU通用公共许可证, MITM代理, Node.js, npx, OpenCode, Skills生态系统, WiFi技术, 二进制发布, 代码辅助, 包管理器, 威胁情报, 工具集成, 开发者工具, 开源工具, 提示词工程, 插件管理, 数字取证, 文档结构分析, 生产力工具, 策略决策点, 统一API, 自动化攻击, 自动化脚本, 防御加固, 集成开发环境