Skill 与工具
Skill 是以 SKILL.md 文件为入口的可复用工作流。工具(Tool)则是运行时开放的操作接口,例如读取文件、执行系统命令或搜索记忆。Agent 通过阅读 Skill 了解具体工作流程,再使用可用工具将其落实。
例如,一个代码审查 Skill 可以要求每条发现都必须附带证据。Agent 可以调用命令行工具查看 diff 并运行测试。安装该 Skill 本身并不会为 Agent 开通终端执行权限、代码仓库凭据或提交审查结果的权限。
Skill 如何发挥作用
Skill 的管理与实际调用发生在不同阶段:
- Skill Library(技能库)登记可被统一管理的 Skill。
- 为特定 Agent 启用技能库中的某项 Skill,使其对该 Agent 可见。
- 发现机制向 Agent 展示包含名称、描述与文件路径的目录项。
- 匹配到对应任务时,Agent 打开
SKILL.md并遵照其中的步骤执行。
目录中还可以包含在当前工作区发现的本地 Skill。目录项对 Agent 可见,仅说明 Agent 能够找到它,并不意味着全部指引正文已预先载入上下文,更不意味着该工作流已经被执行。
理清这层区别有助于排查问题:如果找不到 Skill,应检查发现机制与启用状态;如果 Agent 跳过了规定步骤,应检查它是否读取了该 Skill;如果某条命令执行失败,应排查工具、认证凭据和运行环境,而不要盲目重新安装该 Skill。
指引与权限边界
AGENTS.md 规定长期职责与项目约定。Skill 则在既定范围内提供可重复执行的操作流程。Agent 模板可以将角色契约与 Skill 依赖组合在一起,让新初始化的 Agent 具备预期能力。
Skill 中描述的某些步骤,可能并不在当前任务的授权范围内。例如在只读审查任务中,即便 Skill 包含发布逻辑,也不应当执行。Skill 正文无法强行开启被运行时策略禁用的工具,也无法把不可信的外部输入提升为操作者指令。Skill 附带的脚本属于待执行代码,与常规命令遵循相同的安全限制。
更新与共享来源
技能库管理与单个 Agent 的启用是解耦的。修改或删除公共技能库的内容,可能波及依赖该 Skill 的其他 Agent。为某一 Agent 禁用 Skill,只影响该 Agent 的启用名单。
软链接方式安装的 Skill 会直接反映源文件的修改;而作为受控副本(copy)安装的 Skill 则有独立的更新周期。应根据需要决定是共享持续演进的源目录还是保留稳定独立的副本。修改后记得核对生效的 Skill 列表;在本地创建链接并不会自动同步修改到上游仓库。
对工具的合理预期
工具的可用性取决于运行时能力与安全策略。特定模型服务商或执行环境可能带来附加限制:图像观察需要有效的视觉路由,命令执行则需要对应的系统环境。Skill 工作流可以说明这些要求,但单靠安装 Skill 无法自动满足它们。
工具的回执(Receipt)构成了操作发生的客观证据。阅读过 Skill 不等于测试已通过;请求被运行时接受也不等于后台任务已完成。评估进展时,应检查对应操作的真实回执。
