Skill 创作教程
这是比赛中最推荐的贡献方式 — 门槛最低,用自然语言就能完成。
什么是 Skill?
Skill 是云雀 Agent 的"技能"。你可以教 Agent 做一件具体的事情,比如:
- 帮你写周报
- 翻译学术论文摘要
- 生成考试复习大纲
- 分析 CSV 数据并画图
Skill 的核心是一个 SKILL.md 文件 — 用自然语言告诉 AI "你要做什么、怎么做"。
方法一:用界面直接生成(最简单)
- 打开云雀 Web UI(
http://localhost:9090) - 在对话中告诉 Agent:
帮我创建一个技能:[你想让 AI 做的事情]例如:
帮我创建一个技能:根据课程名称和知识点列表,生成一份包含选择题、填空题和简答题的考试试卷- Agent 会自动生成 Skill 并保存到
data/skills/目录 - 在「技能」页面可以看到新创建的 Skill
方法二:手动创建 Skill 文件(推荐提交方式)
在 data/skills/ 下创建一个目录:
data/skills/
exam-generator/ ← 你的 Skill 目录名
SKILL.md ← (必须) 核心指令文件
meta.json ← (可选) 元信息
scripts/ ← (可选) 辅助脚本
helper.pySKILL.md 怎么写
这是你的 Skill 的"大脑"。用自然语言描述 AI 应该怎么执行这个技能。
示例:考试试卷生成器
markdown
# 考试试卷生成器
## 任务
根据用户提供的课程名称和知识点,生成一份完整的考试试卷。
## 输入
- 课程名称
- 知识点列表(逗号分隔)
- 题目数量(可选,默认 20 题)
- 难度等级(可选:简单/中等/困难,默认中等)
## 输出格式
生成的试卷应包含以下部分:
### 一、选择题(每题 2 分)
- 4 个选项,1 个正确答案
- 数量:总题数的 40%
### 二、填空题(每题 3 分)
- 数量:总题数的 30%
### 三、简答题(每题 10 分)
- 数量:总题数的 30%
## 要求
1. 题目内容准确,符合该课程的教学大纲
2. 难度分布合理(简单 30%,中等 50%,困难 20%)
3. 每道题后附带答案和解析
4. 试卷末尾附带评分标准示例:周报生成器
markdown
# 周报生成器
## 任务
根据用户本周的工作内容,生成一份结构化的周报。
## 输入
用户口述或列举本周做了什么。
## 输出格式
### 本周工作总结
- 按项目/模块分类列出完成的工作
- 每项工作注明进度百分比
### 遇到的问题
- 列出阻塞项和解决方案
### 下周计划
- 基于本周进度推断下周重点
## 要求
1. 语言正式但不啰嗦
2. 用 Markdown 表格展示进度
3. 如果用户没提到问题,主动询问meta.json 怎么写(可选)
json
{
"name": "exam-generator",
"description": "根据课程和知识点生成考试试卷",
"version": "1.0.0",
"author": "你的名字",
"tags": ["教育", "考试", "出题"],
"parameters": {
"course": {
"type": "string",
"description": "课程名称",
"required": true
},
"topics": {
"type": "string",
"description": "知识点列表,逗号分隔",
"required": true
},
"count": {
"type": "number",
"description": "题目数量",
"required": false
}
}
}辅助脚本(可选)
如果你的 Skill 需要执行代码(比如画图、数据处理),可以在 scripts/ 下放 Python 脚本:
python
# scripts/plot_score.py
import matplotlib.pyplot as plt
import sys, json
data = json.loads(sys.argv[1])
plt.bar(data.keys(), data.values())
plt.title("成绩分布")
plt.savefig("score_distribution.png")
print("图表已保存: score_distribution.png")在 SKILL.md 中引用即可:
markdown
如果需要可视化成绩分布,使用 scripts/plot_score.py 脚本。提交到比赛
- Fork Yunque-Agent 仓库
- 在
data/skills/下创建你的 Skill 目录 - 提交 PR,标题格式:
feat(skill): 添加 [技能名称] - PR 描述中写清楚:
- 这个 Skill 做什么
- 使用场景
- 测试截图(在云雀中调用该 Skill 的截图)
Skill 创意参考
| 方向 | Skill 创意 |
|---|---|
| 学习 | 知识点总结器、错题分析、论文摘要翻译 |
| 生活 | 菜谱推荐、日程规划、旅行攻略 |
| 工作 | 周报生成、会议纪要、邮件润色 |
| 代码 | 代码审查助手、API 文档生成、SQL 查询优化 |
| 创作 | 文案生成、短视频脚本、小红书文案 |
常见问题
Q: SKILL.md 写多长合适? A: 200-500 字最佳。太短 AI 不知道怎么做,太长 AI 容易迷失重点。
Q: 我不会写代码,能做 Skill 吗? A: 完全可以!SKILL.md 就是自然语言,不需要任何编程知识。辅助脚本是可选的。
Q: 怎么测试我的 Skill? A: 把 Skill 文件夹放到 data/skills/ 下,在技能页面点击扫描按钮,然后在对话中调用。
Q: 一个人可以提交多个 Skill 吗? A: 可以!多个 Skill 放在一个 PR 里即可。