什么是 Agent Skills
在协作开发中,我们常希望 AI Agent 能遵循特定的、可复用的操作流程,比如按固定格式创建 Git Release、执行项目代码检查,或是生成符合团队规范的文档。OpenCode Agent Skill 提供了一种机制,允许我们将这些指令和行为封装起来,供 Agent 按需调用。
一个 Skill 本质上是一份包含特定指令的 Markdown 文件,它定义任务名称、描述及具体执行步骤。通过这种方式,复杂的重复性工作得以标准化,让 Agent 像调用工具一样精确执行预定义任务。这不仅提升了效率,也确保了输出结果的规范性。
简单来说,Skills 的核心价值在于:把重复的指令打包,按需加载。
配置与路径管理
创建一个 Skill 的过程很直接,核心是在指定目录放置名为 SKILL.md 的文件。
OpenCode 会在特定路径下搜索该文件,分为本地和全局两种,方便将 Skill 应用于特定项目或全局共享。
本地路径
本地路径允许将 Skill 与代码仓库绑定。当其他开发者克隆项目后,也能立即使用为项目定制的 Skill。OpenCode 会从当前工作目录向上搜索至 Git 仓库根目录,加载符合以下模式的文件:
.opencode/skill/<skill-name>/SKILL.md.claude/skills/<skill-name>/SKILL.md
全局路径
全局路径用于存放通用且与具体项目无关的 Skill,对所有项目可见(Windows 下通常为 C:\Users\用户名\.config\opencode\skills):
~/.config/opencode/skill/<skill-name>/SKILL.md~/.claude/skills/<skill-name>/SKILL.md~/.agents/skills/<skill-name>/SKILL.md
这里的 <skill-name> 是目录名,必须与 Skill 本身的名称保持一致,确保每个 Skill 的定义清晰隔离在自己的文件夹内。

技能结构设计
理解 Skill 的结构有助于明确如何向 AI 提出需求。以下是几个关键概念:
模块化与能力包
Skills 是独立的文件夹,每个负责一件事。例如'生成 PPT'是一个 Skill,'审校文章'是另一个。每个文件夹内可包含:
SKILL.md:核心指令文件(必需)scripts/:可执行脚本(可选)。当 SKILL.md 引用时,OpenCode 会执行它。脚本代码不进入上下文,只有结果进入,适合处理确定性任务以节省 Token。references/:参考文档(可选)。渐进式披露,平时不加载。assets/:模板和资源(可选)。如报告模板、配置文件。

自动加载与渐进式披露
你不需要手动告诉 Claude 或 OpenCode 现在用哪个 Skill。系统会根据任务描述自动判断并加载。采用三层加载机制优化上下文:



