use-skill — Skill 调度规则
> 本 skill 是 skill 调用的唯一调度入口。原「Skill 选用与 skill-index 分层读取约定」与「Skill 使用透明性约定」已合并于此。
一、触发条件
满足任一即走本流程:
- 用户显式说「调用 skill / 使用 skill / 用某个 skill」
- agent 判断本次任务需借助某个已装 skill 才能完成(如生成 PPT、安全审计、搜 GitHub、做图…)
- agent 自行推进某任务超过一定时间仍无实质进展(兜底):启发式为「连续 3 轮以上无实质产出 / 卡在某子任务超过约 5 分钟仍未推进」即触发本流程
- 短路:纯打招呼、不改文件的单行查询、纯闲聊 → 跳过本 skill
二、调度流程
路径 A:已知 skill 名(快路径)
- 直接按名定位(根目录见第三节)
- 若本机未找到该 skill → 转「路径 C」检索市场;若用户确认无需安装则跳过
- 读取该 skill 的
SKILL.md - 按其指示执行
- 走第四节「透明性报告」
路径 B:未知 skill 名(分层检索)
- 读分类索引(见第三节路径 B 的索引文件;若你维护了一份轻量索引则先读它,没有可跳过直接进入路径 C)
- 按任务类型选 1–N 个分类
- 在候选里挑 1–N 个,再按名定位
- 读取
SKILL.md→ 执行 - 若索引中无匹配候选 / 候选均不满足 → 转「路径 C」检索市场
- 走「透明性报告」
路径 C:本地无匹配 → 检索市场(find-skills)
- 调用
find-skills(Skill 工具 command=find-skills)按任务关键词检索 WorkBuddy 推荐市场 - 若有合适 skill → 提示经
skills-security-check安全审计后安装(安装为 marketplace 流程,非本 skill 职责) - 安装完成后回到路径 A 加载执行
- 若市场也无匹配 → 如实告知用户「暂无可用 skill」,由用户决定是否自建(可走
skill-creator)
调用异常处理(降级)
经本 skill 调用的 skill 若执行出错或被中断:
1. 重试一次:同 skill 换参数或更小步重试
2. 换同功能 skill:若存在功能相近的已装 skill,切换重试
3. 上报用户:仍失败则停止并说明错误与已尝试路径,不静默掩盖
三、根目录(skill 本体存放位置)
检索时以下位置都查,避免遗漏(请按你自己的环境调整下面这些路径):
- 你的 skills 主目录:即 agent 框架读取 skill 的目录(WorkBuddy 通常为 ~/.workbuddy/skills/;Codex 等其它宿主通常为各自的 skills 目录)。本 skill 默认扫描该主目录即可。
- 你的分类索引(可选):若你维护了一份轻量分层索引(如 总目录.md + 若干 N-类名.md),在此填写其路径;路径 B 先读它。没有索引则跳过路径 B、直接走路径 C。
> 部署说明:本 skill 不依赖任何写死的绝对路径。把上面「根目录」两处替换为你自己机器上的实际路径即可。若你的 agent 框架只从一个 skills 目录加载,只需保留那一个目录。
四、透明性报告(合并原"Skill 使用透明性约定")
每次经本 skill 调用后,必须在回复中明确告知用户:
- 实际调用的 skill:「本次回复使用了:xx、xx…skills」(列出真实触发的 skill 名,多个用顿号分隔)
- 为何选它(一句话):说明选中该 skill 的关键依据(触发词 / 任务匹配 / 用户指定),帮助用户理解调度
- 仅检索未调用的 skill(可选,供用户了解思考路径)
适用范围:所有项目、所有会话;即使 skill 只被加载/参考未产生外部动作,也告知。
五、维护
- 索引内容过时 → 改你的索引文件,本文件不重复维护列表。
- 调度逻辑要升级 → 只改本 SKILL.md。
> 版本(v1.2):本 skill 以「通用版」形态发布。若你在本地有多份副本(例如多个 agent 宿主各一份),任一改动后请整体同步其余副本并 sha256 校验,避免调度规则漂移。