一个非常优秀的skills管理工具
npx skills 是 Vercel 推出的开源 CLI 工具,定位为"AI Agents 的 npm"。本文介绍其核心用法(add/update/find/remove),分析包管理器范式、symlink 设计和跨 Agent 兼容等亮点,并与 cc-switch 做对比,帮你选对工具。
你有没有过这种体验: skills 越装越多,目录越搞越乱,更新全靠手动,版本参差不齐——好不容易找到个好用的 skill,复制粘贴到 Claude Code 的 skills 目录里,过两天作者更新了,你还在用旧版
用claude code的人,应该有不少听说过或用过cc-switch,cc-switch也有管理skills的功能
在管理 skills 上,npx skills 和 cc-switch 这俩有交集吧,但定位完全不同。
cc-switch 不只管 skills,还管 API Provider 切换、MCP Server 配置、Prompts 管理、用量统计、会话历史…,功能很全面,但是在管理 skills 这块就没有 npx skills 有深度了。一个是大而全的 GUI 管理面板,一个是小而美的 CLI 工具,没有谁替代谁的问题,只是解决的问题不一样。
如果你同时用 Claude Code 和 Cursor,同一个 skill 要在两个工具里各装一份,配置起来稍显麻烦
Vercel 看到了这个痛点,搞了个东西出来——npx skills,一个开源的 CLI 工具,专门用来管理 agents 的 skills。
github链接:skills
它给自己的定位很明确:npm for AI agents。像 npm 管理 JavaScript 包一样,用它来管理你的 skills。

下面我来讲讲怎么用,再聊聊它背后的设计思路
安装 skill
npx skills 不需要手动安装,直接跑命令会自动帮你安装最新版的。
安装skills就是以下这个命令
npx skills add <来源>
来源支持好几种格式:
# 从 GitHub 仓库安装(最常用)
npx skills add vercel-labs/agent-skills
# 指定具体的某个 skill
npx skills add vercel-labs/agent-skills -s code-review
# 从本地目录安装
npx skills add ./my-skills
# 从完整 URL 安装
npx skills add https://github.com/vercel-labs/agent-skills
支持全局安装或者项目级安装。
全局安装会安装到~/.agents/skills/目录下

同时会有一个.skill-lock.json文件,会记录每个skills的安装信息,并用“skillFolderHash”做文件校对和版本管理

项目级安装就是在当前目录下安装skills。
npx skills 目前为止支持 55个 agents,非常恐怖,可以说是你见过的它都支持,你没见过的它也支持,具体的内容下文有介绍
装完了后,你可以通过这个命令看看有啥,同样区分全局和项目,你可以加上“-g”参数 npx skills ls -g来看全局目录,也可以输入以下命令,然后手动选择看哪个目录:
npx skills ls

想搜索社区里的 skills?用 find:
# 交互式搜索(类似 fzf 的模糊匹配)
npx skills find
# 按关键词搜
npx skills find code-review

更新和删除也是一句话:
# 更新全部
npx skills update
# 更新指定的
npx skills update code-review
# 删除
npx skills remove code-review
常用命令就这些,可以说是学习成本非常低了。
包管理器
为什么说 npx skills 是"npm for AI agents",而不是一个简单的 skill 下载器?
因为下载只是最表层的事。npm 如果只是下载 tarball,那它和 wget 没区别。npm 的价值在于:统一的依赖管理流程——安装、版本追踪、更新、卸载、搜索,形成闭环。
以前管理 skills,说白了就是纯手搓,比较懒的聪明人可能会让 ai 帮你操作。你可能是从某个 awesome 列表里找到 skill 的链接,然后 clone 仓库或者复制 SKILL.md 文件,手动丢到 .claude/skills/ 目录里。更新 skills 就比较麻烦了,因为你容易忘记你安装的是什么版本,不知道作者什么时候会更新,更新了还得你手动把本地的skills也更新了。
npx skills 把这套流程标准化了。不需要记来源,不需要手动操作文件,不需要担心版本。
这就是"包管理器"和"下载器"的区别,用 npx skills 来做 skills 管理是让人非常爽的事
Symlink
npx skills add 默认会在你的~/.agents/skills 里安装 skills 本体,遵循 “AGENTS” 协议的agents会扫描到这个目录;像 claude code 这样喜欢独树一帜的agent,读取的是 ~/.claude/skills 里的skills。如果你同时在这两个目录下都安装 skills 本体,没必要,太占空间了,npx skills 会默认用**符号链接(symlink)**来把 skills 安装到.claude/skills目录里,并指向本体.agents/skills, 节省空间。之后要更新的话,你跑一次 npx skills update,所有引用本体 skill 的项目都会同步更新。
符号链接如图

当然,如果你确实需要独立的副本,也可以用 --copy 选项:
npx skills add vercel-labs/agent-skills --copy
一次安装,到处能用
致敬 JVM:一次编写,到处运行
这是我觉得 npx skills 最有意思的设计之一。
它不绑定某个特定的 AI 工具。你装一个 skill,可以同时部署到 Claude Code、Cursor、Windsurf、GitHub Copilot、Codex CLI 等 55 个 AI 编码代理。
安装的时候,默认是交互式选择要给哪些agents安装的,不用输入命令指定agents
不过你也可以用 --agent 指定目标:
# 只装给 Claude Code
npx skills add vercel-labs/agent-skills -a claude-code
# 装给 Claude Code 和 Cursor
npx skills add vercel-labs/agent-skills -a claude-code -a cursor
# 装给所有支持的 agent
npx skills add vercel-labs/agent-skills --all

你可能同时用好几个 AI 编码工具,写前后端用 Cursor,搞基础架构用 Claude Code,让 Copilot 写测试……。
如果每个工具各自管理 skills,那就是灾难。npx skills 相当于给了一个统一的 skills 中台——你定义好 skill,它负责分发到各个工具的正确位置。
别往 skills 目录堆太多shit
我之前写过一篇文章,讲的是:skills 数量过多会降低 AI 选择 skills 的准确率,功能相似的 skills 也很影响 agent 对 skills 的选择。
npx skills 可以从管理工具层面让这个问题更容易控制,比如项目级和全局级 skills 的分离:
用 -g 装到全局的 skill,是你所有项目通用的、精选的。而项目级 ./skills/ 里只放该项目专用的。
这就天然形成了一种分层:全局放精挑细选的高频 skill,项目级放针对性强的。你的全局 skills 数量自然就压下来了。
工具不能替你思考,但好工具能让你更容易做正确的决定。
写在最后
skills 是 AI 编码工作流的核心组件,无论你是不是开发者,都建议配置一套标准化的管理工具。
就像 JavaScript 生态经历过"手动下载 jQuery"到"npm install 一切"的演进,skills 管理也在经历同样的过程。
npx skills 走出了这一步,虽然它不一定完美,但这是非常正确的一步。
如果你喜欢我的文章,请点点赞、点点关注~
更多推荐



所有评论(0)