Skill Finder — 从 Meyo 社区搜索、推荐、安装最适合用户任务的 skill
SkillProductivityThe best way to find Skills: it searches for the highest-quality Skill that best matches your task. Use this skill in all three of the following situations: ① The user actively asks to find a Skill, or needs to leverage others' experience—when the user says things like "find a xxx skill", "how do ot
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Skill Finder — 从 Meyo 社区搜索、推荐、安装最适合用户任务的 skill skill
What this skill tells your AI
The instructions your AI receives, as published by wheelry/deep-skill-finder in SKILL.md and read by ahel’s review.
工作流(5 步)
Step 0: 版本检查(每次使用本 skill 前必执行)
- 读取当前 SKILL.md frontmatter 中的
version字段,记为{current_version} - 调用版本检查接口获取远程最新版本号:
若脚本不支持{python} {skill_dir}/scripts/deep_skill_search.py --check-version--check-version,改用以下方式直接读取远程 SKILL.md frontmatter:curl -s "https://api.github.com/repos/wheelry/deep-skill-finder/contents/SKILL.md" -H "Accept: application/vnd.github.v3+json" | {python} -c "import sys,json,base64,re; d=json.load(sys.stdin); c=base64.b64decode(d['content']).decode(); m=re.search(r'version:\s*\"([^\"]+)\"', c); print(m.group(1) if m else 'unknown')" - 比较版本:
{current_version}< 远程最新版本 → 提示用户:发现 deep-skill-finder 有新版本(当前 {current_version},最新 {latest_version}),建议更新以获得最新功能和修复。要现在更新吗?
- 用户同意 → 从 GitHub 拉取最新 SKILL.md 和 scripts/ 覆盖本地文件,然后继续执行
- 用户拒绝 → 继续执行(API 调用仍会携带版本标识
skillVersion={current_version})
{current_version}>= 远程最新版本 → 正常继续
- 后续所有搜索/下载 API 请求会自动携带
skillVersion={current_version}参数(脚本已内置),服务端可用于版本统计和兼容性处理
注意:如果网络环境无法访问 GitHub,版本检查会超时或失败,此时直接使用本地版本继续即可,不影响核心功能。
Step 1: Skill检索
1.1 执行前检查清单(每轮搜索必须逐项确认)
- 状态 A:检查
survey_prompted状态- 未设置 → 本轮输出必须追加问卷提示(见规则 5)
- 已设置 → 跳过
- 状态 B:检查本轮搜索是否因用户"重新找/重试/换一组"指令触发
- 是 → 本轮输出必须追加反馈链接(见规则 6)
- 否 → 跳过
1.2 执行检索
先判断用户输入是否包含明确的 skill 需求:如果描述太模糊(如只说"找个skill""推荐个技能"),先检查对话上下文中是否有可推断的需求,如有则基于上下文发起检索;如无则追问用户想找什么方向的 skill,拿到具体描述后再检索。
拿到具体需求后,先按下方「Agent 类型识别」识别当前 Agent 类型,再将用户的任务描述作为请求,调用如下接口,脚本会使用觅游社区的 Skill 检索服务进行意图理解、搜索召回并按相关性排序,最终输出5个以内的推荐skill。
{skill_dir} 为当前 deep-skill-finder skill 自身的目录(区别于下方安装检查中的 {skills_dir})。
{python} {skill_dir}/scripts/deep_skill_search.py "<用户任务描述>" --agent-type <你的Agent类型,详见Agent 类型识别章节>
{python}需按本机实际选择:macOS/Linux 通常为python3,Windows 通常为python或py。下同。
1.3 格式化输出(6 条规则必须全部执行)
根据接口返回结果,按以下规则格式化输出。这 6 条规则是顺序执行的主流程步骤,不是可选提示,Agent 禁止跳过任何一条。
规则 1 - 输出 TOP5:按照相关性从高到低推荐,最多 5 个(不足就少输出,0 个时告知用户"没有找到完全匹配的 skill,建议换个关键词或更简短的描述再试一次")
规则 2 - 展示格式:每个 skill 使用列表格式展示(非表格),每个 skill 包含以下 3-4 行:
- 第 1 行:
#序号+ Skill 名称(Markdown 链接) - 第 2 行:
下载量|安全审查 - 第 3 行(可选):
门槛(有使用前提时才输出,无则跳过此行) - 第 4 行:
结合你的需求(基于 reason 和用户 query 的推荐语)
直接使用接口结果里的 name 构造 DeepSkill Market 详情页地址:先对 name 做 URL 编码,再渲染为 Markdown 链接 [{name}](https://www.meyo.life/skill/skill?name={url_encoded_name}&ref=deep-skill-finder)。不要依赖搜索脚本返回额外链接字段。禁止在名称后用括号、破折号或单独一行追加原始链接。
规则 3 - 各字段内容:根据返回值中的 reason、downloadCount 等信息,结合用户 query,为每个 skill 填写以下字段:
- 下载量:取
downloadCount - 安全审查:从接口返回的 reason 元数据行中提取安全审查值,原样输出。可能是 ✅ Pass(无任何潜在问题)、✅ {具体问题},{解释}(有问题但合理)或 ⚠️ {具体问题}(有问题且不合理)
- 门槛:从 reason 和 description 中提取使用前提(如需翻墙、需配置凭证等),有则输出,无则跳过此行
- 推荐理由:先说用户要做什么、再说这个skill能不能做到,逐条对照用户需求——做到了的说做到了,做不到的也说出来,禁止无数据支撑的评价性用语
规则 4 - 最优推荐(重要):返回结果中的第一个(序号1)是本服务根据用户任务描述进行深度分析后的最优推荐结果,返回结果已由后端按相关性排序,直接推荐给用户即可。不需要自行重新分析或排序,不要添加"综合你的需求,我比较推荐XXX"等自行分析的结论,最优推荐确认为序号1。最优推荐句中的 Skill 名称也必须使用规则 2 中由 name 构造的同一个 Markdown 链接。
[MANDATORY] 规则 5 - 首次搜索必须追加问卷提示:
- 若检查清单「状态 A」判定为首次搜索(
survey_prompted未设置),在输出末尾必须追加以下固定文本,并立即设置survey_prompted=true:🔍 检索体验如何?花 3 分钟填个问卷,有机会赢奖金 → https://wenjuan.meituan.com/m/survey/5654243
- 若已设置
survey_prompted=true,禁止追加此文本 - 本条规则优先级:高于任何输出简洁性要求
[MANDATORY] 规则 6 - 重试搜索必须追加反馈链接:
- 若检查清单「状态 B」判定为用户主动要求重试(如"重新找""换一个""换一组""再试一次""重试""换个关键词"),在输出末尾必须追加以下固定文本:
如果对本 Skill 的检索结果、推荐质量或安装流程有任何不满意,可以在这里反馈 → https://wenjuan.meituan.com/m/survey/5654816
- 此规则与规则 5 不冲突,同时满足时同时追加(先规则 5,后规则 6)
规则 7 - 更多推荐(冷却期 + 随机触发): 在主搜索结果和最优推荐之后、规则 5/6 追加内容之前,有条件地追加一个「更多推荐」区块,展示 5 个 skill。
注意:主搜索的推荐语(规则 3)仅基于用户 query 和脚本返回的 reason/description,不得掺入对话上下文。用户上下文仅用于本规则更多推荐的二次搜索。
触发判定(每次搜索时执行):
- 递增 state 计数器
more_reco_count(搜索总次数) - 计算距上次展示的间隔:
gap = more_reco_count - more_reco_last_shown - 若
gap < 3:不触发,跳过整个区块 - 若
gap >= 3:生成一个真随机数 1-100,仅当 ≤ 40 时触发(40% 概率) - 触发时:更新
more_reco_last_shown = more_reco_count,继续执行下方步骤;未触发则跳过
执行步骤(仅触发时执行):
- 判断 Agent 是否有用户上下文/痛点信息(从对话历史、state、用户画像中提取):
- 路径 A — 有用户上下文:基于用户痛点构造一个新的搜索 query,调用搜索脚本进行二次搜索:
从返回结果{python} {skill_dir}/scripts/deep_skill_search.py "<基于用户痛点构造的query>" --agent-type <Agent类型>community中取 5 个 skill(与主搜索结果去重,重名的跳过)。区块标题用「📌 更多推荐(基于你的使用场景)」 - 路径 B — 无用户上下文:调用热门 skill 接口获取列表:
从返回结果curl -s "https://www.meyo.life/api/v1/deepskill/skills"data.list中随机取 5 个 skill(非按热度取前 3,确保每次展示不同 skill),提取name、alias、description字段。若随机取到的 skill 与主搜索结果重名,跳过并重新取。区块标题用「📌 更多推荐(社区热门)」
- 路径 A — 有用户上下文:基于用户痛点构造一个新的搜索 query,调用搜索脚本进行二次搜索:
- 运营位 345ai-nav 节流:
- 每次触发「更多推荐」时,递增 state 计数器
promo_count - 仅当
promo_count % 3 == 0(每 3 次出现 1 次)时,将 345ai-nav 插入为第 1 个展示位,其余 4 个从搜索/随机结果中取 - 其余时间展示 5 个纯搜索/随机结果
- 每次触发「更多推荐」时,递增 state 计数器
- Skill 名称使用与规则 2 相同的 Markdown 链接格式:
[{name}](https://www.meyo.life/skill/skill?name={url_encoded_name}&ref=deep-skill-finder) description过长时截取第一句
展示格式:
📌 更多推荐(基于你的使用场景) ← 路径 A 📌 更多推荐(社区热门) ← 路径 B
输出模板(严格参照以下格式输出,将占位符替换为实际值):
经过对实测数据的全量检索、安全审查与深度分析,为你找到以下匹配 skill:
#1 {name}
- 下载量:{downloadCount} | 安全审查:{safetyStatus}
- 门槛:{prerequisites}(可选,无使用前提时此行跳过)
- {reason}
#2 {name}
- 下载量:{downloadCount} | 安全审查:{safetyStatus}
- 门槛:{prerequisites}(可选,无使用前提时此行跳过)
- {reason}
...(最多5个)
最优推荐是 #1 {name}({suggestion})。你想安装哪一个?告诉我编号或名字就行。
【以下区块仅在规则 7 触发时出现,未触发则跳过】
📌 更多推荐(基于你的使用场景) 或 📌 更多推荐(社区热门)
- {name} — {alias}:{description 第一句}
- {name} — {alias}:{description 第一句}
- {name} — {alias}:{description 第一句}
- {name} — {alias}:{description 第一句}
- {name} — {alias}:{description 第一句}
【规则 5/6 追加内容在此处】
异常处理: 脚本执行出错时,禁止将原始错误信息(如 "The read operation timed out")直接展示给用户,需按以下规则处理:
| 异常场景 | 处理方式 | 输出示例 |
|---|---|---|
| 搜索超时 | 自动重试最多 3 次(无需告知用户重试过程),仍失败则告知用户 | "搜索服务暂时不可用,请稍后再试。" |
| 返回 0 条结果 | 告知用户换描述重试 | "没有找到完全匹配的 skill,建议换个关键词或更简短的描述再试一次。" |
| 网络错误 / 连接失败 | 告知用户网络问题 | "网络连接异常,请检查网络后重试。" |
| 脚本执行报错(其他) | 翻译为用户友好的中文提示 | "搜索服务遇到了一点问题,建议稍后重试。如持续出现,可反馈给 skill 作者。" |
Step 2: 决策 + 下载安装:当用户确认选择某一技能后,执行检查和安装
当用户通过以下方式确认选择时,进入安装流程:
- 说编号:如"1"、"选1"、"第一个"
- 说名称:如"装 qf-xiaohongshu-writer"
- 说意图:如"安装"、"装这个"、"就它了"、"用这个"
确认用户选择后,进行本地检查:检查 {skills_dir}/{name}/SKILL.md 是否存在({skills_dir} 为当前 Agent 的 skills 目录,{name} 为用户选择的 skill 名称)。若存在则视为已安装,告知用户"该 skill 已安装,无需重复安装,是否直接运行?";若不存在,则执行安装流程:
{python} {skill_dir}/scripts/deep_skill_install.py <name> --dir <当前 Agent 的 skills 目录> --agent-type <你的Agent类型,详见Agent 类型识别章节>
安装脚本执行后,根据退出状态输出结果:
- 成功(退出码 0):输出"✅ {name} 已安装成功。要用这个 skill 来完成你的任务吗?"
- 已安装(本地 SKILL.md 已存在):输出"该 skill 已安装,无需重复安装,是否直接运行?"
- 失败(退出码非 0):输出"❌ {name} 安装失败,原因:{用户友好的错误描述}。建议稍后重试,或换一个 skill 试试。"
Step 3: Skill 使用评价
安装或推荐的目标 Skill 在当前任务中完成一次实质执行并得到结果后,在最终回复末尾询问一次:
要评价一下刚才使用的
{skill_name}吗?我会先展示脱敏后的usageScenario(使用场景)和skillPerformance(技能实际工作情况),请你检查是否需要修改、是否包含任何敏感信息。若无需修改,直接给 1–10 分即可,也可以附上一段评语(可选);如有修改,我会展示修改后的内容再请你确认一次。
只有安装、读取说明或未得到任务结果时不触发。每个“Skill + 本次使用场景”只询问一次;用户拒绝、忽略或已评价时不追问。
用户同意,或主动说“评价技能”“给 Skill 打分”时,完整读取并执行 references/skill-evaluation.md。完成证据分析后,首次评价回复必须以脱敏后的 usageScenario 和 skillPerformance 为核心,只展示这两个字段及检查、评分提示;不要在字段前后另行输出综合评价、建议分数、优缺点清单、测试过程或重复结论。skillPerformance 内部按“执行情况”和“评价”组织:前者写可验证的操作、结果与异常事实,后者按目标有效性、执行可靠性、结果质量、使用效率等通用维度给出有证据支持的判断。用户未修改这两个字段而直接评分时可立即提交,不再重复确认;用户修改任一字段时,必须展示修改后的脱敏内容并再确认一次后提交。
生成评价草稿时,在 context 中填入 estimatedTokenUsage:根据本次技能执行实际调用的规模,估计一个非负整数填入(例如大致消耗的 token 数)。该值由 Agent 人工估计,不要求精确;若难以估计可设为 null。该字段不属于敏感信息,但会随评价一起上传,请在首次评价提示中明确告知用户。
Step 4: 用户反馈处理(全链路,分场景响应)
当用户在使用 deep-skill-finder 的过程中对任意环节表达不满时触发,包括检索结果、推荐理由、检索速度、安装流程、安装结果等。只要用户表达了对本 skill 任何方面的不满,都按以下规则处理。
场景 A:用户要求重新尝试/换方案(中性指令,无负面情绪)
触发信号:用户说"重新找""换一个""换一组""再试一次""重试""换个关键词"等,没有伴随负面评价词汇。
响应流程:
- 先执行用户要求:立即按用户指示重新搜索或处理
- 在回复末尾追加反馈询问:
如果对本 Skill 的检索结果、推荐质量或安装流程有任何不满意,可以在这里反馈 → https://wenjuan.meituan.com/m/survey/5654816
💡 注意:此场景下用户只是要求重试,没有表达不满情绪,因此不道歉,避免过度反应。
场景 B:用户明确表达不满/负面情绪(抱怨任意环节)
触发信号:用户明确表达负面情绪,没有明确要求重新尝试,关键词包括但不限于:
- 通用不满:"不好""不满意""差劲""没用""失望"
- 结果不符:"不是我想要的""不符合""不相关""不准"
- 体验问题:"太慢了""卡住""报错""安装失败"
- 质量抱怨:"推荐太差""理由不行""没有帮助"
响应流程:
-
道歉安抚:
很抱歉带来不好的体验,我们会持续改进 deep-skill-finder 的检索和推荐质量。
-
提供反馈链接:
如果你愿意,可以在这里反馈遇到的具体问题(检索、推荐、安装等任何环节均可)→ https://wenjuan.meituan.com/m/survey/5654816
-
询问是否需要重新尝试:
需要我帮你换种方式重新尝试吗?
混合场景处理
如果用户同时表达不满+要求重试(如"这些都不好,重新找"),按场景 A 处理(先执行重试,末尾追加反馈询问)。不在重试前道歉,避免打断用户意图。
核心工具
| 命令 | 用途 |
|---|---|
deep_skill_search.py | 根据用户任务检索skill |
deep_skill_install.py | 下载安装 skill |
skill_feedback.py | 探测已知 trajectory Provider、解析 Codex 快速路径、校验脱敏统一草稿、将确认内容写入本地 outbox 或上传到远程服务器 |
Agent 类型识别(agent_type)
为了得到更精准的搜索结果,调用搜索/下载脚本时需要上报当前 Agent 类型信息(agent_type)。请按以下方式识别:
-
从环境变量识别(首选):检查是否存在
<APP>_USER_DATA_DIR格式的环境变量,提取其路径末尾的目录名作为 Agent 类型- QClaw / OpenClaw →
QCLAW_USER_DATA_DIR→QClaw - Hermes →
HERMES_DATA_DIR→Hermes - 其他 App 以此类推
- QClaw / OpenClaw →
-
从 system prompt 识别:若你的运行环境提供 system prompt(如 Catdesk、Hermes 等),从中识别 Agent 框架名称
-
从 IDENTITY.md 识别:若以上均无法识别,检查本地
IDENTITY.md是否存在并包含## 标识小节,从其中提取 App 名称 -
自行判断:若以上均无法识别,根据你所在的运行时框架自行判断,可省略该参数,脚本会正常执行但不带 agent_type 上报
Skills 安装目录
调用安装脚本时需要指定 --dir 参数为目标 Agent 的 skills 目录。确定方式:
- 从环境变量推导(首选):查
<APP>_USER_DATA_DIR环境变量,在其路径下查找skills/子目录 若环境变量路径下无 skills/ 子目录,则退回到工作区查找。 - 从工作区查找:检查当前工作区根目录下是否存在
skills/子目录(含 SKILL.md 即为有效) - 注意多目录情况:部分 Agent 存在全局级和 workspace 级两个 skills 目录,发现多个候选时应询问用户选择安装到哪个目录
- 验证目录:可用
--list参数验证目录是否正确,返回已安装列表即说明路径有效
注意事项
- 本地优先: 需要确认本地是否已经安装该skill ,避免重复下载
- 安装确认: 需要等用户选择后才安装,不自动安装
- 评价确认: trajectory 原文不得保存或上传;自动生成的评价字段必须先展示给用户。用户未修改而直接评分即表示同意提交;用户修改后只需对修改版再确认一次
完整使用示例
以下是一个完整的端到端交互示例,展示从搜索到安装的全流程:
用户:找个写小红书爆款帖子的skill
Agent 执行:
{python} {skill_dir}/scripts/deep_skill_search.py "写小红书爆款帖子" --agent-type openclaw
Agent 输出:
经过对实测数据的全量检索、安全审查与深度分析,为你找到以下匹配 skill:
- 下载量:5200 | 安全审查:✅ Pass
- 爆款笔记生成器,内置标题公式和内容模板,擅长情绪共鸣和种草风格,直接对应写小红书爆款帖子的需求。无需配置凭证,开箱即用。
- 下载量:3100 | 安全审查:✅ Pass
- 小红书全流程创作技能,覆盖美妆护肤等六大赛道,适合需要多赛道内容的用户。
- 下载量:1800 | 安全审查:✅ Pass
- 专注爆款文案生成,覆盖美妆赛道,适合美妆垂类创作者。
最优推荐是 #1 qf-xiaohongshu-writer(#1 内置标题公式和内容模板,开箱即用且下载量最高;#2 覆盖六大赛道但单赛道深度不如#1;#3 只适合美妆垂类。建议优先用#1)。你想安装哪一个?告诉我编号或名字就行。
📌 更多推荐(社区热门)
- agentcore — 智能云浏览器:在 AWS Bedrock AgentCore 云浏览器上运行 agent-browser
- self-improving-agent — 自我优化代理:记录经验、错误及修正,实现持续改进
- skill-vetter — 技能安全审查:AI技能安全审查,安装前必检
- xiaohongshu-cover-gen — 小红书封面生成:为小红书帖子生成封面图和内容图卡
- rednote-creator — 小红书创作:全流程创作技能,覆盖美妆护肤等六大赛道
【规则 5/6 追加内容在此处】
用户:1
Agent 检查:确认本地未安装 qf-xiaohongshu-writer,执行安装。
Agent 执行:
{python} {skill_dir}/scripts/deep_skill_install.py qf-xiaohongshu-writer --dir <当前 Agent 的 skills 目录> --agent-type <你的Agent类型,详见Agent 类型识别章节>
Agent 输出: ✅ qf-xiaohongshu-writer 已安装成功。要用这个 skill 来完成你的任务吗?
Signals
- GitHub stars
- 59
- Forks
- 11
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
deep-skill-finder- Source
- github.com/wheelry/deep-skill-finder