基于 Progressive Disclosure 的 Agent Skill 加载与管理体系
打包进 JAR 的兜底示例,随应用发布。如 code-review-zh。Builtin 先扫描,作为默认填充。
运维外挂目录,默认 ./skills。External 后扫描,同名覆盖 Builtin,实现无需重新发布的定制。
app.skills.path — 外挂目录app.skills.enabled — 总开关AgentOrchestrator 构建 System Prompt 时,仅将所有 Skill 的 name + description 注入。模型看到清单后自主判断是否需要深入。
模型判断某 Skill 匹配当前任务时,调用工具获取 SKILL.md 正文(body)+ 可用子文件列表(availableResources)。
模型需要更细节的参考资料时,调用工具读取 Skill 目录下的子文件。含路径穿越防御 + source-aware 读取策略。
--- ... --- 包裹的 YAML 块^[a-z][a-z0-9-]{0,63}$(kebab-case)toRealPath() + startsWith 校验POST /actuator/skills 触发全量 refresh,仅新 Session 生效