📖 3.1 什么是 Skills?
Skills(技能)是 OpenCode 中的预定义工具集,可以被加载和执行。 Skills 本质上是包含指令和代码的 YAML 文件,定义了特定任务的执行方式。
💡 核心概念:
Skills = 预定义的工具集 = 可复用的自动化模块
🔧 3.2 使用 Skills
在对话中使用 skill 工具加载技能:
// 加载并执行 skill
@skill playwright 请帮我创建一个登录测试脚本
@skill web-crawler 抓取这个小说的所有章节
@skill notebooklm 创建关于 AI 的学习笔记
🛠️ 3.3 创建自定义 Skill
在项目目录或 ~/.config/opencode/skills/ 下创建 skill.yaml 文件:
// my-custom-skill/skill.yaml
name: my-custom-skill
description: A custom skill for data processing
version: 1.0.0
author: Your Name
instructions: |
你是一个数据处理专家。
你的任务是帮助用户处理和分析数据。
请使用清晰的语言解释你的处理步骤。
parameters:
- type: input_data
description: 要处理的数据
required: true
- type: output_format
description: 输出格式
default: json
examples: |
用户: 请帮我处理这个 CSV 文件
助手: 好的,我来帮你处理数据...
allowed_tools:
- read
- write
- grep
📂 3.4 Skills 目录结构
标准的 Skill 目录结构:
// Skill 目录结构
my-skill/
├── skill.yaml # Skill 配置文件(必需)
├── README.md # 使用说明
├── src/ # 源代码目录│ ├── main.py
│ └── utils.py
├── static/ # 静态资源
├── templates/ # 模板文件
└── requirements.txt # 依赖配置
📊 3.5 实际案例
你的 codebase 中的 Skills:
🎬 playwright
浏览器自动化测试和网页交互。
🕷️ web-crawler
网页内容抓取和数据采集。
📓 notebooklm
NotebookLM 自动化集成。
🎨 baoyu-xhs-images
小红书图片生成技能。
✅ 本章小结
- 理解 Skills 的概念和用途
- 学会在对话中使用 Skills
- 掌握创建自定义 Skill 的方法
- 了解 Skills 目录结构