目录

OpenCode Skills 安装指南:手动配置专业技能包扩展

本文将教你:

  • 什么是 OpenCode Skills 及其作用
  • 如何创建标准的 Skills 目录结构
  • 如何导入和验证技能包
  • 常见问题的故障排查
  • 如何创建自定义技能包

什么是 OpenCode Skills?

OpenCode Skills 是 OpenCode 的模块化扩展机制,通过结构化的指令包为 AI 助手注入特定领域的专业知识和工作流程。每个 Skill 封装了行业最佳实践、检查清单和执行模板,使 OpenCode 能够像领域专家一样执行任务。常见的 Skills 包括 SEO 审计、代码审查、测试编写、API 设计等专业能力。

本文将介绍如何为 OpenCode 助手安装自定义 Skills(技能包),以扩展其功能。

安装步骤

1. 创建配置目录

在你的项目根目录下,需要构建标准的目录结构来存放技能文件。

  1. 首先在项目根目录创建一个名为 .opencode 的文件夹。
  2. 在 .opencode 文件夹内,再创建一个名为 skills 的子文件夹。

如果你使用的是命令行,可以运行以下命令:

mkdir -p .opencode/skills

2. 导入技能包

将你获取到的技能包文件夹(例如 seo-review 或其他自定义技能)直接复制到刚才创建的 .opencode/skills/ 目录下。

安装后的推荐目录结构如下所示:

Project_Root/
├── .opencode/
│   └── skills/
│       └── your-custom-skill/  <-- 你的技能包文件夹
│           ├── SKILL.md
│           └── ...
└── ...

验证安装

安装完成后,你可以通过与 OpenCode 对话来验证技能是否被成功加载。

  1. 在项目目录下打开 OpenCode 终端。
  2. 输入查询指令,例如:“你有哪些 skills” 或 “列出当前可用技能”。

输出示例

如果安装成功,OpenCode 将会识别并列出可用的技能,如下所示:

> 你有哪些skills

Thinking: 用户问我有哪些skills。根据我的工具描述,我有一个skill工具可以加载特定的技能来获取详细的指导。
让我查看一下available_skills中列出了哪些skills:
根据工具描述,当前可用的skills有:
- seo-review: 对JavaScript概念页面进行专注的SEO审计,以最大化搜索可见性、精选片段优化和排名潜力

我当前有以下可用的skills:
seo-review - 对JavaScript概念页面进行专注的SEO审计,以最大化搜索可见性、精选片段优化和排名潜力

需要使用某个skill时,我会自动加载它来获取特定任务的详细指导。

至此,你已经成功为 OpenCode 安装了新的技能。在后续的对话中,当涉及到相关任务时,OpenCode 会自动加载并运用这些技能。

故障排查

问题 1: OpenCode 无法识别已安装的 Skill

症状: 技能包已复制到 .opencode/skills/ 目录,但查询时 OpenCode 提示没有可用技能。

可能原因:

  • 目录结构不正确
  • 缺少 SKILL.md 文件
  • 权限问题

解决方案:

# 1. 验证目录结构
ls -la .opencode/skills/your-skill/
# 应该看到 SKILL.md 文件

# 2. 检查文件权限
chmod -R 755 .opencode/skills/

# 3. 验证 SKILL.md 格式 (必须以 --- 开头的 YAML frontmatter)
head -n 5 .opencode/skills/your-skill/SKILL.md

# 4. 重启 OpenCode (在项目目录重新启动)
cd /path/to/project
opencode

问题 2: Skill 文件格式错误

症状: OpenCode 启动时报错或技能无法加载。

常见格式错误:

# ❌ 错误 1: 缺少 YAML frontmatter
# Skill: SEO Review
This is my skill...

# ✅ 正确格式:
---
name: seo-review
description: "SEO审计技能"
version: 1.0.0
---
# Skill: SEO Review
# ❌ 错误 2: 文件名不是 SKILL.md
skill.md  # 小写不行
Skill.md  # 大小写错误

# ✅ 正确命名:
SKILL.md  # 必须全大写

问题 3: 技能在对话中不自动触发

症状: 技能已识别,但在相关任务中 OpenCode 不使用该技能。

解决方案:

# 1. 明确指定使用技能
> 请使用 seo-review 技能审查这篇文章

# 2. 检查技能的触发条件 (SKILL.md 中的 triggers 部分)
cat .opencode/skills/seo-review/SKILL.md | grep -A 5 "triggers"

# 3. 使用更明确的提示词
# ❌ 模糊: "检查这篇文章"
# ✅ 明确: "对这篇文章进行 SEO 审计"

常见问题 (FAQ)

Q1: Skills 和 MCP 有什么区别?

A: 两者服务于不同的目的:

特性SkillsMCP
用途提供专业知识和工作流程提供外部工具和数据访问
内容指令、清单、模板API、数据库、命令
触发根据任务类型自动触发根据需要调用工具
示例SEO审计、代码审查文件读写、网络请求

简单来说: Skills 告诉 AI “怎么做”,MCP 给 AI “做事的工具”。

Q2: 在哪里可以找到更多 Skills?

A: 目前 Skills 主要通过以下渠道获取:

  1. 官方仓库: github.com/opencode-ai/skills (示例)
  2. 社区分享: OpenCode 社区论坛
  3. 自己创建: 参考现有 Skills 的格式编写

Q3: 可以同时安装多个 Skills 吗?

A: 可以。在 .opencode/skills/ 目录下创建多个子文件夹即可:

.opencode/skills/
├── seo-review/
│   └── SKILL.md
├── code-review/
│   └── SKILL.md
└── api-design/
    └── SKILL.md

OpenCode 会自动加载所有有效的技能包。

Q4: Skills 会增加 token 消耗吗?

A: 会,但影响可控:

  • Skills 采用渐进式加载,只在需要时注入相关指令
  • 初始加载只读取元数据 (约 100 tokens)
  • 详细指令只在技能触发时加载 (约 500-2000 tokens)
  • 对于简单对话,不会加载任何 Skills 内容

Q5: 如何创建自己的 Skill?

A: 创建自定义 Skill 的基本步骤:

1. 创建目录结构

mkdir -p .opencode/skills/my-custom-skill
cd .opencode/skills/my-custom-skill

2. 创建 SKILL.md 文件

---
name: my-custom-skill
description: "我的自定义技能描述"
version: 1.0.0
author: "Your Name"

triggers:
  - type: keyword
    patterns:
      - "custom task"
      - "special analysis"
---

# My Custom Skill

## 工作流程

1. 步骤一:...
2. 步骤二:...
3. 步骤三:...

## 检查清单

- [ ] 检查项 1
- [ ] 检查项 2

## 示例

[提供具体示例...]

3. 测试验证

# 重启 OpenCode
opencode

# 查询技能
> 你有哪些 skills

# 测试触发
> 执行 custom task

Q6: Skills 支持哪些语言?

A: Skills 的指令可以用任何语言编写 (中文、英文等),因为它们本质上是给 AI 的文本指令。但建议:

  • 使用英文编写更通用 (如果要分享)
  • 使用目标用户的语言 (更易理解)
  • 关键术语保持一致性

相关教程

想要进一步提升 OpenCode 的能力?推荐阅读: