技能创建器(Skill Creator)
概述
Anthropic 官方的技能创建指南。系统化地引导你从零构建高质量的 Claude 技能,覆盖从需求定义到打包发布的完整流程。
技能是什么
技能为 Claude 提供:
- 专业工作流:特定领域的步骤化指导
- 工具集成:通过 MCP 或脚本连接外部服务
- 领域专长:将专家知识编码为可复用的指令
- 捆绑资源:脚本、参考文档、模板等附件
核心设计原则
简洁性
上下文窗口是公共资源。技能应尽可能精简,只包含完成任务所需的最少信息。
适度的自由度
过于死板的技能无法适应真实场景。给 Claude 留出合理的判断空间。
渐进式披露(Progressive Disclosure)
三层加载机制,最大化 token 效率:
| 层级 | 内容 | 加载时机 |
|---|---|---|
| 第一层 | YAML 前置元数据(frontmatter) | 始终加载到系统提示 |
| 第二层 | SKILL.md 正文 | Claude 判断技能相关时加载 |
| 第三层 | references/ 等外部文件 | 按需读取 |
技能文件结构
your-skill-name/
├── SKILL.md # 必须 — 主技能文件
├── scripts/ # 可选 — 可执行脚本
│ ├── process_data.py
│ └── validate.sh
├── references/ # 可选 — 参考文档
│ ├── api-guide.md
│ └── examples/
└── assets/ # 可选 — 模板、图标等
└── report-template.md
技能创建六步法
步骤 1:理解技能
用具体例子定义技能的使用场景。写出 2-3 个用户会说的真实请求。
步骤 2:规划可复用内容
确定哪些指导是通用的(放入 SKILL.md),哪些是专业参考(放入 references/)。
步骤 3:初始化技能
创建文件夹结构,编写 YAML 前置元数据:
---
name: your-skill-name # kebab-case,必须
description: > # 必须:做什么 + 何时用
描述技能功能和触发条件。
包含用户可能说的具体短语。
---
步骤 4:编写 SKILL.md
- 顶部放最关键的指令
- 使用编号步骤和清晰结构
- 用
## Important/## Critical标记关键信息 - 引用捆绑资源时写清路径
步骤 5:打包技能
- 文件夹命名用 kebab-case
- SKILL.md 大小写必须精确
- 不要在技能文件夹内放 README.md
- 保持 SKILL.md 在 5000 词以内
步骤 6:迭代优化
基于实际使用反馈持续改进:
| 信号 | 含义 | 对策 |
|---|---|---|
| 技能该触发时未触发 | 描述不够具体 | 补充触发短语和关键词 |
| 不相关时触发 | 描述过于宽泛 | 添加负面触发条件 |
| 执行结果不一致 | 指令不够明确 | 改进步骤描述,增加错误处理 |
YAML 前置元数据字段
| 字段 | 必须 | 说明 |
|---|---|---|
name |
✅ | kebab-case,匹配文件夹名 |
description |
✅ | 做什么 + 何时用,< 1024 字符 |
license |
❌ | 如 MIT、Apache-2.0 |
allowed-tools |
❌ | 限制工具访问 |
metadata |
❌ | 自定义键值对(author、version 等) |
最佳实践
- 代码比语言更可靠:关键验证用脚本而非纯语言描述
- 先迭代一个任务:在对话中把一个困难任务做对,然后提取成技能
- 描述字段是最重要的部分:它决定 Claude 何时加载你的技能
- 技能是活文档:计划持续迭代,不是一次写完