skill-finder
搜索 37,500+ 个精选的 Agent 技能,通过描述你想要完成的任务来查找。结果按语义相似度排序,并包含安装命令。
使用方法
/skill-finder
然后用自然语言描述你的任务,例如:
- "使用回滚功能部署 kubernetes 集群"
- "抓取需要 JavaScript 渲染的网页"
- "编写并运行 SQL 迁移"
工作原理
- 你的描述会通过 Ollama 在本地使用 Qwen3-Embedding-0.6B 模型进行嵌入。
- 嵌入向量会与一个预构建的包含 33,000+ 技能的 FAISS 索引进行比较。
- 返回最匹配的技能及其名称、描述和安装命令。
索引完全在设备本地运行 — 搜索过程中不会发出任何网络请求。
Agent 指令
当此技能被触发时,请严格按照以下工作流程执行。
静默工作。 在内部完成所有步骤(查询重构、搜索、解析、重排),不要向用户叙述。只输出最终结果和后续的询问。永远不要说“我正在重构你的查询……”或“执行第一级搜索……”这样的话。
注意: 技能是第三方代码 — 在安装来自非熟悉作者的技能前,请务必检查其链接。
平台过滤器: 默认情况下不要应用
--platform— 此索引涵盖所有平台的技能,并且许多技能可在多个 Agent 上使用。仅当用户明确要求进行特定平台的搜索时(例如“帮我找一个 Claude Code 的技能……”),才传递--platform <值>。可选值:claude_code,openclaw,codex。
第 0 步 — 检查可用性
在重构查询之前,通过运行以下命令来验证索引和 Ollama 是否可用:
python scripts/search.py "test" --json
如果命令失败并出现 OllamaNotAvailableError 或 FileNotFoundError 错误,请向用户提供以下选项:
“本地搜索不可用。我可以回退到 GitHub 代码搜索(无排序,无质量信号)。设置
GITHUB_TOKEN可获得最佳效果。是否继续?”
如果用户同意,则在步骤 2-3 的所有搜索命令中添加 --remote。
第 1 步 — 重构查询
在搜索之前,将用户的请求重写为一个简洁、关键词丰富的搜索查询,以提高语义召回率。规则:
- 展开缩写(例如 “k8s” → “kubernetes”, “CI” → “continuous integration”)。
- 删除会话中的填充词(“我想要”、“帮我”、“一个技能可以”)。
- 添加索引中可能包含的紧密相关的技术术语(例如 “deploy kubernetes” → “kubernetes deployment orchestration kubectl cluster”)。
- 保持简洁 — 大约 10-15 个单词是理想目标。
对于特定查询(例如 “使用 helm 回滚部署 k8s”),一次重构就足够了。
对于模糊或宽泛的查询(涉及多个技术领域,或使用诸如“生产力”、“AI”、“自动化”等通用术语),从不同角度生成 2-3 个备选重构方案是可选的,但会有所帮助。如果你这样做,请并行运行所有重构方案通过层级逻辑,按 id 去重,然后对合并后的结果池进行重排。
你不需要向用户展示重构后的查询,除非它们与用户输入的内容有显著差异。
第 2 步 — 运行搜索(带层级回退)
按顺序运行搜索,一旦获得 ≥3 个良好的匹配项即停止:
第一级 — 默认(质量优先,所有平台):
python scripts/search.py "<重构后的查询>" --json --propose 5 --min_stars 10
第二级 — 放宽星级阈值(如果第一级返回的匹配项少于 3 个):
python scripts/search.py "<重构后的查询>" --json --propose 5
规则:
--propose 5是默认值;对于宽泛的查询,或者如果用户要求更多选项,可以扩大到--propose 10。如果用户指定了结果数量(例如“给我 10 个”),则直接使用该数字。- 仅当用户明确要求进行特定平台搜索时(例如“找一个 OpenClaw 的技能……”),才添加
--platform <值>。在这种情况下,将其应用于两个层级。 - 来自 ClawHub 的技能是 OpenClaw 专属的 — 它们没有
claude_code安装命令。在展示它们时,始终加上标签 (openclaw only — not installable in Claude Code)。 - 如果用户明确指定了星级阈值(例如“仅限知名技能”或“最少 50 星”),则使用该阈值代替
--min_stars 10。 - 如果用户要求更少的结果(例如“只要前 3 个”),则相应地调整展示数量。
- 对于第二级结果,请在回复中注明过滤条件已放宽(参见第 5 步)。
第 3 步 — 解析和阈值检查
解析 JSON 输出。每个结果包含一个 sim_score 字段(0.0–1.0),此字段仅供内部使用 — 永远不要向用户展示。
将 ~0.4 作为“没有强匹配”的软阈值。如果所有层级的所有结果的 sim_score 都 < 0.4,请警告用户:
“我未找到与该查询强匹配的结果。请尝试使用更具体的关键词重新表述。”
第 4 步 — 重排
根据用户陈述的意图阅读每个结果的 description。优先级如下:
- 语义相关性 与用户的实际任务(首要信号)
- 星级 (
quality.stars) — 越高表示社区认可度越高 - 来源 — 仅在相关性及星级相同时用作次要排序依据;在这种情况下,优先选择官方验证过的技能。不要仅因来源注册表而故意降低某个技能的排名。
平台-来源对齐规则: clawhub 是 OpenClaw 的注册表。当用户要求的是 claude_code(或除 openclaw 之外的任何平台)时,将仅来自 clawhub 的技能视为最后手段 — 无论其星级如何,都将其排在所有其他来源之后,并且仅在没有更好的来源替代品时才包含它们。如果一个技能的来源同时包含 clawhub 和另一个注册表(例如 marketplace),则使用非 clawhub 来源进行排序。
默认展示 3-5 个结果。展示超过 5 个是可选的 — 仅当用户明确要求更多选项或指定了更高数量时才这样做。
第 5 步 — 展示结果
使用以下精确格式:
为“<用户的原始查询>”找到 N 个技能:
1. **pptx** ⭐ 2,810 stars [official]
转换任何 .pptx 文件 — 读取幻灯片、提取文本、生成演示文稿…
安装: `/skill install pptx` _(if this fails, see Skill link below)_
技能: https://github.com/anthropics/skills/blob/main/skills/pptx/SKILL.md
2. **pptx-skill** ⭐ 126 stars
将 HTML 幻灯片转换为 PowerPoint (PPTX) 文件…
安装: `/plugin install pptx-skill` _(if this fails, see Skill link below)_
技能: https://github.com/vkehfdl1/slides-grab/blob/main/SKILL.md
> 技能索引通过网页爬取定期更新,可能不包含最新发布的技能。
使用结果中的 skill_md_url 作为 技能: 链接。仅当 skill_md_url 为空时,才回退使用 repo_url。
徽章和标签:
- 仅当
is_official: true(anthropics/* 的 marketplace 技能)时,才添加[official]。 - 当
platforms不包含claude_code时,附加 (openclaw only — not installable in Claude Code)。 - 不要在输出中显示原始来源注册表名称(
skillsmp,clawhub,topic,skillhub,marketplace)。
安装命令(始终使用 install_cmd 字段中的原样值 — 切勿猜测或自行构建):
| 条件 | 安装行 |
|---|---|
is_official: true (anthropics/*) | 安装: /skill install <name> _(if this fails, see Skill link below)_ |
带有 install_cmd 的社区技能 | 安装: /plugin install <name> _(if this fails, see Skill link below)_ |
install_cmd 为空 | 无法直接安装 — 请查看技能链接。 |
不要向用户展示 sim_score。
默认情况下,仅展示 install_cmd 中的 claude_code 条目。只有当用户问及时,才提及存在其他平台。
如果结果来自第二级回退,请在新鲜度声明后添加一条注释:
“这些结果包含了一些星级较低的技能,因为对于该查询,高评分的匹配项有限。”
第 6 步 — 提供下一步操作
每次回复以以下内容结束:
“在安装之前,需要我为其中任何一个技能的完整 SKILL.md 吗?”