词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
Skill 是一套按需加载的专业知识包,通过 SKILL.md 定义,Agent 根据任务语义自动发现并加载。

用户:帮我查询数据仓库的收入数据
Claude:我建议用这个 SQL 查询...
SELECT * FROM revenue WHERE date > '2024-01-01'用户:帮我查询数据仓库的收入数据
Claude:[自动加载 sql-analysis Skill]
我来帮你查询收入数据。根据你们的数据规范:
- 使用 monthly_revenue 汇总表
- 排除测试账户 (account != 'Test')
- 收入按 ARR 计算 (monthly * 12)
SELECT ...┌─────────────────────────────────────────────────────────┐
│ 第一层:name + description(~100 词) │
│ → 始终可见,用于判断是否需要加载 │
├─────────────────────────────────────────────────────────┤
│ 第二层:SKILL.md 正文 │
│ → 任务匹配时加载,包含主要指令 │
├─────────────────────────────────────────────────────────┤
│ 第三层:references/ 目录中的详细文档 │
│ → 仅在需要具体细节时加载 │
└─────────────────────────────────────────────────────────┘| 特性 | CLAUDE.md | Skill |
|---|---|---|
| 加载时机 | 始终加载到上下文 | 仅在任务匹配时加载 |
| 适用范围 | 当前项目 | 可跨项目复用 |
| 内容类型 | 纯 Markdown | Markdown + 代码 + 资源文件 |
| 平台支持 | 仅 Claude Code / OpenCode | Claude.ai / Code / API |
| 典型用途 | 项目编码规范、本地命令 | 专业领域知识、工作流程 |
.opencode/
└── skill/
└── code-review/
└── SKILL.md # 技能定义文件(必须大写).opencode/
└── skill/
└── sql-analysis/
├── SKILL.md # 主文件:工作流程和关键逻辑
└── references/ # 详细文档(按需加载)
├── finance.md # 财务表结构
├── product.md # 产品表结构
└── examples.md # 查询示例| 位置 | 作用范围 | 说明 |
|---|---|---|
.opencode/skill/<name>/SKILL.md | 当前项目 | 项目专属技能 |
~/.config/opencode/skill/<name>/SKILL.md | 全局 | 所有项目可用 |
.claude/skills/<name>/SKILL.md | 当前项目 | Claude 兼容格式 |
~/.claude/skills/<name>/SKILL.md | 全局 | Claude 兼容格式 |
项目路径会从当前目录向上遍历到 git 根目录。
OPENCODE_CONFIG_DIR 环境变量可以指定额外的 Skill 搜索路径:~/.config/opencode/skill/$OPENCODE_CONFIG_DIR/skill/skill/skill.ts:82-85.opencode/
└── skill/
└── audit/
└── security/
└── SKILL.md # 技能名由 frontmatter 中的 name 决定skill/skill.ts:38** 表示匹配任意深度的子目录。| 字段 | 必需 | 说明 |
|---|---|---|
name | 是 | 技能标识符,用于调用 |
description | 是 | 触发条件描述(最重要!) |
license | 否 | 许可证信息 |
compatibility | 否 | 兼容性标记 |
metadata | 否 | 自定义键值对 |
✓ code-review
✓ sql-analysis
✓ git-release
✗ Code_Review ← 不要用大写
✗ sql--analysis ← 不要用连续横杠
✗ -review ← 不要以横杠开头^[a-z0-9]+(-[a-z0-9]+)*$skill 工具的描述中:<available_skills>
<skill>
<name>sql-analysis</name>
<description>用于分析业务数据:收入、ARR、客户分群...</description>
</skill>
<skill>
<name>code-review</name>
<description>执行代码审查,检查规范、Bug、性能和安全</description>
</skill>
</available_skills>用户消息:帮我分析上季度的收入数据
Claude 判断:这是数据分析任务,与 sql-analysis Skill 匹配
Claude 调用:skill({ name: "sql-analysis" })
结果:SKILL.md 内容加载到上下文## Skill: sql-analysis
**Base directory**: /path/to/.opencode/skill/sql-analysis
[SKILL.md 的内容]Base directory 信息让 Claude 知道如何访问 references/ 中的相对路径文件。opencode.json 中配置:{
"permission": {
"skill": {
"pr-review": "allow", // 立即加载
"internal-*": "deny", // 隐藏,拒绝访问
"experimental-*": "ask", // 加载前询问用户
"*": "allow" // 其他默认允许
}
}
}| 权限值 | 行为 |
|---|---|
allow | Skill 立即加载 |
deny | Skill 对 Agent 隐藏,访问被拒绝 |
ask | 加载前提示用户确认 |
支持通配符: internal-*匹配internal-docs、internal-tools等。
{
"agent": {
"plan": {
"permission": {
"skill": {
"internal-*": "allow"
}
}
}
}
}{
"agent": {
"plan": {
"tools": {
"skill": false
}
}
}
}<available_skills> 部分将完全不出现在该 Agent 的工具描述中。
对于不确定的翻译,用括号标注原文。| 现象 | 原因 | 解决 |
|---|---|---|
| Skill 加载不了 | SKILL.md 大小写不对 | 必须全大写 SKILL.md |
| Skill 不显示 | frontmatter 缺字段 | 必须包含 name 和 description |
| 任务匹配但不触发 | description 太模糊 | 增加具体能力、场景、边界描述 |
| 同名 Skill 冲突 | 多处定义同名 | 后加载的覆盖先加载的,检查日志警告 |
| 被拒绝访问 | 权限设为 deny | 检查 permission 配置 |
| Skill 目录不识别 | 目录名拼写问题 | skill/ 和 skills/ 都支持 |
skill/<name>/SKILL.md + references/下一课我们将深入 Skill 进阶用法:渐进式披露的三层结构、可执行脚本、创建流程、测试验证和真实案例。