skills.sh:Vercel 正在给 Agent 技能建一个 npm 式的开放生态
痛点切入
你现在打开任何一个 coding agent——Claude Code、Cursor、Codex、OpenCode——都能找到各自的 skill 系统。前端设计 skill、SEO 审计 skill、PR 生成 skill,每个 agent 的生态里都有。但问题也在这里:如果你给 Claude Code 写了一个前端设计 skill,想给 Cursor 也装上,你得重写一遍——路径不同,格式不同,加载机制不同。同样的知识,不同 agent 之间的搬运成本跟重新开发差不多。
更麻烦的是发现。除了 Anthropic 官方推荐的几个 skill,其他 skill 分散在各个 GitHub 仓库、博客文章和群聊截图里。你没法像 npm 一样 search 一下就知道社区里有什么。没排行榜,没分类,没评分。skill 生态是一个一个的孤岛。
skills.sh 要解决的就是这个问题。它不是一个 agent 的 skill 系统,而是所有 agent 的 skill 系统——一个通用的 skill 分发层。
项目简介
skills.sh 是 Vercel(确切地说是 vercel-labs)开源的项目,MIT 协议,发布于 2026 年初。它包含两个部分:一个名为 skills 的 CLI 工具,和一个名为 skills.sh 的 Web 目录与排行榜。
截至目前,skills.sh 上共收录了数百个 skill,总安装量超过 41 万次。Top 3 分别是 find-skills(150 万安装)、frontend-design(42 万)、vercel-react-best-practices(39 万)。背后的贡献者不只有 Vercel,还有 Anthropic、Microsoft、Supabase、Remotion、LarkSuite 等团队。
CLI 工具的核心命令就一条:
npx skills add vercel-labs/agent-skills
这条命令做三件事:从 GitHub 拉取 skill 仓库、检测你本地装了哪些 agent、把 skill 写入对应 agent 的 skill 目录。支持 51 种 agent,包括 Claude Code、Cursor、Codex、GitHub Copilot、OpenCode、Windsurf、Cline、Gemini CLI、Pi 等。也支持 GitLab、本地路径,以及从多 skill 仓库中精装指定 skill。
为什么要关注它
skills.sh 想做的事,本质上是把 skill 从 agent 专属功能变成通用基础设施。
一条命令,跨 agent 安装
在 skills CLI 出现之前,skill 的安装方式五花八门。有的 agent 需要手动复制 markdown 文件到特定路径,有的要求 git clone 整个仓库,有的根本不支持外部 skill。skills CLI 统一了这个过程:不管 target agent 是 Claude Code 还是 OpenCode,安装命令都一样。它自动检测本地已安装的 agent,把 skill 写入正确的路径和格式。
更重要的是,它引入了 npm 式的包管理概念。skill 不再是一个单独的 markdown 文件,而是一个有名称、有版本、可更新、可移除的包。skills list 列出已安装,skills update 更新到最新,skills remove 移除。对于一个越来越依赖 prompt 工程和 skill 组合的 agent 工作流来说,这个包管理水平是必需的。
统一的 skill 规范
skills.sh 基于 Agent Skills 的开放规范(agentskills.io),定义了 skill 的最小可交互格式:一个包含 YAML frontmatter 的 SKILL.md 文件。frontmatter 里至少需要 name 和 description 两个字段,其余全是 markdown 正文——即 agent 实际加载的指令。
这种极简设计是刻意为之。skill 的作者不需要学习一套新的 DSL 或配置格式。就是一个 markdown 文件加元数据。Anthropic、Vercel、Microsoft 的 skill 仓库都用这个格式,社区贡献者也一样。规范性本身就是生态的基石——如果每个 agent 都要理解不同的 skill 语法,分发成本就会指数级上升。
排行榜驱动的发现机制
skills.sh 不只是一个 CLI,它的 Web 端提供了 npm 式的排行榜——全时段、24 小时趋势、热门。一个 skill 的价值被量化为安装次数和周增长趋势,社区发现爆款 skill 的成本大幅降低。
排行榜背后是匿名遥测数据,只统计安装行为,不收集个人信息。如果你在意隐私,设置环境变量 DISABLE_TELEMETRY 或 DO_NOT_TRACK 即可关闭。
安全审计
skills.sh 的安全模型做得很务实。一方面,它承认无法保证每个 skill 的质量和安全,鼓励用户在安装前自行审查(毕竟是 markdown 文件,阅读成本不高)。另一方面,它定期进行安全审计,并对所有列出的 skill 进行恶意内容扫描。当你查看一个 skill 详情页时,可以看到其审计状态。
一个实用细节:CLI 默认会询问确认再安装,并且支持 --list 预览模式,让你在安装前先看看仓库里有什么 skill。
快速上手
以排名第一的 find-skills 为例,完整的生命周期只有四条命令,但每条命令的职责需要拆开看。
第一步:浏览仓库里有什么
skills CLI 的核心命令只有一条 npx skills add,后面的参数决定了「从哪来」和「装什么」。owner/repo 是 skill 的来源仓库,相当于 npm 的包名——不同仓库装着不同的 skill 合集:
# 先看看 vercel-labs/skills 这个仓库里有哪些 skill
npx skills add vercel-labs/skills --list
输出类似 find-skills frontend-design skill-creator 等 skill 列表。看完就知道这个仓库提供什么能力,再决定要不要装。
第二步:安装
确认了要做的事,用 --skill 指定安装哪个:
# 只装 find-skills 这一个
npx skills add vercel-labs/skills --skill find-skills
# 同时装到 claude-code 和 opencode
npx skills add vercel-labs/skills --skill find-skills -a claude-code -a opencode
# 全局安装(所有项目可用)
npx skills add vercel-labs/skills --skill find-skills -g
vercel-labs/skills 只是来源标识,不同团队维护着各自的 skill 仓库:
npx skills add anthropics/skills --skill frontend-design
npx skills add microsoft/azure-skills --skill azure-ai
npx skills add mattpocock/skills --skill tdd
第三步:管理已安装的 skill
装完之后,三条命令覆盖日常管理:
# 看装了哪些
npx skills list
# 更新到最新版本
npx skills update find-skills
# 不用了,卸载
npx skills remove find-skills
第四步:使用
安装完成后不需要任何额外配置。你的 agent 在下一次启动时会自动加载 skill 目录中的 SKILL.md。以 find-skills 为例,装完之后在 agent 对话中说「帮我找一个格式化 markdown 的 skill」或「有没有做 SEO 审计的 skill」,agent 就会自动调用 find-skills 去搜索技能目录并推荐结果。
如果你想把团队的工作方式固化成 skill,也可以用 init 创建:
npx skills init my-skill
这会生成一个包含标准 frontmatter 的 SKILL.md 模板。写完内容后发布到 GitHub,别人就可以用同样的 npx skills add 命令安装。
亮点代码
skills CLI 最值得看的设计不是命令本身,而是它在 agent 生态中引入的「适配层」概念。
它的 agent 支持列表不是一个静态 switch-case,而是一个结构化的 adapter 映射:每种 agent 有独立的 name、alias、项目路径、全局路径。当你执行 npx skills add 时,CLI 遍历本地已安装的 agent、匹配合适的 adapter、把 skill 文件写到对应位置。
这种设计让新增 agent 支持的成本极低——加一个 adapter 条目就够。51 种 agent 的支持不是一蹴而就的,而是一个一个加出来的,但架构允许这种做法。
再看 skill 的源格式支持:
# GitHub 缩写
npx skills add owner/repo
# 完整 URL
npx skills add https://github.com/owner/repo
# 仓库内指定 skill 子路径
npx skills add https://github.com/owner/repo/tree/main/skills/my-skill
# GitLab、Git SSH、本地路径同理
npx skills add git@github.com:owner/repo.git
npx skills add ./my-local-skills
这里的关键不是支持了多种源格式,而是 skill 的发现逻辑。CLI 会在仓库内自动搜索 skills/、.agents/skills/、.claude/skills/ 等已知目录,以及 .claude-plugin/marketplace.json 等 manifest 文件。只要仓库结构符合规范,CLI 就能自动发现并安装——作者不需要额外配置。
社区与生态
skills.sh 的生态数据很扎实。从安装量看,排名前 10 的 skill 里有 Anthropic 官方的 frontend-design(42 万)、Vercel 的 web-design-guidelines(32 万)、Remotion 官方的 remotion-best-practices(30 万)、Microsoft 的 azure 系列(合计数百万)。这些不是社区的尝鲜安装,而是有持续增长曲线的生产级 skill。
从贡献者看,生态的开源部分已经在成形。除了 Vercel、Anthropic、Microsoft 等大厂,还有很多独立开发者上传了自己的 skill 仓库。排名靠前的独立项目包括 coreyhaines31/marketingskills(营销类 skill 合集,累计近 30 万安装)、mattpocock/skills(TypeScript 生态 skill)、obra/superpowers(开发工作流 skill 合集)。
skill 覆盖的主题也很广:前端设计、React 最佳实践、Azure 云服务、PostgreSQL、SEO 审计、内容策略、营销心理学、A/B 测试、付费广告等。从纯工程到营销运营,skill 的概念已经被证明不局限于代码生成。
仓库的维护状态很活跃。截止 2026 年 5 月,GitHub 仓库仍在每日提交,Issues 和 PR 开放,贡献者持续加入。项目使用 TypeScript 开发,代码质量可审查。
适用场景与局限
skills.sh 最适合这样几种情况:
- 你同时使用多个 agent,想把同一套 skill 通用化。不用为每个 agent 重复写和重复维护。
- 你想发布自己的 skill 给社区用。skills.sh 的排行榜就是天然的曝光渠道,不需要自己建网站宣传。
- 你想统一团队的 agent 行为。把公司内部的最佳实践、代码规范、部署流程写成 skill,通过 Git 仓库分发,CLI 一键安装。
但也有些事情 skills CLI 不擅长,或者说故意不覆盖:
- skill 的质量完全取决于作者。排行榜只反映热度,不反映质量。排名靠前的 skill 只是因为安装的人多,不代表写得最好或者最适合你。每个 skill 本质上是一个 prompt,效果取决于你的使用场景。
- skill 的兼容性不是语义级的。虽然 skills CLI 能帮你把 skill 文件写到正确位置,但不同 agent 对 skill 的高级特性支持程度不同。比如 Claude Code 支持 hooks 和 context-fork,但大部分 agent 不支持;OpenCode 支持 allowed-tools,Kiro CLI 不支持。文件可以统一分发,语义不能统一执行。
- 目前没有 skill 之间的依赖管理。如果你的 skill 引用了另一个 skill 里的 prompt 或流程,你需要手动管理这种依赖。skill 之间不是 package 级别的引用关系,只是 markdown 文件的共存。
同样值得注意:skills CLI 的遥测默认开启(CI 环境除外)。虽然只收集安装统计而不收集个人信息,但如果你在严格隔离环境中使用,记得设置环境变量关闭。
结论
skills.sh 不是一个 Agent 产品,而是 Agent 生态的基础设施。它把 npm 的灵感带到了 agent skill 的世界——通用格式、统一分发、社区发现、排行榜——这些在传统软件生态中理所当然的东西,在 agent 生态中才刚刚出现。
如果你的团队已经在用 agent 做生产级的工作,给团队建一个内部 skill 仓库并让成员通过 skills CLI 安装,是提升一致性的最低成本方式。如果你在写 skill 共享给社区,skills.sh 是目前最直接的分发渠道。
仓库:https://github.com/vercel-labs/skills 官网:https://skills.sh