GitHub 趋势 · 第 28 期
那条 npx skills add 你敲了很多次,它的真身是个 31k star 的技能包管理器
#Agent技能#CLI工具#MIT
我的判断:vercel-labs/skills 本身不是技能,它是技能的“分发通道”。过去十几期里我们写过一堆技能仓库,安装方式十有八九就是那句 npx skills add owner/repo。这一期终于该回头拆一拆:这条命令到底是谁写的、它把你的文件放到了哪里、以及它替你做掉了哪些你其实应该知道的决定。
痛点场景:技能生态现在最乱的地方是“往哪儿装”。Claude Code 读 ~/.claude/skills/,Codex 读 ~/.codex/skills/,Cursor、OpenCode、Copilot 又各有各的目录。你一个人同时用三四个客户端,同一个技能就要手动复制三份;哪天原作者更新了,你还得记着自己复制过几份、分别在哪。
项目是什么
vercel-labs/skills 是 Vercel 实验室开源的 Agent Skills 生态 CLI,README 第一句自我定位只有一行:「The CLI for the open agent skills ecosystem」——开放技能生态的命令行工具。它做的事很朴素:从一个 Git 仓库(或本地目录、或一个下载链接)里把 SKILL.md 找出来,然后分发到你所有编码客户端各自的技能目录里。README 里那句话说的是「Supports OpenCode, Claude Code, Codex, Cursor, and 75 more」——官方列出 79 个客户端,从 Anthropic、OpenAI 到 Trae、通义灵码(Lingma)、Qoder 都在表里。
它解决的不是“技能有没有用”,而是“技能怎么送到你要用的那个客户端里”。换句话说,它是这个生态里的 npm——尽管它自己只是 npx 跑起来的一个包。
核心能力
| 命令 | 作用(说明取自 README) |
|---|---|
| skills add / install | 从仓库安装技能。支持 owner/repo 简写、完整 GitHub URL、仓库内某个技能的直达路径、GitLab URL、任意 git URL、本地目录,也支持直接给一个 SKILL.md 或压缩包下载地址 |
| skills use | 不安装,只把某个技能渲染成提示词。可接管道直接喂给客户端,也可用 --agent 拉起一个支持的客户端交互执行 |
| skills list | 列出已安装技能,类似 npm ls。可只看全局(-g),也可按客户端过滤 |
| skills find | 搜索技能:交互式(fzf 风格)、按关键词,或按组织/用户维度搜(--owner) |
| skills update | 把已装技能更新到最新。可按名指定、可只更新全局(-g)或只更新项目(-p),-y 跳过交互 |
| skills remove | 卸载技能,别名 rm。支持按客户端、按技能、通配符批量清(--all 等于 --skill '*' --agent '*' -y) |
| skills init | 在当前目录生成一个 SKILL.md 模板,或在新子目录里初始化一个新技能 |
安装范围是这套工具最需要先搞懂的一点,README 给了定义:
| 范围 | 参数 | 位置 | 用途 |
|---|---|---|---|
| 项目 | (默认) | ./<agent>/skills/ | 跟项目一起提交,和团队共享 |
| 全局 | -g | ~/<agent>/skills/ | 所有项目里都能用 |
上手
不需要单独安装,README 给的入口就是 npx(原文):
npx skills add vercel-labs/agent-skills
几个最常用的变体(均取自 README 原文):
# 只看看仓库里有什么技能,先不装 npx skills add vercel-labs/agent-skills --list # 只装指定技能,并指定装到哪些客户端 npx skills add vercel-labs/agent-skills -a claude-code -a opencode # CI / 脚本里非交互安装(全局 + 指定客户端 + 跳过确认) npx skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y # 装一个技能名里带空格的技能(必须加引号) npx skills add owner/repo --skill "Convex Best Practices" # 不安装,直接生成提示词喂给客户端 npx skills use vercel-labs/agent-skills@web-design-guidelines | claude npx skills use vercel-labs/agent-skills --skill web-design-guidelines --agent claude-code # 日常维护 npx skills list npx skills find typescript npx skills update -y npx skills remove web-design-guidelines
自己写技能也一样简单,README 里的最小骨架只有两行前置字段:
--- 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.
name 与 description 是必填,其余可省。写完之后 npx skills init 直接生成模板,推到 GitHub 别人就能用同样的命令装。
我的判断
适合谁:同时用两个以上编码客户端的人(比如日常 Claude Code + 偶尔 Codex),它能让你不必再手工复制目录;把技能当成团队资产、要跟着仓库一起提交共享的团队;以及想“先试试再装”、用 skills use 零污染试跑的人。
不适合谁:只用单一客户端、且对技能目录已经没有困扰的人——它带来的增量有限;以及在意每一行脚本都要自己审的人——它会自动发现并拉取你指定来源里的全部 SKILL.md。
几个坑(均来自 README 原文):
- ▪默认是项目级安装,会被提交进仓库。不加
-g就装到./<agent>/skills/,README 明确写着它的用途是“跟项目一起提交、和团队共享”。想只在本地用,别忘了-g,否则一次手滑就把第三方技能写进了团队的 git 历史。 - ▪默认用 symlink,多个客户端共享一份。README 推荐的方式是从各客户端目录软链到一份 canonical 副本,好处是单一真相源、更新方便;代价是你得理解“删掉本地那份原始目录”会连带影响所有客户端。只有 symlink 不被支持时才用
--copy生成独立副本。 - ▪“一次安装”不等于“行为一致”。README 有一张兼容性表:
allowed-tools在 Kiro CLI 和 Zencoder 上是 No;context: fork只有 Claude Code 支持;Hooks 只有 Claude Code、Cline、Kiro CLI 三家能用。装到别的客户端里,同一份技能可能只剩基础能力。 - ▪它默认会上报匿名使用数据。README 的 Telemetry 一节写明会收集匿名使用数据(不含个人信息),仓库与技能的标识符只对“GitHub 已确认为公开”的仓库发送;但其他远程来源类型因为无法核验可见性,安装遥测里可能包含来源与技能标识符。介意就把
DISABLE_TELEMETRY=1或DO_NOT_TRACK=1设上。 - ▪来源可以任意,所以它也是供应链入口。它支持 GitLab、任意 git URL,甚至一个直接指向 SKILL.md 或 zip / tar.gz 的下载地址。README 也给了下载与解压的默认上限(下载 10 MiB、解压 25 MiB、最多 1000 个文件),想放开得手动设
SKILLS_DOWNLOAD_MAX_BYTES、SKILLS_EXTRACT_MAX_BYTES、SKILLS_EXTRACT_MAX_FILES——README 原话是“when you trust the source”。我们在第 23 期写过 NVIDIA SkillSpector:实测 4 万多个技能里有 26.1% 含漏洞。装之前先看来源,这句话在这里同样成立。 - ▪技能发现是有深度的。它在容器目录里最多往下走三层,浅层的
SKILL.md会遮蔽更深层的;仓库里如果把技能放在examples/或tests/下,默认扫不到,要用--full-depth。另外标了metadata.internal: true的技能默认隐藏,要INSTALL_INTERNAL_SKILLS=1才可见——如果你“明明推上去了同事装不到”,先查这两个原因。 - ▪私有仓库不需要额外配置:它复用你本机已有的 git 凭证、GitHub CLI 或 SSH 认证,只是在 GitHub 场景下会依次尝试——先普通 git 凭证,失败再试
gh repo clone,最后 SSH。CI 里可以显式给GITHUB_TOKEN/GH_TOKEN。Node 版本方面,仓库 CI 的提交记录要求 Node.js 22.20 或更新——老环境记得先升 Node。
仓库:github.com/vercel-labs/skills
总 star:31,013(截至 2026-09-11,今日 +175;周增 +175)
许可证:MIT
客户端支持:README 列出 79 个(OpenCode、Claude Code、Codex、Cursor 及 75 个更多)
抓取时间:2026-09-11 01:26(GMT+8)
你现在同时用几个编码客户端?技能是挨个手工丢进去的,还是已经开始用工具统一管?评论区说说你的做法,我挑几个典型场景一起捋。
下期预告:nashsu/llm_wiki(17,942 star)——它不想再走「每次问都从头检索」的 RAG 老路,而是把你的文档增量地养成本地一本互链的 wiki。桌面端、本地优先,值得单独聊一期。
#Agent技能#CLI工具#MIT