OpenCode Skills 使用指南:技能目录、命名规则、权限配置与不加载排查

OpenCode 的 Skills 放在哪个目录、怎么控制哪些技能能用?按 OpenCode 官方文档讲清六个扫描位置、name 的正则规则、skill 工具的工作方式、在 opencode.json 里用 allow / deny / ask 配置权限、按智能体覆盖,以及技能不出现时的五项检查。

NNathaniel bigo··原创首发·AI 辅助撰写
8 分钟读完
资料核对于 2026-10-11 · 依据官方文档与公开资料整理 免费账号 账号
本文根据 OpenCode 官方文档《Agent Skills》整理,资料核对于 2026-10-11。OpenCode 是一款开源的终端编程智能体,安装与模型配置以其官方文档为准,本文只讲技能。

适用于谁

  • 搜「opencode skills 使用」「opencode skills 目录」「opencode skills 安装」的人;
  • 想让 OpenCode 直接用上已有的 Claude Code 技能的人;
  • 团队里想限制某些技能只能被特定智能体使用的人。

结论先说

  1. OpenCode 自己的目录是 .opencode/skills/(项目)和 ~/.config/opencode/skills/(全局),同时也读 .claude/skills/ 和 .agents/skills/ 以及它们在主目录下的对应位置。
  2. name 规则严格:1–64 个字符,小写字母和数字,单个连字符分隔,且必须和所在目录同名。
  3. 技能通过一个叫 skill 的工具加载:智能体在工具描述里看到可用技能的名称和描述,需要时按名称加载。
  4. 权限在 opencode.json 里配:对技能名(支持通配符)设 allow、deny 或 ask。
  5. OpenCode 专有的行为写在 metadata 里,而不是加自定义的顶层字段,这样同一份 SKILL.md 在别的工具里也不会出错。

一、技能放在哪

每个技能一个文件夹,里面放 SKILL.md:

范围路径
项目.opencode/skills/<name>/SKILL.md
项目(兼容).claude/skills/<name>/SKILL.md、.agents/skills/<name>/SKILL.md
全局~/.config/opencode/skills/<name>/SKILL.md
全局(兼容)~/.claude/skills/<name>/SKILL.md、~/.agents/skills/<name>/SKILL.md

发现规则:对项目路径,OpenCode 从当前工作目录向上走,直到 git worktree 的根,沿途每一层的 .opencode/skills//SKILL.md、.claude/skills//SKILL.md、.agents/skills/*/SKILL.md 都会加载;全局技能从上面三个主目录路径加载。

这意味着已经在用 Claude Code 的项目,不需要做任何迁移,OpenCode 打开就能看到 .claude/skills/ 里的技能。

二、frontmatter 与命名规则

  • 必填:name、description;
  • 可选:license、compatibility、metadata(字符串到字符串的键值表)。

name 的规则

  • 1–64 个字符;
  • 小写字母和数字,用单个连字符分隔;
  • 不能以 - 开头或结尾,不能有连续的 --;
  • 必须和包含 SKILL.md 的目录名一致;
  • 对应的正则:^[a-z0-9]+(-[a-z0-9]+)*$

description 的规则:1–1024 个字符,要具体到足以让智能体做出正确选择。

OpenCode 专有的两个开关放在 metadata 下:

键作用
opencode/slash设为 "true" 时,技能在终端界面里作为 /name 命令出现
opencode/autoinvoke设为 "false" 时,技能不进入给模型看的可用技能列表,不会被自动选用

官方说明这两个键也接受 YAML 布尔值。按官方示例的思路写出来是这样:

markdown
---
name: git-release
description: Create consistent releases and changelogs. Use when preparing a tagged release.
metadata:
  opencode/slash: "true"
  opencode/autoinvoke: "false"
---

## 步骤
(发布流程的具体说明)

上面这个组合的含义是:只能通过 /git-release 手动调用,模型不会自己用它。适合发布这类有副作用的流程。

三、技能是怎么被加载的

OpenCode 提供一个名为 skill 的工具:

  • 工具的描述里有一段 <available_skills>,列出每个可用技能的名称和描述;
  • 智能体判断需要某个技能时,调用 skill({ name: "git-release" }) 加载它的全文;
  • opencode/autoinvoke 设为 "false" 的技能不会出现在 <available_skills> 里,但仍然可以按确切名称加载。

所以和其他工具一样,智能体平时只看得到名称和描述,description 决定它会不会被用上。

四、配置权限

在 opencode.json 里按技能名设置,支持通配符:

json
{
  "permission": {
    "skill": {
      "*": "allow",
      "pr-review": "allow",
      "internal-*": "deny",
      "experimental-*": "ask"
    }
  }
}
取值行为
allow技能直接加载
deny技能对智能体隐藏,访问被拒绝
ask加载前先询问用户

通配符的例子:internal-* 会匹配 internal-docs。

对来源还不够放心的技能,先设为 ask,每次加载都能看到一次提示。

五、按智能体覆盖

自定义智能体:在智能体定义文件的 frontmatter 里写

yaml
---
permission:
  skill:
    "documents-*": "allow"
---

内置智能体:在 opencode.json 的 agent 下写

json
{
  "agent": {
    "plan": {
      "permission": {
        "skill": {
          "internal-*": "allow"
        }
      }
    }
  }
}

完全关掉技能工具:自定义智能体在 frontmatter 的 tools: 下写 skill: false;内置智能体在 opencode.json 里把 agent.plan.tools.skill 设为 false。关掉之后,<available_skills> 整段都不会出现。

六、技能不出现时的五项检查

官方的排查清单:

  1. 确认文件名是全大写的 SKILL.md;
  2. 确认 frontmatter 里有 name 和 description;
  3. 确认技能名称在所有位置中是唯一的;
  4. 检查权限,设为 deny 的技能对智能体是隐藏的;
  5. 检查 opencode/autoinvoke,设为 "false" 的技能不会出现在给模型看的列表里。

第 3 条值得多看一眼:OpenCode 同时扫描三套目录,同一个技能如果在 .opencode/skills/ 和 .claude/skills/ 里各放了一份,就违反了唯一性。保留一份即可。

常见问题

Q:怎么安装别人的技能?

把技能文件夹放进上面任一目录即可。也可以用通用的命令行工具一次装到多个工具,见《npx skills add 怎么用》。装之前先看内容,见《Skill 安全吗:安装前检查什么》。

Q:技能在列表里但不被使用?

改 description,把使用场景写具体,见《Skill 不触发怎么办》。

Q:Claude Code 专有的 frontmatter 字段在这里有用吗?

官方文档列出的可识别字段只有 name、description、license、compatibility、metadata。其他工具的专有字段在 OpenCode 里不要指望生效。

Q:SKILL.md 怎么写?

见《SKILL.md 怎么写》。

参考资料

  • Agent Skills(OpenCode 官方文档):https://opencode.ai/docs/skills/
  • Specification(Agent Skills 官方规范):https://agentskills.io/specification

Nathaniel 的更多内容

  1. 01

    promptfoo 使用教程:对比提示词和模型、写断言自动评测(安装与配置)

    promptfoo 是什么、怎么使用?按官方 README 和入门文档讲清它的用途、三种安装方式、用示例项目起步、promptfooconfig.yaml 里提示词、模型和测试用例三部分怎么写、常用断言类型的含义、eval 与 view 两条命令,以及把它放进日常改提示词流程的方法。

    ChatGPT其他 AI 工具0
  2. 02

    Kimi API怎么用:API Key获取、Python调用、K3价格与429报错处理

    Kimi API Key 在哪里获取、怎么用 Python 调用 K3、价格怎么算、429 和 401 报错怎么办?本文按 Kimi API 开放平台官方文档讲清注册认证、创建 Key、base_url 与模型名、计费规则和常见错误排查。

    Kimi0
  3. 03

    Cursor Agent 模式怎么用:Agent、Plan、Ask 三种模式,检查点回滚与消息排队

    Cursor Agent 模式是什么、和 Plan / Ask 模式怎么选?按官方文档讲清 Agent 能调用哪些工具、Shift+Tab 切换模式、Plan 模式先出方案再动手、用检查点撤销改动、任务进行中排队或插话,以及 /goal 长目标。

    Cursor0
  4. 04

    Gemini 聊天记录怎么导出:导出到文档 / 表格、生成 PDF 与用 Takeout 批量导出完整对话

    Gemini 没有「一键导出全部对话」的按钮,但有三条官方路径:单条回答导出到 Google 文档、Gmail、表格;让 Gemini 直接生成 PDF、Word、Markdown 文件;用 Google Takeout 批量下载全部活动记录。本文给出每种方法的步骤和限制。

    Gemini0
  5. 05

    ChatGPT 生成图片中文乱码、文字错误怎么办:7 个按顺序试的办法

    让 ChatGPT 做海报、封面、信息图,中文总是缺笔画、错字、乱码?本文按 OpenAI 官方图像提示指南,给出从写法、字数、局部修改、质量档位到后期排版的 7 个办法,以及什么时候干脆别让 AI 写字。

    ChatGPT0
  6. 06

    Cursor、Claude Code、Codex、GitHub Copilot 有什么区别:按形态、账号、计费和规则文件对比

    Cursor 和 Claude Code 的区别是什么、和 Codex、GitHub Copilot 怎么选?只用各家官方文档的事实对比:产品形态、用什么账号、怎么计费、能选哪些模型、规则文件与 MCP、权限模式、代码审查;不做「谁更强」的排名,给出按场景选择的思路。

    ClaudeCursor0

同产品的其他教程

  1. 01

    MinerU 是什么、怎么用:把 PDF 等文档解析成 Markdown(4.0 的安装、四档解析与命令)

    MinerU 是什么、怎么安装使用?按官方中文 README 讲清 4.0 版本的定位、支持的输入与输出格式、flash / basic / standard / advanced 四档解析各适合什么、pip 安装命令、mineru-kit 与 mineru 两个命令的分工和常用写法,以及从旧版升级要注意什么。

    其他 AI 工具0
  2. 02

    npx skills add 怎么用:从 GitHub 安装 Skill、skills.sh 是什么与常用命令

    网上的 Skill 安装命令大多是 npx skills add 开头,它是什么、装到哪去了?按官方 README 讲清 skills 命令行工具支持的来源写法、项目与全局两种范围、-a 指定工具、list / find / update / remove 等命令、软链接与复制的区别,以及怎么关掉遥测。

    Claude其他 AI 工具0
  3. 03

    即梦首尾帧怎么用:两张图生成过渡视频(在哪里、提示词、不能用怎么办)

    即梦首尾帧在哪里、怎么用?本文讲清首尾帧入口、哪些模型支持、两张图的比例要求、过渡提示词怎么写,以及「首尾帧不见了 / 不能用了」「画面跳变」的原因和解决办法。

    其他 AI 工具0
  4. 04

    DeepSeek怎么用:网页版与手机App入门(深度思考、智能搜索、上传文件)

    DeepSeek怎么用?本文从官方入口和登录方式讲起,说清输入框里的「深度思考」「智能搜索」和上传附件各管什么,历史对话怎么改名、置顶、分享和导出,以及手机上使用的注意点。

    其他 AI 工具0
  5. 05

    文心一言网页版怎么用:改名「文心」后的入口、对话与工作任务、PPT生成

    文心一言现在叫什么、网页版入口在哪、怎么用?本文按百度文心官网和 App Store 官方页面讲清「文心」的新入口、对话与工作两种模式、图片生成和帮我写作、任务托管与 AIPPT、知识库和定时任务从哪开始。

    其他 AI 工具0
  6. 06

    Trae 规则与 MCP 配置教程:.trae/rules 四种生效方式、导入 AGENTS.md、添加 MCP Server

    Trae rules 怎么配置、Trae 怎么用 MCP?按 TRAE 官方中文文档讲清全局规则与项目规则的位置、四种生效方式、子目录与多层嵌套、导入 AGENTS.md / CLAUDE.md、提交信息规则,以及从市场添加和手动配置 MCP Server、项目级 mcp.json。

    其他 AI 工具0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~