关于 skill-builder
用于创建 Claude Code 生产级 Skill 的指南,涵盖需求、描述与触发词、命名、文件结构、验证、测试和迭代。
主要功能
- 01Skill 需求与范围规划
- 02便于发现的描述和触发词
- 03命名与文件结构指南
- 04验证和测试清单
- 05根据使用情况迭代
适用场景
- 01创建项目或个人 Skill
- 02规划单文件或多文件 Skill
- 03排查 Skill 发现问题
- 04根据实际使用调整触发词
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mike-coulbourn/ claude-vibes --skill skill-builder安装后在 Claude Code 中输入/skill-builder确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/descriptions.mdreference/validation-checklist.mdtemplates/advanced-skill.mdbasic-skill.md详细介绍
Skill Builder
为 Claude Code 构建生产级 Skills,采用规范的结构、易于发现的描述和最佳实践。
快速参考
描述公式:[功能] + [使用时机] + [用户会说的触发词]
名称规则:仅限小写字母、数字和连字符;最多 64 个字符;不含空格
描述规则:最多 1024 个字符;必须具体并包含触发词
Skill 创建工作流
阶段 1:需求收集
使用 AskUserQuestion 了解用户需求:
-
Skill 应该做什么?
- 它应提供什么能力或专业知识?
- 它应帮助完成哪些任务?
-
何时应激活?
- 什么场景或上下文?
- 用户会说哪些词语或短语?
- 涉及哪些文件类型或操作?
-
范围决策
- 个人 Skill(~/.claude/skills/)——仅供当前用户使用
- 项目 Skill(.claude/skills/)——通过 git 与团队共享
-
结构复杂度
- 单文件(简单说明/示例)
- 多文件(脚本、模板、大量文档)
-
工具限制
- 完整访问权限(默认)
- 受限(通过 allowed-tools 字段设置只读或有限范围)
阶段 2:编写描述
描述决定了 Skill 是否容易被发现。请使用这个经过验证的公式:
[Specific operations] + [When to use] + [Trigger terms]
示例解析:
- ❌“帮助处理文档”(太模糊)
- ✅“从 PDF 文件中提取文本和表格、填写表单、合并文档。在处理 PDF 文件或用户提到 PDF、表单或文档提取时使用。”
关键要素:
- 具体操作:列出明确的操作(提取、分析、生成、验证)
- 使用时机:场景和上下文(处理 X 时、在 Y 期间、用于 Z 任务)
- 触发词:用户可能会说的确切词语(PDF、表单、提交消息、数据分析)
更多模式请参阅 examples/descriptions.md。
阶段 3:名称验证
验证并规范名称:
- 转换为小写
- 将空格替换为连字符
- 移除无效字符(仅允许:a-z、0-9、-)
- 确保不超过 64 个字符
- 名称应具体且简洁
示例:
- “My PDF Tool” → “my-pdf-tool”
- “Code Reviewer!!!” → “code-reviewer”
- “data_analysis” → “data-analysis”
阶段 4:规划结构
单文件适用于:
- 说明和示例能轻松放在一个文件中
- 无需脚本或实用工具
- 工作流简单明了
多文件适用于:
- 文档内容较多(拆分到 reference.md)
- 需要脚本或实用工具(scripts/ 目录)
- 包含模板或样板内容(templates/ 目录)
- 示例较多(examples.md)
复杂 Skills 的推荐结构:
skill-name/
├── SKILL.md # Core instructions (loaded first)
├── reference.md # Detailed API/reference (loaded if needed)
├── examples.md # Additional examples (loaded if needed)
├── scripts/ # Utility scripts
│ ├── helper.py
│ └── process.sh
└── templates/ # Template files
└── template.txt
阶段 5:实施
创建目录
# Personal Skill
mkdir -p ~/.claude/skills/skill-name
# Project Skill
mkdir -p .claude/skills/skill-name
# Multi-file structure
mkdir -p ~/.claude/skills/skill-name/{templates,scripts,examples}
编写 SKILL.md
模板结构:
---
name: skill-name
description: [Use the formula from Phase 2]
allowed-tools: Read, Grep, Glob # Optional: only if restricting tools
---
# Skill Name
Brief introduction explaining what this Skill does.
## Quick Start
Provide the most common use case with a concrete example.
## Instructions
Step-by-step guidance for Claude:
1. [First step with specific actions]
2. [Second step with expected behavior]
3. [Continue pattern]
## Examples
Show concrete code examples:
```language
# Example code that demonstrates usage
最佳实践
- 关键原则或模式
- 重要注意事项
- 需要避免的常见陷阱
要求
列出所有依赖项:
pip install required-package
#### Add supporting files if multi-file
Reference from SKILL.md:
```markdown
For detailed API reference, see [reference.md](reference.md).
Use the helper script:
```bash
python scripts/helper.py input.txt
### Phase 6: Validation
Before finalizing, check:
- [ ] Description follows formula (what + when + triggers)
- [ ] Description under 1024 characters
- [ ] Name is lowercase-with-hyphens, under 64 chars
- [ ] YAML has opening and closing `---`
- [ ] YAML uses spaces not tabs
- [ ] Instructions are clear and actionable
- [ ] Examples are concrete and tested
- [ ] Dependencies are documented
- [ ] Tool restrictions (if any) are appropriate
See [reference/validation-checklist.md](reference/validation-checklist.md) for complete checklist.
### Phase 7: Testing
1. **Restart Claude Code** (required for Skills to load)
2. **Test discovery**:
- Ask using trigger terms from your description
- Verify Skill activates automatically
- Try variations of trigger phrases
3. **Test workflow**:
- Follow instructions as Claude
- Verify all examples work
- Check edge cases
4. **Debug if needed**:
```bash
# Check Skill was loaded
# Ask: "What Skills are available?"
# View Skill file
cat ~/.claude/skills/skill-name/SKILL.md
# Check for YAML syntax errors
claude --debug
常见问题及解决方案
问题:Skill 未激活
原因:
- 描述太模糊
- 触发词与用户用词不匹配
- YAML 语法错误
- 未重启 Claude Code
解决方案:
- 在描述中加入确切的触发词,使其更具体
- 添加更多同义词和相关词语
- 验证 YAML(检查 --- 分隔符,并使用空格而非制表符)
- 重启 Claude Code
问题:Skill 在不该激活时激活
原因:
- 描述范围太宽泛
- 与其他 Skills 重叠
解决方案:
- 缩小描述范围
- 添加具体上下文(文件类型、操作)
- 考虑拆分为专注于特定用途的 Skills
问题:YAML 语法错误
常见错误:
- 缺少开头的
---(第 1 行) - 缺少结尾的
---(Markdown 内容之前) - 使用制表符而非空格
- 含特殊字符的字符串未加引号
修复方法:
---
name: skill-name
description: Description text here
---
# Markdown starts here
迭代与改进
使用 Skill 后,持续改进:
- 跟踪激活模式:它是否会在预期情况下激活?
- 收集反馈:有哪些内容令人困惑或缺失?
- 优化描述:添加实际使用中出现的触发词
- 扩展示例:添加遇到的真实场景
- 更新说明:明确有歧义的步骤
教育原则
创建 Skill 时,请牢记:
描述为何重要:Claude 会根据描述发现 Skill。描述模糊 = 永远不会激活。
多文件结构为何有效:渐进式加载。Claude 会先读取 SKILL.md,仅在需要时才读取辅助文件,从而保持上下文聚焦。
工具限制为何强大:它能创建安全、聚焦的 Skill。只读分析 Skill 不会意外修改文件。
触发词为何关键:用户不知道你的 Skill 存在。他们会自然地提出问题。触发词能将他们的表达与 Skill 联系起来。
快速模板
基础 Skill 模板:templates/basic-skill.md
高级多文件模板:templates/advanced-skill.md
打造出色 Skill 的技巧
- 描述要具体——明确具体操作、文件类型和场景
- 加入触发词同义表达——用户的说法各不相同
- 从简单开始,之后再扩展——先使用单个文件,需要时再增加复杂度
- 用真实请求测试——使用用户实际会说的话
- 清楚说明依赖项——不要假设软件包已安装
- 提供具体示例——展示,而不是只讲述
- 让说明可执行——提供具体步骤,而非模糊指引
- 谨慎考虑适用范围——个人用途适合实验,项目用途适合团队
- 明智地使用工具限制——分析或审查时使用只读 Skill
- 根据使用情况迭代——根据真实激活模式优化触发词
后续步骤
创建 Skill 后:
- 与团队分享(如果是项目 Skill,请提交到 git)
- 如果这是其他人也应了解的模式,请记录在项目的 CLAUDE.md 中
- 为相关工作流创建相关 Skill
- 考虑将多个 Skill 打包成插件,以便更广泛地分发
请记住:出色的 Skill 具有包含触发词的具体描述。这就是会被使用的 Skill 与永远不会激活的 Skill 之间的区别。