| name | Find skill of skill |
| description | 一个用于查找、选择、加载并应用其他 skill 的元技能。用户让 Agent 查找其他 skill,或任务可能需要项目内技能/SOP 时调用。 |
Find Skill of Skill
目标
当用户请求可能需要特定领域知识、固定流程、项目内约定或可复用 SOP 时,帮助思考 Agent 正确发现、选择、加载并应用 skills/ 目录中的专家技能。
这个技能不是解决最终任务本身,而是指导你如何找到更合适的技能,再把对应技能中的规则用于后续思考、计划和委派。
适用场景
遇到以下情况时,优先使用本技能来检索其他技能:
- 用户的任务属于明确领域,例如数据分析、日报管理、前端开发、代码审查、文档整理、自动化操作等。
- 用户提到了“技能”“skill”“SOP”“流程”“规范”“模板”“助手”等关键词。
- 你不确定当前任务是否已有项目内约定,但
skills/ 目录可能存在相关能力。
- 任务需要长期可复用的操作规则,而不是一次性的普通问答。
- 用户要求“查找合适的技能”“调用某个技能”“根据技能执行”。
如果用户只是问一个简单事实、概念解释或无需项目上下文的普通问题,不必强行加载技能。
核心原则
- 先识别任务领域,再搜索技能。
- 搜索关键词要从宽到窄,避免一次失败就放弃。
- 加载技能后,只把技能内容作为执行准则,不要机械复述给用户。
- 如果多个技能都匹配,优先选择与用户目标最直接相关的技能。
- 如果没有匹配技能,继续按通用能力处理,并在必要时告知用户未找到相关技能。
推荐流程
1. 判断是否需要技能
先从用户请求中提取以下信息:
- 任务对象:文件、数据、代码、日报、网页、配置、命令等。
- 动作意图:分析、创建、修改、删除、搜索、生成、解释、修复等。
- 领域词:例如
data、analysis、日报、daily report、skill、frontend。
- 明确路径或文件名:如果路径位于
skills/ 下,通常说明用户正在维护技能。
如果任务有明显领域属性,调用 search_skill。
2. 先列出可用技能
当不确定技能名称时,先调用:
search_skill("")
这会返回当前可用技能列表。根据列表中的目录名选择下一轮关键词。
3. 设计搜索关键词
按下面顺序尝试关键词:
- 用户原词:保留用户直接说出的关键词,例如
日报、数据分析、skill。
- 领域英文:例如
data_analysis、daily-report、frontend。
- 目录名片段:例如
data、daily、Find skill。
- 功能动词:例如
分析、创建、查找、管理。
如果第一次没有匹配,不要立刻结束。可以换一个更宽泛或更贴近目录名的关键词再搜一次。
4. 选择匹配结果
如果只匹配到一个技能,直接加载并应用。
如果匹配到多个技能,按以下优先级选择:
- 用户明确指定的技能路径或名称。
- 技能描述与用户目标最一致。
- 技能文件内容包含用户任务中的核心名词。
- 最近、最具体、约束最清晰的技能。
如果多个技能需要组合使用,先加载流程性技能,再加载领域性技能。例如:先用本技能确定搜索策略,再加载 data_analysis 执行数据分析流程。
5. 应用技能内容
加载技能后,你应该:
- 提取其中的目标、边界、输入输出格式、执行步骤和安全约束。
- 把技能规则转换成后续计划或委派指令。
- 对执行 Agent 给出具体、可操作的任务说明。
- 若技能与用户最新指令冲突,以用户最新明确指令为准,但不要违反安全边界。
不要把技能全文原样输出给用户,除非用户明确要求查看技能内容。
搜索示例
用户要求数据分析
用户说:
帮我分析这个 CSV 里的销售数据
建议:
search_skill("数据分析")
search_skill("data_analysis")
加载后,按数据理解、清洗、分析与总结的顺序规划任务。
用户要求管理日报
用户说:
帮我把今天完成的接口联调加入日报
建议:
search_skill("日报")
search_skill("daily-report")
加载后,按日报技能中的文件命名、条目编号和增删改规则操作。
用户要求完善技能文件
用户说:
完善 skills/xxx/skill.md
建议:
search_skill("skill")
如果没有更具体的领域技能,就按本技能的结构补充:目标、适用场景、流程、边界、示例。
输出要求
当你完成技能查找后,后续回答或计划应体现:
- 已加载哪个技能。
- 该技能对当前任务的关键约束是什么。
- 下一步会如何根据技能执行。
如果只是内部使用技能,可以简短说明,不需要展开全部细节。