技能
技能是一组具名 Markdown 指令,模型只在需要时加载。每项技能有 Slug($docs-style)、名称、简述和完整指令。
延迟加载
描述即 Manifest:启用工具时,load_skill 列出每项已启用技能的 Slug、名称和描述,模型再通过一次调用获取完整指令。长指令在使用前不占上下文;消息中的 $slug 会提示模型加载。
生命周期
技能可在不删除的情况下停用;停用后离开 Manifest 并拒绝加载。更新会增加版本并存档上一版,回滚以新版本恢复。交换格式为 SKILL.md:Frontmatter 中是名称、Slug、描述,之后是原样指令;导入导出也支持 JSON。名称、描述和指令静态加密,Slug 保持明文。
从商店导入
设置 → 技能 → 从 URL支持 skills.sh、GitHub 仓库或树/Blob URL、owner/repo/skill(解析为 skills/<name>/SKILL.md)和直接 SKILL.md 链接。下载使用与工具服务器相同的固定出口保护,只允许公网地址和有限大小。导入后成为自己的可编辑副本,不会静默跟随远程更新。
捆绑文件
技能可在 SKILL.md 文件夹结构中携带参考资料、模板和脚本。load_skill 列出捆绑包,read_skill_file 按需读取。文件随文件夹/远程导入和 JSON 导出传递,路径不得逃逸,只允许静态加密文本;最多 32 个文件、每个 200 KB、每项技能 1 MB。
教授的技能
Slug 以 taught- 开头的技能通过在 Work 计算机上演示任务创建。录制内容被确定性编译为包含锚定点击目标、已脱敏 Secret 和由访问站点推导出的允许范围的操作手册,并作为普通版本化技能保存。启用计算机的运行自动加载所有者已启用的教授技能;运行后的成功/失败反馈会在记录中新增带日期的新版本,可编辑和恢复。
需要批准
技能除了指令之外,还可以附带一项审批要求。在技能编辑器中,运行前始终询问打开这项开关后,一份清单会让你选择它覆盖的工具:run_command、computer_act、delete_file、move_file、message_agent 和 write_file。所有勾选框都留空即覆盖全部六项。
当该技能被加载期间——绑定在这一轮所用的配置文件或角色上,或是运行途中用 load_skill 加载——这些工具会在运行前暂停等待用户确认,无论该次运行自己的审批设置写的是什么,请求会写明是哪个技能提出的要求。一条已保存的“始终允许”规则永远无法替它批准:指令中的说明只是模型可能会绕过的建议,而这里是在关卡处强制执行的。一次性的“允许一次”依然有效,因为那是一次当场做出的决定,而不是存量规则。参见操作审批。
这个字段会随技能一起流转:它会在导出和导入的 JSON 信封中完整往返。SKILL.md 这种互通格式只携带指令,因此仅通过 Markdown 导入的技能会落回默认值(继承),这项要求需要重新设置。
一项教授的技能如果在录制过程中脱敏了某个 Secret,就会在保存时为 computer_act 打开这项开关:回放它会再次经过用户必须亲眼看到的地带,仅靠说明中的边界从来都不够。
共享和配置文件
技能默认私有,通过资源授权共享。助手配置文件可绑定技能子集,使用该配置的会话只在 Manifest 中看到这些技能。
示例
-
Slug:
cite-sources -
Name:
Cite sources -
Description:
How to cite evidence: numbered references with URLs, no unreferenced claims.(模型看到此行,应说明何时使用) -
Instructions:
# Citing sources- Every factual claim gets a numbered reference like [1].- End with a References section: number, title, URL.- If no source exists, say so instead of inventing one.
启用工具并要求:
总结最新结果并使用 $cite-sources。
输入 $ 会补全 Slug。模型看到 cite-sources 后调用 load_skill 并按指令格式化。停用后它从 Manifest 消失但不会删除。