Discover, vet, and install agent skills by searching ACROSS every major registry at once — skills.sh, clawhub.ai, and GitHub — presenting each board on its own native metric (installs / stars) with the top entry per board, security-scanning the top candidates' real SKILL.md for risky patterns, and flagging what's already installed. Use when the user asks "how do I do X", "find a skill for X", "is there a skill that…", "what skill should I install for…", or wants to extend the agent with a capability that might already exist as a published skill. Unlike single-registry search, this surfaces the best of every platform side by side, so you recommend the genuinely relevant, popular, well-maintained, and SAFE one — not whatever ranked first on one site.
Find Skills
通过一次性搜索所有主流注册表,并以每个平台自身的指标展示结果,找到适合任务的智能体技能——而不是只相信单个网站的排行榜。
何时使用此技能
- 用户问“如何做 X”,而 X 是一个常见任务,很可能已有发布的技能
- “找一个做 X 的技能” / “有没有做 X 的技能” / “我应该安装什么来做 X”
- 用户希望扩展智能体能力(测试、设计、部署、特定模型/API、领域工作流)
- 你正准备从头构建某个功能,而一个经过实战检验的技能可能已经覆盖了它
为什么多源搜索很重要
每个注册表只展示自己的数据,且信号不同:
| 注册表 | 搜索方式 | 暴露的信号 | 盲点 |
|---|---|---|---|
| skills.sh | GET /api/search?q= |
历史安装量,源代码仓库 | 无星标,无摘要,安装量滞后约2.5小时 |
| clawhub.ai | /api/search + /api/skill?slug= |
摘要,安装量,星标,版本 | 语料库小于 skills.sh |
| GitHub | gh search repos --topic {claude-skills,agent-skills,claude-code-skills} |
仓库星标,描述,维护情况 | 仓库级别而非技能级别;仅包含带主题标签的仓库 |
一个技能在一个网站上可能以50次安装排名第一,而另一个拥有1300次安装的等效技能在另一个网站上却未上榜。只搜索一个注册表会得到有偏见的答案。本技能并行查询所有三个注册表,按每个平台自身的指标排序,标记同时出现在两个注册表上的技能(基于规范化名称双向匹配——因此 face-swap ↔ faceswap 会对应上),并展示每个平台的前几名,让你看到整个生态系统——而不是某个网站的排行榜。
如何运行
使用用户需求作为查询词,运行捆绑的聚合脚本:
bash scripts/find.sh "<用户的需求>"
示例:
bash scripts/find.sh "react performance"
bash scripts/find.sh "pdf form filling" --limit 8
bash scripts/find.sh "video generation" --scan 5
bash scripts/find.sh "deploy to vercel" --no-scan --json
参数:
--limit N— 每个来源的结果数(默认10;非数字则回退到10)--scan K— 对每个注册表中前K个可安装候选进行安全扫描(默认2,最大5)--no-scan— 跳过安全扫描(更快;扫描会增加几秒时间,因为需要获取每个候选的真实 SKILL.md)--json— 输出机器可读的 JSON 而非格式化报告-h/--help— 打印用法并退出
脚本需要 curl 和 jq。GitHub 部分和获取 skills.sh 技能正文时使用 gh,扫描时使用 unzip 获取 clawhub 技能正文——这些都是可选的,如果缺失会优雅降级。无需 API 密钥。
运行相邻术语查询——一次搜索不够
注册表按技能的名称索引,而非其含义。单个查询会遗漏那些归在同类术语下的优秀技能。对于任何非平凡需求,在相邻词汇范围内进行2-3次搜索后再下结论,然后汇总结果。
这不是可选的优化——它经常改变答案。例如:搜索 "ui ux design" 最多约1.9万安装量,但 "frontend design" 会找到 anthropics/skills/frontend-design 拥有44.3万安装量——针对同一需求的最佳技能,第一个查询完全看不到。
根据领域选择相邻术语,例如:
- UI/UX →
frontend design,design system,web design,tailwind shadcn,dashboard ui - 测试 →
e2e,playwright,unit tests,test automation - 部署 →
deployment,ci cd,docker,vercel/kubernetes - 文档 →
documentation,readme,api docs,changelog
将这些搜索结果的并集作为候选池,然后对整个池应用下面的评估标准——而不是针对某一次查询的结果。
如何阅读输出
设计原则:不发明“质量评分”。 没有你需要信任的复合数字。每个板块按该板块自身的流行度指标排序,唯一显示的计算值是 match %——用户查询词出现在技能名称/摘要中的比例。这是一个透明的相关性提示,而非最终结论。
报告从上到下:
- 横幅 + 遥测信息 — 查询词,来源健康行(
skills.sh ✓ 5·1.2s clawhub ✓ 0·2.7s github ✓ 8·1.1s)显示哪些板块响应了/命中数/延迟,以及本地已安装的技能数量。✗ failed/– skipped表示部分结果——请说明。 - ▶ 各板块第一名 — 每个板块上按该板块自身指标(skills.sh 安装量 / clawhub 安装量·星标 / GitHub 匹配率·星标)排名第一的条目。这是关键词+流行度的结果,并非经过审查的选择——它只是一个起点,可能出错(一个100%关键词匹配的仓库在阅读后可能发现与主题无关)。在推荐之前务必阅读确认。如果某个板块没有匹配项,会明确说明。
- ✓ 已在你的机器上 — 仅当结果已安装时出现。这是一个正面提示:告诉用户他们已经拥有一个好技能,无需安装任何东西。(启发式:将结果名称与
~/.agents/skills/~/.claude/skills下的文件夹名称匹配;如果技能安装在重命名的文件夹下,可能会漏掉。) - 📦 skills.sh — 按安装量排序。一键安装。每行显示其源代码仓库(因此可以区分来自不同仓库的同名技能)。
(also on clawhub)标记在另一个注册表上规范化名称匹配。前K个带有风险徽章。 - 🪝 clawhub — 按安装量·星标排序。一键安装。
(also on skills.sh)标记反向交叉发布。前K个带有风险徽章。 - 🐙 github — 跨
claude-skills/agent-skills/claude-code-skills主题的仓库(合并去重),按匹配率然后星标排序,因此高星标但离题的仓库(例如一个仅提及“UI”的1.4万星标工具)会排在100%匹配的仓库之后。仅显示带主题标签的仓库——未标记的技能仓库在此不可见。非一键安装——使用前请审查。 - 📚 精选列表 — 人工审查的优秀列表,用于最终检查。
如何选择合适的技能(决策标准)
脚本收集证据;由你做出决定。 不要转发表格让用户决定——这没有帮助。形成清晰、有依据的推荐。专业做法是给出明确意见,并展示基于真实信号的推理过程。
第一步——阅读后再判断。 永远不要仅凭元数据推荐。打开前2-3个候选的实际 SKILL.md / README(脚本已为扫描的候选获取了正文;对于 GitHub 仓库,获取 README)。问:它是否真的执行用户的具体任务,还是仅仅共享关键词? 一个1万安装量但离题的技能,不如一个200安装量但精准匹配的技能。
第二步——权衡信号,按以下顺序:
- 匹配度 — 技能文档描述的行为是否真正符合需求?(阅读触发条件和范围,而不仅仅是
match %)。这优先于其他所有因素。 - 流行度作为社会证明 — 在真正匹配的技能中,更高的安装量/星标意味着更多人验证过它。使用各板块自身的数字。
- 深度与维护 — 正文是否覆盖用户的具体子需求?是否有最近的版本、真实示例、清晰的范围?内容单薄或废弃的技能应排除。
- 安全性 —
⛔ RISKY扫描结果直接 disqualify,除非用户明知风险并接受;⚠ caution需要提醒。 - 交叉发布 — 同时出现在两个注册表上是轻微的正面信号(独立发布/维护)。
第三步——打破平局:优先选择你实际阅读过并能担保的技能,且范围最清晰、依赖最少。
第四步——给出结论,而非菜单:
- 一个主要推荐,附上一句话的理由,引用具体信号(“12k安装量,其 SKILL.md 专门覆盖了表单填写,正是你的情况”)。
- 1-2个按需求区分的替代方案(“如果你想要 X,请选择这个”)。
- 如果最佳选项是 GitHub 仓库而非一键安装的注册表技能,明确说明并仍然推荐它——注明需要手动审查/安装。
- 只有在阅读了顶级候选且它们确实不匹配时,才说“没有合适的”。然后主动提出直接完成任务或搭建新技能。
陈述原生事实,绝不使用虚构的评分。专业回答应类似:"ui-components(529安装量)是我的选择——我阅读了它;它涵盖了 shadcn + Radix + 设计令牌 + 表单,正是你的情况,且其工具是只读的。363★的 ai-design-components 仓库看起来很诱人,但它是包含76个技能的全栈大杂烩,并非 UI 专注——除非你想要全部,否则跳过。" “数字在这里,你选吧”不是专业做法。
安全扫描
对于前 K 个结果,脚本获取实际的 SKILL.md(skills.sh → 通过源代码仓库获取 GitHub raw;clawhub → 通过下载 zip)并 grep 风险信号:
| 标志 | 级别 | 含义 |
|---|---|---|
curl-pipe-install |
⛔ 危险 | 将远程脚本直接管道到 sh/bash — 最常见的审计失败模式 |
eval-remote / base64-pipe-exec |
⛔ 危险 | 在运行时执行获取或混淆的代码 |
broad-tool-grant |
⚠ 谨慎 | allowed-tools 授予 Bash(*) 或不受限制的工具访问权限 |
reads-secrets |
⚠ 谨慎 | 引用 ~/.ssh、~/.aws、.env、私钥 |
solicits-credentials |
⚠ 谨慎 | 要求用户粘贴 API 密钥/令牌/密码 |
✓ clean = 未发现;? unscanned = 无法获取正文(排名超过 K、私有仓库或无正文端点)。徽章是启发式提示,要求在推荐之前自行阅读技能,并非保证。切勿在未明确警告用户风险的情况下推荐 ⛔ RISKY 技能。
推荐与安装
当向用户展示选项时,对每个候选给出:名称、功能(一行)、安装量+星标、所在注册表以及安装命令。然后提供安装。
通过 Skills CLI 安装(适用于 skills.sh 索引的仓库):
npx -y skills add <owner>/<repo> --skill <slug> -g
-g 在用户级别安装。对于仅存在于 clawhub 的技能,引导用户访问其 clawhub.ai/skill/<slug> 页面并使用 clawhub CLI。
当没有好的结果时
如果没有结果达到合理标准,请直说,主动提出直接使用通用能力完成任务,并提及用户可以自己搭建技能(npx skills init <name>)。不要过度推销弱匹配。
安全与隐私
- 脚本仅向公共 API(
skills.sh、clawhub.ai、raw.githubusercontent.com)发出只读 HTTP GET 请求,以及只读的gh查询。它只发送查询字符串,仅写入临时文件(结果 JSON 和扫描期间候选 SKILL.md 正文,退出时删除)。 - 它不需要任何 API 密钥或令牌。
- 内置的安全扫描本身就是一种防御:在信任候选之前对其进行检查。但它是启发式的——干净的徽章并非安全审计。
- 已安装的技能以完整代理权限运行。将任何发现的技能视为不受信任的第三方代码:在运行之前审查其
SKILL.md和任何捆绑脚本,并警惕来自未知作者的低安装量技能,这些技能可能请求广泛的工具访问权限或在运行时获取远程代码。 - 本技能从不自动安装任何东西;安装始终是明确的、用户确认的步骤。
参见
- skills.sh — 最大的 GitHub 索引注册表
- clawhub.ai — OpenClaw 注册表,提供更丰富的每技能统计
- 精选列表:
ComposioHQ/awesome-claude-skills、microsoft/skills、bergside/awesome-design-skills






