skill-generatorlisted
Install: claude install-skill osren/interview-flashcard
# Skill 生成器
帮助用户按照 Claude Code Skill 规范快速创建、修改和优化 skill 文件。
## 核心流程
创建 skill 的整体流程:
1. **理解意图** — 明确 skill 要做什么、何时触发、输出什么
2. **采访调研** — 深入了解边界情况、输入输出格式、成功标准
3. **编写 SKILL.md** — 根据规范生成 skill 文件
4. **测试验证** — 创建测试用例并运行验证
5. **迭代改进** — 根据反馈优化 skill
---
## 一、Skill 目录结构
每个 skill 必须包含以下结构:
```
skills/
└── {skill-name}/
├── SKILL.md # 主规范文件(必需)
└── references/ # 参考文档目录(可选)
├── xxx.md
└── ...
```
### 三级加载机制
Skill 使用三级加载系统,理解这个机制有助于设计更好的 skill:
| 层级 | 内容 | 加载时机 | 建议 |
|------|------|----------|------|
| **Metadata** | name + description | 始终加载 (~100 词) | description 要精准、pushy |
| **SKILL.md body** | Markdown 正文 | skill 触发时加载 | 控制在 500 行以内 |
| **Bundled resources** | references/ 下的文件 | 按需加载 | 无限制,用于详细文档 |
**关键原则**:
- SKILL.md 控制在 500 行以内,过长时拆分到 `references/`
- 在 SKILL.md 中明确指引何时读取哪个 reference 文件
- 大型 reference 文件(>300 行)应包含目录
---
## 二、编写 SKILL.md
### Frontmatter(YAML 格式)
```yaml
---
name: skill-name # skill 标识符,小写,用 - 连接单词
description: skill 描述,说明何时使用、触发关键词、核心能力
---
```
**description 编写要点**(非常重要!):
1. **要"pushy"一些**:Claude 倾向于"undertrigger" skill,即该用的时候不用。所以 description 要主动一些。
❌ 太被动:
> "如何构建一个简单的仪表盘来显示内部数据。"
✅ 更主动:
> "如何构建一个简单的仪表盘来显示内部数据。只要用户提到仪表盘、数据可视化、内部指标,或想展示任何公司数据,都应该使用此 skill,即使没有明确说『仪表盘』。"
2. **包含触发场景**:说明在什么上下文、什么关键词下应该触发
3. **包含核心能力**:简要说明 skill 能做什么
4. **包含同义词/变体**:用户可能使用的不同表述方式
### 正文结构
```markdown
# Skill 标题
简短描述 skill 的作用(1-2 句话)。
## 核心能力
- 能力 1
- 能力 2
## 工作流程
### Step 1: 步