用途:创建可加载的知识模块,为 OpenCode 智能体补充专门知识、工作流或工具集成。技能是 markdown 文件,通过 skill 工具按需加载。
存放位置:项目级为 .opencode/skill/<name>/SKILL.md;全局级为 ~/.config/opencode/skill/<name>/SKILL.md。项目技能优先于同名全局技能。文件夹名必须与 frontmatter 中的 name 一致。
目录结构:SKILL.md 必需;scripts/ 放可执行脚本,references/ 放详细文档,assets/ 放图片与数据文件,均为可选。
命名规则:小写、仅字母数字与连字符(如 my-skill、api-client),且与文件夹名匹配。
frontmatter:name 必填且与文件夹名一致;description 必填,1-1024 字符,需包含能力说明、触发场景(Use proactively when…)和示例(user: "query" → action)。
内容结构建议:标题、核心概念、工作流步骤、模式与反模式、校验方式。SKILL.md 建议不超过 500 行,复杂文档放 references/,代码示例放 scripts/,采用渐进式披露。
权限配置:在 agent frontmatter 或 opencode.json 中设置 permission.skill,支持 ""(全部)、"prefix-"(前缀匹配)、"exact-name"(精确匹配),可设为 allow 或 deny。
校验:创建后运行 opencode run "test",再测试加载,例如“Load the my-skill-name skill and explain what it does.”。
限制与注意:不要创建过于宽泛的技能,不要重复其他技能内容,不要在技能文件中包含密钥或凭据,不要忘记文件夹名与 frontmatter name 匹配。其他细节暂未提供。