Skip to main content

skill-discovery

使用 list_skills / read_skill / read_skill_file 动态发现与按需加载其他 skill 文档的元流程(渐进式披露 / progressive disclosure)。触发:Agent 遇到不熟悉场景需要判断该加载哪个 skill、需要查阅某 skill 的 references 子文件、Supervisor 想知道某 worker agent 可用 skill 清单。不触发:对应 skill 已被当前 agent 静态预载且内容足够。

Source facts

Repository
aka-flashNight/cfn-rag-backend
Last source activity
April 23, 2026 at 16:46
Detected SKILL.md language
Chinese
Stars
4
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
skill-discovery
description
使用 list_skills / read_skill / read_skill_file 动态发现与按需加载其他 skill 文档的元流程(渐进式披露 / progressive disclosure)。触发:Agent 遇到不熟悉场景需要判断该加载哪个 skill、需要查阅某 skill 的 references 子文件、Supervisor 想知道某 worker agent 可用 skill 清单。不触发:对应 skill 已被当前 agent 静态预载且内容足够。
# 技能发现与渐进式加载 **Anthropic 2026 Agent Skills 规范**把 skill 内容分为三级: | 级别 | 内容 | 默认加载方式 | | --- | --- | --- | | L1 Metadata | `name + description`(来自 SKILL.md frontmatter) | Agent 启动时**全部加载** | | L2 Body | SKILL.md 的 Markdown 正文 | 按需 `read_skill` | | L3 References | `references/*.md` 等子文件 | 按需 `read_skill_file` | 大多数情况,Worker Agent 的系统提示已经**静态预载了**其工作相关的 L2 Body(例如 TaskAgent 预载 task-publishing + task-bargaining)。只有当 Agent 遇到不熟悉场景或需要查细节(L3)时才动态调用本 skill 下的工具。 ## list_skills ```json {"category": "", "ui_hint": "正在浏览技能……"} ``` 返回: ```json {"skills": [ {"name": "task-publishing", "description": "...", "path": "services/skills/task-publishing"}, ... ]} ``` - `category` 可选:`task / query / mood / system / ""`(空串=全部)。 - 结果按字典序排。 - 适合 Supervisor 路由前快速了解全局能力地图。 ## read_skill ```json {"name": "task-publishing", "ui_hint": "正在阅读技能……"} ``` 返回: ```json { "name": "task-publishing", "description": "...", "body": "<完整 Markdown 正文>", "references": ["TASK_TYPES.md", "REWARD_RULES.md"] } ``` - 返回 L2 Body。如果 Body 很长,Agent 仅引用必要段落,**不要**把整段 body 复述给玩家。 - `references` 列出该 skill 目录下的 L3 文件相对名(供下一步 `read_skill_file` 使用)。 ## read_skill_file ```json {"skill": "task-publishing", "relative_path": "references/TASK_TYPES.md", "ui_hint": "正在查阅细则……"} ``` - `skill` = skill 名(如 `task-publishing`)。 - `relative_path` = 相对于该 skill 目录的路径,必须以 `references/` 开头。 - 后端会做**严格路径校验**:禁止 `..`、绝对路径、跨 skill 访问。 - 返回 `{"skill": "...", "path": "...", "content": "<文本>"}`。 ## 使用原则 1. **优先使用静态预载**。如果 skill 已经出现在系统提示里,不要再调用 read_skill 重复加载。 2. **不要遍历**。避免"list_skills → read_skill 全部 → 逐个 read_skill_file"的无目的扫描;这会浪费 token。 3. **按路径精确取**。读 L3 文件前先看 `read_skill` 返回的 `references` 清单,避免瞎猜路径。 4. **读后即用**。读出来的内容只用于本轮推理,不要把它写进最终对话输出给玩家。 ## 典型场景 - Supervisor 遇到"模糊请求"想快速判断走哪个 worker → `list_skills`(非必须,通常 Supervisor 自己的系统提示已含路由规则,本调用可省)。 - TaskAgent 忘了某任务类型规则 → `read_skill_file("task-publishing", "references/TASK_TYPES.md")`。 - 新增 skill 后验证生效 → 先 `list_skills` 看是否出现在清单中。
View on GitHub