OpenCode Skills 使用指南:让你的 AI 编程助手更聪明
嘿,各位开发者朋友们!今天咱们来聊聊 OpenCode 的 Skills 功能,这玩意儿可是让 OpenCode 从一个普通的 AI 编程助手变身成你专属编程专家的关键所在。
说实话,刚接触 OpenCode 的时候,我也觉得它挺厉害的,能写代码、修 Bug、重构代码。但用了一段时间后,我发现一个问题——有时候它给出的建议不太符合我项目的具体规范,或者对一些特定框架的处理方式不是我想要的。
这时候,Skills 就派上用场了!
什么是 Skills?
简单来说,Skills 就是给 OpenCode 装载的"技能包"。你可以在自己的项目或者主目录下定义各种可复用的指令,让 OpenCode 学会这些技能,下次遇到相关任务时就能自动调用相应的技能来处理。
举个例子,你可以创建一个 React 优化技能,专门告诉 OpenCode 如何按照你团队的最佳实践来优化 React 组件;或者创建一个数据库迁移技能,让它知道你公司是怎么处理数据库 schema 变更的。
怎么创建一个 Skill?
创建 Skill 其实超简单,核心就是创建一个 SKILL.md 文件。步骤如下:
1. 创建技能目录
在你的项目里,先建一个 .opencode/skills/ 目录。比如你想创建一个 React 优化技能,路径就是:.opencode/skills/react-optimizer/
2. 编写 SKILL.md
在那个目录下创建 SKILL.md 文件,在里面详细描述这个技能的使用场景和具体指令。大概这样写:
# React 性能优化技能
## 什么时候用这个技能
- 用户请求优化 React 组件性能时
- 需要重构 React 代码以提升渲染效率时
- 需要检查 React 代码是否存在性能问题时
## 如何优化
1. 首先检查是否使用了 React.memo() 优化函数组件
2. 检查是否有不必要的 re-render,使用 useCallback 和 useMemo 优化
3. 检查列表渲染是否添加了稳定的 key
4. 检查是否可以使用代码分割和懒加载
## 我们的代码风格规范
- 组件文件使用 PascalCase 命名
- 每个 hook 单独一行导出
- 使用 ESLint 和 Prettier 规范代码格式
Skill 放在哪里?
OpenCode 会在几个地方自动搜索 Skills:
项目本地路径
OpenCode 会从当前工作目录开始,向上遍历直到找到 git worktree 根目录,沿途搜索 .opencode/skills/*/SKILL.md 文件。
全局路径
你还可以在主目录下创建全局 Skills,路径是 ~/.claude/skills/*/SKILL.md。这样所有项目都能用上这些技能。
Skills 怎么自动激活?
这个是最神奇的地方!你不需要手动告诉 OpenCode 该用哪个技能,它会自己分析你的请求,然后自动匹配最合适的技能。
比如你说"帮我优化这个 React 组件",OpenCode 会检测到"React"、"优化"这些关键词,然后自动激活我们刚才创建的 react-optimizer 技能,按照 SKILL.md 里的指令来处理任务。
一些实用建议
从我的使用经验来看,有几点小建议分享给大家:
技能描述要具体
在 SKILL.md 的开头,清楚地说明这个技能适用的场景,这样 OpenCode 才能准确判断何时使用它。
一个技能一个专注点
别试图在一个 Skill 里塞太多内容,每个技能专注解决一类问题,这样更容易维护和复用。
善用全局技能
对于通用的最佳实践,放在全局技能目录里,这样所有项目都能受益。比如代码风格规范、安全检查等。
迭代优化
Skills 不是写一次就完了,随着项目的发展,记得定期更新 SKILL.md 内容,让 OpenCode 跟上你的最新需求。
总结
Skills 功能真的是 OpenCode 的点睛之笔。它让 AI 编程助手不再是千篇一律的通用工具,而是能够理解你项目特定需求的个性化助手。
刚开始可能觉得配置 Skills 有点麻烦,但相信我,一旦你建立起了自己的技能库,开发效率会有显著提升。OpenCode 会越来越懂你的项目,给出的建议也会越来越符合你的期望。
好了,今天的分享就到这里。如果你也在用 OpenCode,不妨试试 Skills 功能,让你的 AI 编程助手变得更聪明、更懂你!有问题的话欢迎在评论区交流~