Create Skill
帮助创建符合 Claude Code 规范的新 Skill。
重点
能引用当前现成的代码示例的,就不要在SKILL中摘录,而是直接使用 Markdown 链接到文件,代码胜于文档
SKILL 最重要的是阐述模式与概念及最佳实践,首先要讲清为何如此来做,其次介绍最佳实践,至于如何操作的具体步骤,参考上述表达,引用示例文件即可
如果待创建的 SKILL 在当前项目中尚无示例文档,那说明这个SKILL尚未经过当前项目实践验证,它不具备独立成为SKILL的必要条件,应该拒绝创建
SKILL 主体内容应该是分步描述当前这个 SKILL 如何执行,在每一步可以参考哪些文件,输出结果应该是什么样子。如此一来,模式的表达自然会渗透其中,而不是一味地堆砌参考,导致文档臃肿,空而无物,华而不实。
Quick start
创建最简 Skill 结构(30 秒):
bash
# 在项目根目录执行 mkdir -p .claude/skills/your-skill cat > .claude/skills/your-skill/SKILL.md << 'EOF' --- name: your-skill description: 简要描述这个 skill 的功能和适用场景(最多 1024 字符) --- # Your Skill Name ## Quick start \```bash # 最常见的用例代码示例 \``` EOF
Basic usage
标准 Skill 模板
使用完整模板创建 Skill:
bash
# 1. 创建目录结构
mkdir -p .claude/skills/my-skill/resources
# 2. 创建 SKILL.md
cat > .claude/skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: 清晰描述这个 skill 的功能以及何时调用它。提及关键触发条件和典型使用场景。
---
# Skill Title
## Quick start
最常见的用例(20% 代码解决 80% 问题):
\```python
# 示例代码
def main():
print("Hello from skill")
\```
## Basic usage
标准用法和常见模式:
\```python
# 更详细的示例
\```
## Advanced usage
复杂场景和高级特性:
\```python
# 高级用法
\```
## Resources
- `{baseDir}/resources/reference.md`
- `{baseDir}/resources/examples.md`
EOF
命名规范
bash
# ✅ 推荐的命名 data-processing # 小写 + 连字符 csv-analyzer # 清晰的功能描述 file-converter # 动名词形式 # ❌ 避免 DataProcessing # 不要大写 data_processing # 不要下划线 skill-data-process # 不要前缀 "skill-"
MCP 工具集成
如果 Skill 需要 MCP 工具,在文档中注明:
markdown
## MCP Tools Required - `filesystem:read_file` - 读取配置文件 - `database:query` - 查询数据 使用示例: \```python # Tool reference format: ServerName:tool_name result = filesystem:read_file(path="config.json") \```
添加模板文件
bash
# 创建提示词模板
mkdir -p .claude/skills/my-skill/templates
cat > .claude/skills/my-skill/templates/prompt.txt << 'EOF
You are a specialized assistant for {task_type}.
Focus on {primary_objective}.
Constraints:
- {constraint_1}
- {constraint_2}
EOF
最佳实践
内容组织(渐进式披露)
markdown
## Quick start # 80% 的常见用例 ## Basic usage # 标准用法 ## Advanced usage # 复杂场景 ## Edge cases # 边缘情况
路径引用规范
markdown
# ✅ 正确:使用正斜杠和 {baseDir}
path: "{baseDir}/resources/config.json"
# ❌ 错误:Windows 风格反斜杠
path: "resources\\config.json"
描述编写技巧
🌐 语言选择原则
重要:根据使用场景选择 description 语言
- •中文使用环境:description 应使用中文描述
- •国际化/英文环境:description 应使用英文描述
- •混合环境:可以同时提供中英文描述(英文在前,中文在后)
为什么这样要求?
- •Claude Code 会根据 description 匹配和调用 Skill
- •使用与用户交互语言一致的 description 可以提高匹配准确度
- •母语描述更容易让用户理解 Skill 的功能和使用场景
中英双语示例
yaml
# ✅ 混合环境 - 先英文后中文 --- name: create-skill description: Creates new Claude Skills with proper structure and templates. 创建符合规范的新 Claude Skill,提供完整结构和模板。当需要创建新 skill 或添加功能时使用。 ---
职责单一原则
bash
# ✅ 一个 Skill = 一个明确的功能 csv-analyzer # 只做 CSV 分析 pdf-extractor # 只做 PDF 提取 image-resizer # 只做图片缩放 # ❌ 避免"大杂烩" Skill data-tool # 太宽泛,混合多种功能
常见错误
| 错误 | 解决方案 |
|---|---|
Invalid YAML frontmatter | 确保 --- 包围 YAML 块 |
name exceeds 64 chars | 缩短 name 字段 |
Skill not found | 检查目录结构:.claude/skills/your-skill/SKILL.md |
Resources not loading | 使用 {baseDir} 变量和正斜杠 |
验证清单
创建 Skill 后检查:
- • SKILL.md 位于
.claude/skills/your-skill/目录 - • YAML frontmatter 包含 name 和 description
- • name 使用小写字母和连字符
- • description 使用正确的语言(中文环境用中文,英文环境用英文)
- • description 清晰说明功能和触发场景
- • 使用渐进式披露组织内容
- • 所有路径使用正斜杠
- • 代码示例可以直接运行
示例 Skill 结构
bash
.claude/skills/create-skill/
├── SKILL.md # 必需:入口文件
├── resources/ # 可选:辅助资源
│ ├── skill-template.md # SKILL.md 模板
│ └── examples.md # 完整示例
└── templates/ # 可选:提示词模板
└── basic-skill.txt # 基础 Skill 模板
相关资源
- •官方文档:https://platform.claude.com/docs/building-with-claude/skills
- •项目规范:参见项目根目录
Claude_Skill规范与最佳实践.md