# Skill Creator

> 元技能：创建、测试、优化 Agent Skills。当用户说'帮我创建一个 skill'、'怎么写 SKILL.md'、'优化这个 skill'、'测试 skill 效果'、'skill 触发不准'、'写一个新的 skill'、'skill 怎么不生效'时触发此 Skill。核心能力：Skill 设计→SKILL.md 编写→测试用例生成→Eval 运行→迭代优化→description 调优。

- Skill: `gaoqiongxie/skill-creator` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gaoqiongxie/skill-creator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gaoqiongxie/skill-creator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: gaoqiongxie (https://skillmd.com/u/gaoqiongxie)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/gaoqiongxie/skill-creator

---


> **来源**: Anthropic 官方 Skills (anthropics/skills)
>
> **发布时间**: 2026-04-29
>
> **理念**: "授人以鱼不如授人以渔——学会创建 skill，你就拥有了无限扩展 AI 能力的方法。"

# 🛠️ Skill 创造者

从零创建一个高质量的 Agent Skill，或优化已有的 Skill。

---

## 🎯 什么时候用

| 场景 | 示例 |
|------|------|
| 创建新 Skill | "帮我做个翻译 skill" |
| 优化现有 Skill | "这个 skill 触发不准，帮我调" |
| 测试 Skill | "怎么知道我的 skill 好不好用" |
| 修复问题 | "skill 不生效，帮我排查" |
| 学习规范 | "SKILL.md 怎么写才对" |

---

## 🔄 创建 Skill 的 6 步流程

### Step 1：定义（Decide）

回答 3 个核心问题：
- **解决什么问题？** — Skill 的核心价值
- **什么时候触发？** — 用户的说法/场景
- **有什么独特原则？** — 和其他方案的区别

**好例子：**
```
问题：选择困难症不知道吃什么
触发："吃什么"、"帮我选外卖"、"中午吃啥"
原则：根据预算/口味/人数快速决策，不纠结
```

---

### Step 2：起草（Draft）

创建标准目录结构：
```
your-skill-name/
├── SKILL.md              # ⭐ 核心文件
└── references/            # 可选：参考资料
    └── xxx.md
```

#### SKILL.md 格式

```markdown
---
name: "skill-english-name"          # 英文，中划线连接
description: >                      # > 表示多行字符串
  一句话描述这个 Skill 做什么。
  什么时候应该触发它（关键词）。
  核心特点/原则是什么。
---

# 标题

详细说明...
```

#### description 编写技巧（最关键！）

description 决定 Skill 的触发准确度，必须包含：
1. **功能描述** — 做什么
2. **触发场景** — 什么情况下用
3. **核心原则** — 独特价值

**好例子：**
```
"帮助用户快速做出外卖选择，告别选择困难症。适用于纠结吃什么、点外卖选择困难、不知道吃什么等场景。根据预算、口味偏好、人数快速推荐具体餐厅和菜品，不做泛泛而谈。"
```

**坏例子：**
```
"这是一个食物选择的 skill。"  # ❌ 太简单，触发不准
```

---

### Step 3：测试（Test）

生成 5-10 个测试用例，覆盖：
- ✅ 应该触发的场景（正面案例）
- ❌ 不应该触发的场景（负面案例）

**测试用例模板：**
```
正面：
1. "两个人吃，100块预算，想吃辣的" → 应该触发 food-picker
2. "中午吃什么好纠结" → 应该触发 food-picker

负面：
1. "怎么做红烧肉" → 不应该触发（这是菜谱，不是选择）
2. "帮我写代码" → 不应该触发（完全无关）
```

---

### Step 4：评估（Evaluate）

运行测试，记录结果：

| 用例 | 预期 | 实际 | 结果 |
|------|------|------|------|
| "吃啥" | 触发 | 触发 | ✅ |
| "怎么做菜" | 不触发 | 触发了 | ❌ |

---

### Step 5：迭代（Iterate）

根据评估结果优化：

**触发过度（不该触发时触发了）：**
- 在 description 中增加排除条件
- 更精确地描述触发边界

**触发不足（该触发时没触发）：**
- 增加更多触发关键词
- 扩展 description 的场景描述

**优化技巧：**
- description 长度控制在 150-300 字
- 使用具体的动词和名词，避免抽象描述
- 包含用户原话式的表达

---

### Step 6：规模化（Scale）

- 扩展到 20-50 个测试用例
- 让不同用户试用收集反馈
- 记录常见误触发场景持续优化

---

## 🧪 Eval 框架（自动化测试）

### 简单版：手动测试清单

```markdown
## 测试清单

- [ ] 正面用例 1：xxx → 预期触发
- [ ] 正面用例 2：xxx → 预期触发
- [ ] 负面用例 1：xxx → 预期不触发
- [ ] 边界用例：xxx → 预期?
```

### 进阶版：自动化 Eval

```python
# eval_skill.py
import json

test_cases = [
    {"input": "吃什么", "should_trigger": True},
    {"input": "帮我写周报", "should_trigger": False},
]

for case in test_cases:
    result = test_skill(case["input"])
    status = "✅" if result == case["should_trigger"] else "❌"
    print(f"{status} {case['input']}")
```

---

## 🐛 常见问题排查

| 问题 | 原因 | 解决方案 |
|------|------|---------|
| Skill 完全不触发 | description 太模糊 | 增加具体关键词和场景描述 |
| Skill 总是误触发 | description 太宽泛 | 增加排除条件和边界说明 |
| Skill 触发不稳定 | 关键词冲突 | 检查和其他 skill 的 description 重叠 |
| 格式错误 | frontmatter 语法错 | 检查 `---` 位置和缩进 |
| 不生效 | 路径/命名问题 | 确保文件夹名和 name 字段一致，用中划线 |

---

## 📝 最佳实践

### DO（要做）
- ✅ description 包含"当用户说...时触发"
- ✅ 提供具体示例（用户原话）
- ✅ 一个 Skill 只做一件事，做到极致
- ✅ 使用 `references/` 存放详细参考资料
- ✅ 持续迭代优化 description

### DON'T（不要做）
- ❌ 一个 Skill 试图做所有事
- ❌ description 只有一句话
- ❌ 复制粘贴别人的 description
- ❌ 忽略负面测试用例
- ❌ 创建后不再优化

---

## 🎓 示例：从 0 创建 "food-picker"

### v1 草稿
```markdown
---
name: "food-picker"
description: "帮助选择食物"
---
```
**问题**：太简单，触发不准

### v2 优化
```markdown
---
name: "food-picker"
description: "帮助用户快速做出外卖选择，告别选择困难症。适用于纠结吃什么、点外卖选择困难、不知道吃什么等场景。根据预算、口味偏好、人数快速推荐具体餐厅和菜品。"
---
```
**改进**：增加了场景、关键词、具体价值

### v3 最终版
```markdown
---
name: "food-picker"
description: >
  帮助用户快速做出外卖/就餐选择，专治选择困难症。
  当用户说"吃什么"、"帮我选外卖"、"中午吃啥"、"不知道吃什么"、
  "两个人吃什么"、"有推荐吗"等时触发。
  根据预算、口味偏好（辣/清淡/酸甜等）、就餐人数、地区特色快速给出具体推荐。
  核心原则：不泛泛而谈，直接给出具体选项；不超预算；考虑忌口。"
---
```
**改进**：更详细的触发词、核心原则、边界说明

---

## 🔗 相关 Skill

| Skill | 用途 |
|-------|------|
| **skill-lookup** | 发现热门 Skill |
| **skill-accelerator** | 学习新技能的方法论 |
| **systematic-debugging** | 调试 Skill 本身的问题 |

---

> "创建一个好 Skill 需要 3 次迭代：第一次写出来，第二次测试发现边界，第三次打磨 description。"

