Skip to content

Skill 创作教程

这是比赛中最推荐的贡献方式 — 门槛最低,用自然语言就能完成

什么是 Skill?

Skill 是云雀 Agent 的"技能"。你可以教 Agent 做一件具体的事情,比如:

  • 帮你写周报
  • 翻译学术论文摘要
  • 生成考试复习大纲
  • 分析 CSV 数据并画图

Skill 的核心是一个 SKILL.md 文件 — 用自然语言告诉 AI "你要做什么、怎么做"。

方法一:用界面直接生成(最简单)

  1. 打开云雀 Web UI(http://localhost:9090
  2. 在对话中告诉 Agent:
帮我创建一个技能:[你想让 AI 做的事情]

例如:

帮我创建一个技能:根据课程名称和知识点列表,生成一份包含选择题、填空题和简答题的考试试卷
  1. Agent 会自动生成 Skill 并保存到 data/skills/ 目录
  2. 在「技能」页面可以看到新创建的 Skill

方法二:手动创建 Skill 文件(推荐提交方式)

data/skills/ 下创建一个目录:

data/skills/
  exam-generator/          ← 你的 Skill 目录名
    SKILL.md               ← (必须) 核心指令文件
    meta.json              ← (可选) 元信息
    scripts/               ← (可选) 辅助脚本
      helper.py

SKILL.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 脚本。

提交到比赛

  1. Fork Yunque-Agent 仓库
  2. data/skills/ 下创建你的 Skill 目录
  3. 提交 PR,标题格式:feat(skill): 添加 [技能名称]
  4. 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 里即可。

© 2025 云鸢科技(青岛)有限公司 × Dream Lab