技能是一个包含 SKILL.md 文件以及可选支持文件的文件夹。Open Interpreter 首先读取技能元数据,只有当请求匹配时才加载完整技能。

文件夹结构

cut-release/
├── SKILL.md
├── scripts/
├── references/
└── assets/

SKILL.md 为必需文件。其他目录为可选。

最小化技能示例

---
name: cut-release
description: 通过测试、更新变更日志并打标签来准备发布。
---

当被要求进行发布时:

1. 运行测试套件。
2. 更新变更日志。
3. 根据语义化版本号(semver)提升版本号。
4. 准备提交和标签,但在发布前询问确认。

description 决定技能何时被选中,因此请具体描述。

位置

路径范围
.agents/skills/仓库或目录本地的技能
~/.agents/skills/个人技能
内置技能内置工作流

当名称冲突时,本地技能的优先级高于个人和内置技能。

新的用户技能应放在 .agents/skills 目录中。这是一个工具无关的共享目录,因此其他兼容的智能体也可以直接使用同一个技能,无需为 Open Interpreter 导入或复制。

Open Interpreter 还会读取 ~/.openinterpreter/skills/,以保持向后兼容。新的用户自定义技能不应放在这个产品专用目录中。内置技能仍可能缓存在 Open Interpreter 主目录下,因为它们属于产品资源,而不是可移植的用户数据。

内置技能更新

Open Interpreter 管理 $INTERPRETER_HOME/skills/.system/(通常为 ~/.openinterpreter/skills/.system/)中的内置技能缓存。运行时会为完整的内置技能包生成指纹;新安装的 Open Interpreter 版本如果包含已更改或已移除的技能,就会刷新该目录。更新后的运行时在启动交互式、exec 或 app-server 会话时都会执行此检查。

请将 .system/ 视为只读目录:Open Interpreter 更新可能会替换其中的改动。用户技能、宿主应用技能以及 skills/ 下的其他同级目录不属于 Open Interpreter 的托管命名空间,因此不会被这次刷新修改。

技能应包含的内容

  • 发布检查清单
  • 内部报告生成
  • 仓库特定的迁移工作流
  • 设计或审查标准
  • 需要固定顺序的命令

保持 SKILL.md 简洁。将长篇参考资料放在 references/,可运行的辅助脚本放在 scripts/,模板放在 assets/

工具与批准行为

技能脚本会通过常规的沙箱和批准控制运行。技能应描述脚本的功能以及何时适合运行,但不应依赖绕过权限。

浏览技能

在 TUI 中:

/skills
技能