关于 find-skills
find-skills 是一项 Agent 技能,可跨 skills.sh、clawhub.ai 和带主题标签的 GitHub 仓库查找任务所需技能。它按各来源自身指标展示结果,并提供候选评估与风险扫描指引。
主要功能
- 01并行搜索三个来源
- 02按来源原生指标排序
- 03匹配两个注册表中的技能
- 04可选候选技能安全扫描
- 05指导使用相邻词搜索
适用场景
- 01为常见任务查找技能
- 02比较多个注册表中的候选项
- 03检查可安装技能的风险信号
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ agentspace-so/ skills --skill find-skills安装后在 Claude Code 中输入/find-skills确认已加载。
附带文件scripts/find.sh
详细介绍
查找技能
同时搜索所有主要注册表,并按照每个注册表自己的原生指标分别展示结果,从而为任务找到合适的 Agent 技能,而不是盲目信任某个网站的排行榜。
何时使用此技能
- 用户询问“如何做 X”,而 X 是常见任务,很可能已有公开发布的技能
- 用户询问“找一个用于 X 的技能”/“有没有用于 X 的技能”/“我应该为 X 安装什么”
- 用户希望扩展 Agent 能力(测试、设计、部署、特定模型/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 次安装量排名第 1,而另一个网站上有一项同等技能,安装量达 1,300,却没有排名。只搜索一个注册表会导致结果有偏差。此技能会并行查询三者,按照各自的原生指标排列每个榜单,标记同时出现在两个注册表中的技能(按规范化名称双向匹配,因此 face-swap ↔ faceswap 可以对应),并展示每个榜单的顶部结果,让你了解整个生态,而不只是某个网站的排行榜。
如何运行
使用用户的需求作为查询词,运行随附的聚合脚本:
bash scripts/find.sh "<what the user needs>"
示例:
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。它会使用 gh 获取 GitHub 部分内容和 skills.sh 技能正文,并在扫描期间使用 unzip 获取 clawhub 技能正文;这些工具均为可选项,若不存在,脚本会自动降级运行。无需 API 密钥。
运行相邻术语查询——一次搜索不够
注册表按技能的名称而非含义建立索引。只用一个查询会错过以相关术语归类的优秀技能。对于任何不简单的需求,在下结论之前,先用相邻词汇搜索 2–3 次,然后汇总结果。
这不是可有可无的润色——它经常会改变答案。例如:搜索 "ui ux design",安装量最高约为 19k;但搜索 "frontend design",会找到 anthropics/skills/frontend-design,安装量达到 443k——它是满足同一需求的最佳技能,却完全不会出现在第一次查询中。
根据领域选择相邻术语,例如:
- 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表示结果不完整——请说明这一点。 - ▶ 各榜单排名第一项 — 每个榜单按其原生指标排名第 1 的条目(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”的 14k 星工具)会排在匹配度 100% 的仓库之后。这里只显示带有主题标签的仓库——未添加标签的技能仓库不会显示在这里。不能一键安装——使用前请先审核。 - 📚 精选列表 — 经过人工审核的 awesome 列表,用于最后确认。
如何选择合适的技能(决策准则)
脚本负责收集证据;**由你做决定。**不要把表格一股脑丢给用户,让他们自己决定——这没有帮助。请给出明确且经得起推敲的推荐。专业的做法是既要有自己的判断,也要展示基于真实信号的推理过程。
**步骤 1 — 先阅读,再评判。**不要仅凭元数据推荐。打开排名靠前的 2–3 个候选项的实际 SKILL.md / README(脚本已经获取了已扫描候选项的正文;对于 GitHub 仓库,则获取其 README)。问问自己:*它是否真的能完成用户的具体任务,还是只是关键词相似?*一个偏离主题、安装量达 10k 的技能,不如一个安装量只有 200、但切中需求的技能。
步骤 2 — 按以下顺序权衡信号:
- 匹配度 — 技能文档中描述的行为是否符合实际需求?(阅读触发条件和范围,而不只是看
match %。)这是最重要的因素。 - 受欢迎程度作为社会认同 — 在真正符合需求的技能中,安装量 / 星标数越高,表示越多人认可它。使用各平台自身的数据。
- 深度与维护情况 — 正文是否涵盖用户的具体子需求?是否有近期版本、真实示例和清晰的范围?内容单薄或已弃用的技能应降级考虑。
- 安全性 — 扫描结果为
⛔ RISKY的技能不予推荐,除非用户在充分知情的情况下接受风险;若结果为⚠ caution,则需提醒用户。 - 跨平台发布 — 同时出现在两个目录中是一个小幅加分项(说明它由不同平台独立发布 / 维护)。
步骤 3 — 打破平局时,优先选择你实际读过、能够担保的技能,并且其范围应尽可能明确、依赖项应尽可能少且不令人意外。
步骤 4 — 给出结论,而不是菜单:
- 给出一项首选推荐,并用一句话说明理由,引用具体信号(“安装量 12k,而且它的 SKILL.md 专门介绍了表单填写,正好符合你的需求”)。
- 提供 1–2 项按需求区分的替代方案(“如果你想要 X,可以改选这个”)。
- 如果最佳选择是 GitHub 仓库,而不是可一键安装的目录技能,请明说并仍然推荐它——并指出需要手动审核 / 安装。
- 只有在你阅读过排名靠前的候选项、并确认它们确实都不符合需求时,才说“没有合适的选项”。此时可以主动帮用户直接完成任务,或搭建一个新技能。
陈述平台上的真实数据,绝不要编造评分。专业的回答应该像这样:“我推荐 ui-components(529 次安装)——我读过它;它涵盖 shadcn + Radix + 设计令牌 + 表单,和你的需求完全吻合,而且其工具为只读。ai-design-components 仓库有 363★,看起来很诱人,但它是一个包含 76 个技能的全栈大杂烩,并非专注于 UI——除非你想要所有内容,否则别选它。”“数据都列在这里,你自己选”是不行的。
安全扫描
对于排名靠前的 K 个结果,脚本会获取实际的 SKILL.md(skills.sh → 通过源仓库获取 GitHub raw;clawhub → 获取其下载 zip),并通过 grep 检查风险信号:
| 标记 | 等级 | 含义 |
|---|---|---|
curl-pipe-install | ⛔ risky | 将远程脚本直接传入 sh / bash 执行——这是审计中最常导致不通过的模式 |
eval-remote / base64-pipe-exec | ⛔ risky | 在运行时执行获取到的代码或经过混淆的代码 |
broad-tool-grant | ⚠ caution | allowed-tools 授予 Bash(*) 或不受限的工具访问权限 |
reads-secrets | ⚠ caution | 引用了 ~/.ssh、~/.aws、.env、私钥 |
solicits-credentials | ⚠ caution | 要求用户粘贴 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 密钥或令牌。
- 内置的安全扫描本身就是一种防护措施:它会在你信任候选项之前对其进行检查。但这只是启发式检查——安全标记不代表经过了安全审计。
- 已安装的技能会以完整的 Agent 权限运行。请将发现的任何技能视为不可信的第三方代码:运行前检查其
SKILL.md和任何附带脚本,并警惕来自未知作者、安装量低却要求广泛工具访问权限或在运行时获取远程代码的技能。 - 此技能绝不会自动安装任何内容;安装始终需要用户明确确认。
另请参阅
- skills.sh — 按 GitHub 索引的最大注册表
- clawhub.ai — 提供更丰富的单项技能统计信息的 OpenClaw 注册表
- 精选列表:
ComposioHQ/awesome-claude-skills、microsoft/skills、bergside/awesome-design-skills