Vercel 把 AI 编程工具的"技能安装"做成了一个 CLI。npx skills add owner/repo,一条命令,把一个 skill 装进你本地任意 Agent。Claude Code、Codex 等 80 多个工具都在支持清单里。装的时候 CLI 自动检测你机器上有哪些 agent,选一个装进去,symlink 统一管理,更新一条命令搞定。
Vercel 实验室出品,配套还有一个官方 skill 合集 vercel-labs/agent-skills,32K Star。
它解决什么
AI 编程工具现在多了。Claude Code、Cursor、Codex、Gemini CLI、Kimi、OpenClaw,每个都有自己的技能目录和格式规范。一个做 web 设计的团队写了套 web-design-guidelines 技能,想给全组 10 个人用。以前每个人手动把 SKILL.md 拷到自己机器的对应目录,10 个人 5 个不同 agent,50 次拷贝,格式还经常拷错。
skills 把这个活压成一条命令:
npx skills add owner/repo -a claude-code -a cursor -y
它自动检测你装了哪些 agent,把 skill 装进每个 agent 的目录。
skill 本身长什么样
一个 skill 就是一个目录,里面一个 SKILL.md,YAML frontmatter 写 name 和 description,正文就是给 agent 的说明。这套规范现在已经成了事实标准。Claude Code、Cursor、OpenClaw、Zed、Windsurf、Kimi、Qwen 这些工具全认。你写一次,所有 agent 都能装。
安装有两种方式。symlink(推荐):所有 agent 都指向一份 canonical copy,更新时只改一处。copy:每个 agent 一份独立拷贝,symlink 不支持的环境用这个。
安装范围也分两种:项目级(默认,放在 .//skills/,跟项目提交,团队共享)和全局级(加 -g flag,放在 ~//skills/,跨所有项目通用)。团队规范放项目级,个人工具放全局级,分得清清楚楚。
一条命令能干的事
核心是 add,但周边也齐:
npx skills add owner/repo # 安装一个 skill
npx skills add repo --skill a -s b # 指定装哪几个
npx skills use owner/repo # 不安装,直接生成 prompt
npx skills find typescript # 搜索(fzf 风格交互)
npx skills update -g # 更新所有全局 skill
npx skills remove my-skill # 卸载
npx skills init my-skill # 生成新的 SKILL.md 模板
find 那个很有意思,可以搜整个组织:npx skills find react --owner vercel,把某组织下所有仓库的 skill 全翻出来。
来源支持很全:GitHub 简写(owner/repo)、完整 URL、直链到仓库里某个 skill 目录、GitLab、Azure DevOps、任意 git URL、本地路径。私有仓库也认,走的是你本机已经配好的 gh 登录或 git credential helper,不额外要 token。
不用装也能用
skills use 是把双刃剑的正面。不安装,直接把某个 skill 的 prompt 生成到 stdout,接到你的 agent 上:
npx skills use owner/repo@some-skill | claude
或者让 CLI 直接拉起来一个 agent 跑:
npx skills use owner/repo --skill web-design --agent claude-code
skill 内容先拉到临时目录,不污染你本机。适合"就想试一下这个 skill 长什么样"的场景,不落地。
值不值得用
该用的人:团队里有人写 skill、全组要共享的,一条命令分发不用手动拷;跨多个 agent 干活的人(同时开 Claude Code 和 OpenClaw),一份 skill 装两处更新同步;想快速试别人 skill 的人,skills use 不落地看完就走。
用不上的:只写一个 agent、只在自己项目里用的,直接把 SKILL.md 丢进 agent 目录就行,装个 CLI 是多余的。
它不造 skill,不存 skill,只管分发、安装、更新、卸载。类比 npm 是贴到"包管理器"这个定位。
写在最后
Agent 最大的坑是"每个工具一套规范"。SKILL.md 格式把坑填了一半,skills CLI 把剩下"怎么装到工具里"的脏活也干了。工具越多,越需要一个像 npm 一样的标准分发。