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, 自动化攻击, 自动化脚本, 防御加固, 集成开发环境