集成方法
集成 Skills 的两种主要方法是: 基于文件系统的 Agent (Filesystem-based agents) 在计算机环境(bash/unix)中运行,代表了最强大的选项。当模型发出类似cat /path/to/my-skill/SKILL.md 的 Shell 命令时,Skills 被激活。捆绑的资源通过 Shell 命令访问。
基于工具的 Agent (Tool-based agents) 在没有专用计算机环境的情况下运行。相反,它们实现了一些工具,允许模型触发 Skills 并访问捆绑的资产。具体的工具实现由开发人员决定。
概览
一个兼容 Skills 的 Agent 需要:- 在配置的目录中发现 (Discover) Skills
- 在启动时加载元数据 (Load metadata)(名称和描述)
- 将用户任务与相关的 Skills 匹配 (Match)
- 通过加载完整的指令来激活 (Activate) Skills
- 根据需要执行 (Execute) 脚本并访问资源
Skill 发现
Skills 是包含SKILL.md 文件的文件夹。你的 Agent 应扫描配置的目录以查找有效的 Skills。
加载元数据
在启动时,仅解析每个SKILL.md 文件的 Frontmatter。这可以保持较低的初始上下文占用。
解析 Frontmatter
注入到上下文中
在 System Prompt 中包含 Skill 元数据,以便模型知道有哪些可用的 Skills。 遵循你所用平台的 System Prompt 更新指南。例如,对于 Claude 模型,推荐的格式使用 XML:SKILL.md 文件的绝对路径的 location 字段。对于基于工具的 Agent,可以省略 location。
保持元数据简洁。每个 Skill 应向上下文中添加大约 50-100 个 Token。
安全注意事项
执行脚本会带来安全风险。请考虑:- 沙箱化 (Sandboxing):在隔离的环境中运行脚本
- 白名单 (Allowlisting):仅执行来自受信任 Skills 的脚本
- 确认 (Confirmation):在运行潜在危险操作前询问用户
- 日志记录 (Logging):记录所有脚本执行以供审计
参考实现
skills-ref 库提供了用于处理 Skills 的 Python 实用程序和 CLI。 例如: 验证 Skill 目录:<available_skills> XML: