
三个月前,我把从各路博客扒来的 Skills 一股脑装进 ~/.claude/skills/,总共 34 个。
效果怎样?说实话,Claude Code 确实变聪明了一些——但也开始变慢,有时候明明只是问个代码问题,它会莫名其妙地触发一堆不相关的 Skill,token 飞速消耗。最夸张的一次,一个问题跑了三轮 context compaction。
后来我认认真真花了一个周末,系统研究了当前主流的四个 Awesome Skills 仓库,把 Skills 清单从 34 个砍到了 11 个——上下文加载速度明显快了,Claude 的行为也更可预测。
这篇文章就是把这个过程梳理清楚,给还在靠"Top 10 榜单"选 Skills 的工程师一个真正可用的过滤框架。
今天的 Claude Code Skills 生态已经乱到让人头疼。仅官方索引到的仓库就超过 15000 个,三大 marketplace(SkillsMP、Skills.sh、ClawHub)合计超过 49 万条目。
但如果你认真用过,会发现里面质量参差不齐得离谱。根据 agentskillreport.com 对 673 个 Skills 的分析:22% 的 Skills 连基本验证都过不了,结构性问题、描述语义不清、触发逻辑缺失,这些都是常见病灶。
更隐蔽的问题是 context 浪费:52% 的 Skills token 是非功能性内容——许可证文件、构建产物、schema 文件——这些东西在 Skill 加载时白白占用你的上下文窗口。
所以与其在 15000+ 仓库里碰运气,不如先搞清楚四个主流 Awesome 集合的定位差异,再从里面选。

图:四大 Skills 仓库的定位、规模与适用场景一览
22,000+ stars,1,100+ skills,强调"hand-picked, not AI-slop generated"
这是目前口碑最好的集合。VoltAgent 团队的核心主张只有一条:每个 Skill 必须来自真实在用它的工程团队,不接受 AI 批量生成的填充内容。
看看贡献者名单就明白了:Anthropic(17个官方 Skills)、Microsoft(133个,覆盖 .NET/Java/Python/Rust/TypeScript)、Sentry(52个,20+ 平台 SDK 接入)、Trail of Bits(21个安全审计 Skills)、Hugging Face(13个 ML 工作流)、Vercel、Cloudflare、Figma 等。
这些不是某个程序员业余时间写的——是这些公司的工程师在自己产品线上实际使用的配置。
一个细节可以侧面验证质量:这个仓库里的 Microsoft Skills,每个都按语言细分(比如 .NET 8 API 安全规范、Java Spring Boot 最佳实践),不是笼统的"写代码要注意安全"这种废话 Skill。
适合场景:你需要和特定工具/平台深度整合的 Skills,比如接 Cloudflare Workers、用 Sentry 做错误追踪、在 Figma 里做设计到代码的转换。
不适合场景:纯粹的个人工作流定制。这里大多数 Skills 是面向工具生态的,不是面向个人习惯的。
37,800+ stars,1,460+ skills,有专门的 installer CLI
stars 数量是四个里最高的,规模也最大。最有意思的设计是Bundle(捆绑包)概念:
与其让你一个一个挑 Skill,antigravity 按工作角色预设了组合:
安装极其方便:
# 安装全部(选 Claude Code 模式)
npx antigravity-awesome-skills --claude
# 按类别过滤安装
npx antigravity-awesome-skills --claude --category security
# 安装到指定目录
npx antigravity-awesome-skills --claude --path ~/.claude/skills
质量管控方面,每个 PR 都会触发自动化的 skill-review GitHub Actions 检查,结构验证通过才能合并。对于涉及"高风险指导"的 Skill(比如数据库操作、部署流程),还需要 maintainer 手动逻辑审查。
但要注意一个现实问题:1460+ 的规模意味着什么?意味着里面有大量功能重叠的 Skills。如果你全量安装,上下文里同时存在三四个"代码审查"类 Skill,Claude 在触发时会产生混淆。
我自己的用法:用 Bundle 安装,然后人工过一遍,把功能重叠的手动删掉。
110 stars,以聚合索引为主,不直接托管 Skill
这个仓库的定位跟前两个不一样——它是一个元仓库,主要作用是告诉你哪里有值得关注的 Skills 集合,而不是直接给你 Skill 文件。
类似于"IT技术栈的 awesome 列表",它把各类 Skills 来源分门别类整理好,包括:
star 数只有 110,但对于需要系统性了解生态全貌的工程师来说,这是最好的起点——特别是里面有对 Y Combinator 总裁 Garry Tan 个人技术栈(gstack)的索引,以及微软、Hugging Face 的官方整合列表。
1,700+ stars,135 agents + 35 curated skills + 42 commands + 176+ plugins + 20 hooks
这个仓库走了一条不太一样的路——不只是 Skills,而是 Claude Code 整个工程化配套。
它的 35 个精选 Skills 是从更大的生态里人工挑选的,侧重实际工程场景:后端 API 开发、前端组件、DevOps 部署等。但真正让它有区别度的是:
如果你想认真把 Claude Code 工程化,不只是装几个 Skills 了事,这个仓库值得系统过一遍。

图:四大仓库在质量门槛、规模、适用场景维度的对比评分
维度 | awesome-agent-skills | antigravity | GetBindu | claude-code-toolkit |
|---|---|---|---|---|
GitHub Stars | 22,000+ | 37,800+ | 110 | 1,700+ |
Skills 数量 | 1,100+ | 1,460+ | 索引型 | 35 精选 |
质量门槛 | 最高(策展) | 中高(自动化+人工) | 中(外链质量不一) | 高(人工精选) |
安装便捷度 | 手动 | CLI 一键 | 手动 | 手动 |
适合场景 | 工具生态整合 | 角色化 Bundle 安装 | 生态导航 | 工程化配套 |
内容重叠风险 | 低 | 高(需手动筛) | 低 | 低 |
实际推荐策略:
前面说了 22% 的 Skills 验证失败。但 agentskillreport.com 的分析揭示了一个更反直觉的发现:
结构性风险和实际使用效果之间,相关性接近零(r = 0.077)。
也就是说,一个 Skill 写得结构规范、描述清晰、格式正确,并不能预测它在你实际工作流里有没有用。
真正区分好 Skill 和无效 Skill 的是 novelty——它有没有在教 Claude 真正新的东西?
评分模型把 Skill 质量拆成 6 个维度:清晰度、可操作性、token 效率、范围约束、指令精确度、新颖性。其中前五个维度大多数 Skill 都能得不错的分数(它们高度相关,可以理解为"写得好不好"),但新颖性独立变化——写得好但没有新信息的 Skill,和写得差但教了真正有价值技巧的 Skill,表现可能完全相反。
这对选 Skill 有什么实际意义?
“一个 Skill 如果只是把 Claude 本来就会的事情包装成命令,它的价值主要是便利性,不是能力扩展。而一个 Skill 如果在教 Claude 你公司/团队的特定约定、你使用的内部工具的交互方式、你工作流里独特的判断逻辑——这才是真正的 context 投资。
所以,从 Awesome 仓库里找的通用 Skill,价值上限就是便利性。真正的生产力提升来自定制——把你团队的 API 约定、代码审查 checklist、部署决策树编写成 Skill。
三个月下来,我形成了一套选 Skill 的判断逻辑,分享给你:

图:选一个 Skill 要不要装的决策树
第一问:这个 Skill 教的是 Claude 不知道的东西吗?
如果 Skill 内容是通用的最佳实践("写代码要加注释"、"API 设计要遵循 REST 规范"),Claude 本来就知道这些,装了没有实质增益。如果 Skill 教的是你公司的内部规范、你用的特定工具(比如你们内部的监控平台、特定版本的 SDK 用法),那有价值。
第二问:这个 Skill 的描述,会不会在不该触发的时候触发?
打开 Skill 的 SKILL.md,看 description 和 when_to_use 字段。如果描述过于宽泛("优化代码质量"),Claude 会在大量无关场景下加载它,白白消耗 context。好的 Skill 描述应该精确到触发条件("当用户询问 Sentry error tracking 接入方式时")。
第三问:Skill 的 SKILL.md 有多大?
官方文档建议 SKILL.md 不超过 500 行。超过这个阈值,每次触发都是一笔很贵的 token 税。大型 Skill 应该把参考材料拆分到 supporting files,主文件保持精简。
第四问:最近三个月有没有维护?
Claude Code 迭代极快,每次版本更新都可能让某些 Skill 的行为预期变化。没有维护的 Skill,很可能在新版本下行为不符合预期。
第五问:装了之后,我会每周用超过三次吗?
如果装一个 Skill 主要是"以防万一",那它就是在给每次对话的上下文白白增加噪音。官方说明里有一条值得注意:如果你同时装了很多 Skill,context 预算有限时,你最少使用的 Skill 会被最先丢弃——装了不用,连描述都会被 Claude 忘掉。
坑一:全量安装 Bundle 之后没有清理重复 Skills
antigravity 的 Full-Stack Developer Bundle 里,同时有 code-review、pr-review、git-commit-review 三个功能高度重叠的 Skill。Claude 在做代码审查时,这三个 Skill 同时触发,context 里出现了互相矛盾的指令。
解决:Bundle 安装完之后,手动检查有没有功能重叠的 Skill,保留一个最符合你工作方式的,其余删掉。
坑二:从不知名仓库复制的 Skill 没检查 allowed-tools
某个 Skill 的 frontmatter 里有 allowed-tools: Bash(rm *) 这种配置。这意味着 Skill 激活时,Claude 可以不经确认地执行删除命令。在 project-level skills 里,这个设置会在你接受 workspace trust 的时候自动生效。
解决:从不认识的来源装 Skill 之前,必须看一眼 frontmatter 的 allowed-tools,有 Bash(*) 这种宽泛权限的要格外小心。
坑三:在主会话里装了太多 Skill,导致 context 超预算
Claude Code 默认给 Skill 描述列表分配的 context 预算是模型 context window 的 1%。超出预算后,使用最少的 Skill 的描述会被截断甚至丢弃,但 Skill 本身还在目录里——结果就是 Claude 不知道该 Skill 存在,你 /skill-name 还能手动触发,但自动触发就失效了。
解决:运行 /doctor 可以看 Skill 列表的预算状态。如果快超了,可以在 settings 里调 skillListingBudgetFraction,或者把不常用的 Skill 设置为 name-only 模式。
一开始我热衷于找各种 Skill,感觉每装一个就多了一种超能力。但现实是:装了不用的 Skill 是负资产,它在消耗你的 context 预算,增加 Claude 的触发混淆,不会给你带来任何收益。
真正值得花时间的是:把你自己工作流里最高频的步骤,自己写成 Skill。一个你自己写的、教了 Claude 你团队内部 API 约定的 Skill,价值远大于 10 个从 Awesome 仓库装来的通用 Skill。
从 Awesome 仓库选的那些,当作功能验证的样板就好——看看高质量 Skill 是什么结构,然后按这个质量标准写你自己的。
说白了,Skills 生态现在的主要价值不是告诉你装什么,而是告诉你好的 Skill 长什么样——然后你去写适合自己的那个。
Q:VoltAgent 和 antigravity 的 Skills 有没有大量重叠?
A:有重叠,但比你想象的少。VoltAgent 侧重官方工具生态(Sentry、Cloudflare、Figma 等的官方 Skill),antigravity 覆盖更多工作流类 Skill(代码审查、测试、安全扫描等流程型内容)。两个仓库各装一小部分,按需求互补,是合理用法。
Q:Skills 兼容多平台吗?可以跨 Claude Code / Cursor / Codex CLI 用吗?
A:理论上可以。Claude Code Skills 遵循 Agent Skills 开放标准,这个格式被 Cursor、Codex CLI、Gemini CLI 等支持。antigravity 的 installer CLI 专门有 --cursor、--gemini 等 flag,就是为了处理跨平台安装路径差异。但具体行为有差异——某些 Claude Code 特有的 frontmatter 字段(比如 context: fork、allowed-tools)在其他工具里会被忽略。
Q:怎么知道一个 Skill 有没有真正起效?
A:官方给了几个诊断方式:在 Claude Code 里问"What skills are available?"看 Skill 有没有出现在列表里;运行 /doctor 看预算是否溢出;对某个 Skill 用 /skill-name 手动触发,看行为是否符合预期。如果 Skill 出现在列表但自动触发失效,多半是 description 不够精确——重新表述你的请求,让措辞更贴近 description 的关键词。
Q:团队协作时怎么管理 Skills?
A:把 Skills 提交到项目的 .claude/skills/ 目录,版本控制里管着,团队成员 clone 之后就能用。注意 project-level Skills 在有 Bash 权限的 allowed-tools 时,成员接受 workspace trust 才会生效——所以在共享 Skills 里,能不设 allowed-tools 就不设,让每个成员自己在 settings 里按需放行权限。
Q:Awesome Skills 仓库更新这么快,我需要经常同步吗?
A:不需要。确定了自己要用的那几个 Skill 之后,除非有新功能需求,不用频繁跟进仓库更新。真正需要关注的是 Claude Code 本身的 Breaking Change——每次大版本更新后,检查一下自己的 Skill 行为有没有变化就够了。
说白了,今天 Skills 生态的状态跟三年前 npm 生态的状态很像——什么都有,但大多数你不需要,少数几个能真正改变你的工作流。判断标准不是 star 数,是它有没有在教 Claude 你独特的工作上下文。把这个逻辑想清楚,1400+ 这个数字就不再让人焦虑了。
下一篇打算拆解怎么从零写一个真正有价值的自定义 Skill,覆盖 description 设计、触发调优、supporting files 组织,感兴趣的关注一下,不然算法不一定会推给你。