5.3a Skill 基础
💡 一句话总结:掌握 Skill 的基本概念和创建方法,封装可复用的复杂指令。
学完你能做什么
- 理解 Skill 的概念和作用
- 能创建基础的 Skill
- 能配置 Skill 的参数
- 能使用和管理 Skill
🎒 开始前的准备
确保你已经完成以下事项:
- [ ] 了解 AGENTS.md 的基本结构
- [ ] 有使用 OpenCode 的经验
核心思路
什么是 Skill
Skill = 可复用的指令集
Skill 是一个封装好的指令集合,可以:
- 被多个 Agent 共享
- 支持参数化配置
- 实现复杂的工作流程
- 保持一致性
Skill vs Agent
| 特性 | Agent | Skill |
|---|---|---|
| 范围 | 完整的人格和角色 | 特定的功能或任务 |
| 复杂度 | 高 | 低到中 |
| 复用性 | 需要配置 | 高 |
| 参数化 | 角色描述固定 | 支持动态参数 |
Skill 配置结构
yaml
skills:
my-skill:
name: "我的技能"
description: "一个实用的技能"
category: "development"
parameters:
- name: "input"
type: "string"
required: true
description: "输入内容"
- name: "format"
type: "string"
required: false
default: "json"
description: "输出格式"
workflow: |
1. 接收输入参数
2. 处理数据
3. 返回结果
examples:
- input: "hello"
output: "收到: hello"常用配置项
基础配置
yaml
skills:
basic-skill:
name: "基础技能"
description: "一个简单的技能示例"
category: "general"
version: "1.0.0"
author: "your-name"参数配置
yaml
skills:
parameterized-skill:
name: "参数化技能"
description: "支持多种参数的技能"
parameters:
- name: "text"
type: "string"
required: true
description: "要处理的文本"
- name: "max_length"
type: "number"
required: false
default: 100
description: "最大长度"
- name: "uppercase"
type: "boolean"
required: false
default: false
description: "是否转大写"
- name: "options"
type: "array"
required: false
default: []
description: "选项列表"输出配置
yaml
skills:
output-skill:
name: "输出控制技能"
description: "控制输出格式的技能"
output:
format: "markdown"
max_length: 2000
include_examples: true
style:
code_block: true
syntax_highlight: true跟我做
实战 1:创建一个代码格式化 Skill
目标:创建一个格式化代码的 Skill
yaml
skills:
format-code:
name: "代码格式化"
description: "格式化各种编程语言的代码"
category: "development"
parameters:
- name: "code"
type: "string"
required: true
description: "需要格式化的代码"
- name: "language"
type: "string"
required: false
default: "auto"
description: "编程语言"
- name: "style"
type: "string"
required: false
default: "standard"
description: "格式化风格"
workflow: |
1. 接收代码和参数
2. 检测或使用指定的语言
3. 应用格式化规则
4. 返回格式化后的代码
examples:
- input: |
function hello( ) {return"world"}
parameters:
language: "javascript"
style: "standard"
output: |
```javascript
function hello() {
return "world";
}
```实战 2:创建一个文档生成 Skill
目标:根据代码生成文档
yaml
skills:
generate-docs:
name: "文档生成器"
description: "根据代码自动生成文档"
category: "documentation"
parameters:
- name: "file_path"
type: "string"
required: true
description: "代码文件路径"
- name: "output_format"
type: "string"
required: false
default: "markdown"
description: "输出格式"
- name: "include_examples"
type: "boolean"
required: false
default: true
description: "是否包含示例"
workflow: |
1. 读取代码文件
2. 解析代码结构
3. 提取注释和接口
4. 生成文档
5. 返回文档内容📋 Skill 模板库
模板 1:数据处理
yaml
skills:
data-processor:
name: "数据处理器"
description: "处理和分析数据"
category: "data"
parameters:
- name: "data"
type: "string"
required: true
description: "输入数据"
- name: "operation"
type: "string"
required: true
description: "操作类型"
options:
- "sort"
- "filter"
- "aggregate"
- "transform"模板 2:API 调用
yaml
skills:
api-caller:
name: "API 调用器"
description: "简化 API 调用流程"
category: "network"
parameters:
- name: "url"
type: "string"
required: true
description: "API 地址"
- name: "method"
type: "string"
required: false
default: "GET"
description: "HTTP 方法"
- name: "headers"
type: "object"
required: false
default: {}
description: "请求头"
- name: "body"
type: "string"
required: false
description: "请求体"检查点 ✅
全部通过才能继续
- [ ] 理解 Skill 的概念
- [ ] 能创建基础 Skill
- [ ] 能配置参数
- [ ] 能使用 Skill
本课小结
你学会了:
- Skill 的基本概念
- Skill 配置结构
- 创建了两个实用 Skill
- Skill 模板库
下一课预告
下一课我们将学习 Skill 进阶,掌握更高级的配置和使用方法。
📚 更多完整模板:Prompt 模板库

