名称: skill-gen 描述: 根据用户需求生成结构化的Claude Code技能。使用当用户要求创建新技能、斜杠命令或想要自动化工作流程时。指导用户完成需求收集、结构生成和验证。
技能生成器
根据用户需求生成结构化的Claude Code技能。
快速入门
要创建新技能,从用户处收集:
- 这个技能应该做什么?
- 一个简短名称(例如:
processing-pdfs、testing-code) - 何时Claude应该使用它?
- 它需要脚本还是仅需指令?
工作流程
步骤1:收集需求
- 目的:技能做什么?
- 触发器:何时激活?(关键词、场景)
- 复杂度:仅指令,还是需要脚本/参考?
- 自由度级别:严格(精确步骤)与灵活(一般指导)?
步骤2:生成技能结构
创建目录:~/.claude/skills/{技能名称}/
{技能名称}/
├── SKILL.md # 必需:主指令(<500行)
├── scripts/ # 可选:可执行代码
│ └── main.py
└── references/ # 可选:详细文档(一级深度)
└── examples.md
步骤3:编写SKILL.md
---
名称: {技能名称}
描述: {用第三人称描述它做什么}。使用当{触发条件}。
---
# {技能标题}
{简要概述 - 假设Claude智能,仅添加它不知道的上下文}
## 快速入门
{最小工作示例或第一步}
## 指令
{逐步指导,具有适当的自由度级别}
## 高级功能
**功能A**:参见[references/feature-a.md](references/feature-a.md)
**功能B**:参见[references/feature-b.md](references/feature-b.md)
步骤4:检查行数并应用渐进式披露
起草SKILL.md后,计算其行数。如果接近或超过500行:
- 通知用户:“SKILL.md有{N}行 — 超过了推荐用于最佳性能的500行限制。”
- 识别可分割部分:详细参考、长示例、高级功能、API文档
- 移动到参考文件:
references/{主题}.md— 保持链接一级深度 - 在SKILL.md中替换为简短摘要加链接:
**高级功能X**:参见[references/feature-x.md](references/feature-x.md) - 为任何超过100行的参考文件添加目录
即使少于500行,如果部分是自包含且仅在特定场景需要,也优先分割。
步骤5:验证
最终确定前,运行验证清单。
命名规则
- 长度:1-64个字符
- 格式:仅小写字母、数字、连字符
- 优先使用动名词形式:
processing-pdfs、testing-code、writing-documentation - 可接受替代:
pdf-processing、process-pdfs - 不允许:以
-开头/结尾、连续--、保留词(anthropic、claude)、XML标签 - 避免:模糊名称(
helper、utils、tools)、过于通用(documents、data) - 必须匹配:文件夹名称
描述规则
- 最大:1024个字符,非空,无XML标签
- 始终第三人称:“处理Excel文件”而非“我能帮助你”或“你可以使用这个”
- 包括两者:它做什么以及何时使用
- 使用关键术语具体:Claude使用描述从100多个技能中选择
好例子:
描述: 从PDF文件中提取文本和表格,填充表单,合并文档。使用当处理PDF文件或用户提到PDF、表单或文档提取时。
描述: 通过分析git差异生成描述性提交消息。使用当用户请求帮助编写提交消息或审查暂存更改时。
避免:“帮助处理文档”、“处理数据”、“对文件进行操作”
核心原则
简洁性
上下文窗口共享。挑战每条信息:
- “Claude真的需要这个解释吗?”
- “我可以假设Claude知道这个吗?”
- “这个段落是否值得其令牌成本?”
仅添加Claude不知道的上下文。
自由度级别
将特异性与任务的脆弱性匹配:
| 自由度 | 使用当 | 示例 |
|---|---|---|
| 高(文本指令) | 多个有效方法,依赖于上下文 | 代码审查指南 |
| 中(伪代码/参数) | 存在首选模式,一些变化可接受 | 报告生成模板 |
| 低(精确脚本) | 脆弱操作,一致性关键 | 数据库迁移 |
渐进式披露
- SKILL.md = 概述 + 导航(目录)
- 参考文件 = 详细内容(按需加载)
- 保持SKILL.md主体在500行以下
- 保持参考从SKILL.md一级深度(无嵌套参考)
- 结构长参考文件(100+行)带有目录
一致术语
选择一个术语并始终使用。不要混合“API端点”/“URL”/“API路由”/“路径”。
模式
带有清单的工作流程
对于复杂多步骤操作:
## 工作流程
复制此清单并跟踪进度:
```
- [ ] 步骤1:分析输入
- [ ] 步骤2:生成计划
- [ ] 步骤3:验证计划
- [ ] 步骤4:执行
- [ ] 步骤5:验证输出
```
反馈循环
运行验证器 → 修复错误 → 重复:
1. 进行更改
2. 验证:`python scripts/validate.py`
3. 如果验证失败:修复问题,返回步骤2
4. 仅当验证通过时继续
模板模式
提供输出格式模板,匹配严格性到需求。
示例模式
为输出质量依赖的技能提供输入/输出对。
条件工作流程
指导通过决策点:
**创建新的?** → 遵循“创建工作流程”
**编辑现有的?** → 遵循“编辑工作流程”
脚本最佳实践
- 显式处理错误 — 不要推给Claude
- 无巫毒常量 — 证明并记录所有值
- 列出依赖 — 指定要安装的包
- 明确执行意图:
- “运行
script.py以提取字段”(执行) - “参见
script.py获取算法”(作为参考阅读)
- “运行
- 在所有文件路径中使用正斜杠(
scripts/helper.py而非scripts\helper.py) - MCP工具引用 — 使用完全限定名称:
ServerName:tool_name
反模式
- 解释Claude已经知道的内容(PDF是什么,库如何工作)
- 提供太多工具/库选项 — 提供默认选项并提供逃生舱口
- 时间敏感信息 — 使用“旧模式”部分带
<details>标签 - 深度嵌套参考(文件 → 文件 → 文件)
- Windows风格路径
- 假设包已安装而无显式安装指令
验证清单
核心质量
- [ ] 名称:仅小写、数字、连字符,1-64字符,无保留词
- [ ] 描述:第三人称、具体、包括做什么+何时,1024字符以下
- [ ] SKILL.md主体在500行以下
- [ ] 附加细节在单独文件中(一级深度)
- [ ] 无时间敏感信息
- [ ] 整个一致术语
- [ ] 具体示例(非抽象)
- [ ] 渐进式披露适当使用
- [ ] 工作流程有明确步骤
脚本(如适用)
- [ ] 脚本显式处理错误
- [ ] 无巫毒常量(所有值证明)
- [ ] 所需包列出并带安装指令
- [ ] 所有路径中使用正斜杠
- [ ] 关键操作的验证/验证步骤
- [ ] 质量关键任务的反馈循环
测试
- [ ] 用真实使用场景测试
- [ ] 在目标模型上工作(Haiku需要更多指导,Opus需要更少)
进一步阅读
评估驱动开发:参见references/eval-driven-development.md以获取构建 → 测试 → 观察 → 迭代循环、两Claude迭代开发和观察模式以在初始创建后改进技能。