核心流程
理解意图 → 编写技能 → 测试 → 评估 → 优化 → 打包
skill-creator 是用于创建、改进和测试 AI 技能的技能。它的核心是:帮助你从零创建新的 AI 技能,迭代优化,并量化评估技能表现。
作为 AI 开发者,你可能遇到过:
skill-creator 就是解决这些的。
技能 = 最佳实践的封装
创建技能后:- 团队成员可以直接使用- 保证输出质量一致- 减少重复工作之前:- "感觉效果还行"- 主观判断,不可靠
之后:- 量化指标- 可对比- 可追踪改进技能创建是一个迭代过程:- 创建 → 测试 → 评估 → 改进 → 重复- 逐步接近完美首先理解用户想要什么:
1. 这个技能让 AI 能做什么?2. 什么时候触发?(用户说什么时)3. 期望的输出格式是什么?4. 需要测试用例吗?
检查点:- [ ] 用户想实现什么?- [ ] 触发条件是什么?- [ ] 输出格式?- [ ] 需要测试用例?主动询问:
1. 边界情况2. 输入/输出格式3. 示例文件4. 成功标准5. 依赖项
不要急着写,先问清楚!技能文件结构:
skill-name/├── SKILL.md (必需)│ ├── YAML frontmatter (name, description)│ └── Markdown 指令└── Bundled Resources (可选) ├── scripts/ - 可执行脚本 ├── references/ - 参考文档 └── assets/ - 资源文件创建 2-3 个测试用例:
格式:```json{ "skill_name": "example-skill", "evals": [ { "id": 1, "prompt": "用户的任务描述", "expected_output": "期望结果", "files": [] } ]}原则:
## 评估流程
### 1. 运行测试同时运行两组测试:
A. 使用技能的版本 B. 不使用技能(baseline)
重要:
### 2. 量化评估创建断言(assertions):
好的断言:
示例:
### 3. 收集反馈用户评估维度:
### 4. 迭代优化改进循环:
## 技能结构详解
### Frontmatter
```yaml---name: skill-namedescription: | 技能描述:做什么的。 触发条件:什么时候使用。 确保描述稍微"强制"一点, 以提高触发率。---使用祈使句:
✅ 正确:- "使用 XXX 格式"- "先做 A,再做 B"
❌ 错误:- "你可以考虑使用"- "也许应该"## 输出格式必须使用此模板:# [标题]## 摘要## 详细内容## 提交信息格式**示例:**Input: 添加了用户认证Output: feat(auth): 实现基于 JWT 的认证技能加载层级:
1. Metadata(name + description) - 始终在上下文 (~100词)
2. SKILL.md 正文 - 触发时加载 (<500行)
3. Bundled resources - 按需加载(无限制)应该触发技能的用例:
原则:- 覆盖不同表述方式- 正式/口语化都要有- 包含不明显的情况
示例:- "帮我处理这个 PDF"- "老板让我把这个文档转成文字"- "能从这个文件提取内容吗"不应该触发技能的用例:
原则:- 相邻领域- 模糊表述- 关键字相似但需求不同
示例:- "写一首关于 PDF 的诗"(不需要处理PDF)- "给我讲个故事"(不需要文档处理)description 是触发的主要机制
AI 决定是否使用技能时:- 只看到 name + description- 描述越好,触发越准1. 生成 20 个测试查询 - 10 个应该触发 - 10 个不应该触发
2. 混合 60% 训练 / 40% 测试
3. 运行优化循环(最多5次)
4. 选择测试集上表现最好的描述需求:用户想要一个处理 PDF 的技能
步骤 1:理解意图
步骤 2:编写 SKILL.md
---name: pdf-processordescription: | 处理 PDF 文档的技能。 当用户提到 PDF、文档提取、PDF 转文字时使用。 包括:读取、提取、转换 PDF 内容。---步骤 3:创建测试用例
{ "evals": [ { "prompt": "提取这个 PDF 的文字内容", "expected_output": "提取的文本" }, { "prompt": "把 PDF 转成图片", "expected_output": "图片文件" } ]}场景:用户的代码审查技能效果不好
分析:
改进:
验证:
原因:description 不够"强制"
解决:- 让描述更有针对性- 添加更多触发关键词- 提供具体场景原因:测试用例不够全面
解决:- 增加测试用例数量- 覆盖边界情况- 多次运行取平均原则:- 客观可验证 → 量化评估- 主观判断 → 用户反馈
结合使用:- 量化指标(通过率、耗时)- 用户主观评价核心流程
理解意图 → 编写技能 → 测试 → 评估 → 优化 → 打包
文件结构
SKILL.md + scripts/ + references/
测试要点
优化迭代
agents/grader.md - 评估断言agents/comparator.md - 盲对比agents/analyzer.md - 结果分析references/schemas.md - JSON 模式查看源文件: GitHub原始文件