17.1 创建你的第一个Skill
第 17 章 · 开发一个技能 · 第5部分:技能 Skills
概述#
欢迎来到Skills开发的实战环节!在这个章节中,我们将一起创建你的第一个Skill。通过这个实践,你将掌握Skills的基本结构和创建流程。
想象你正在为Claude创建一个"私人助手",这个助手专门帮助你处理某种特定任务。这就是Skill的本质——一个封装了专业知识和指令的文件夹。
规划你的Skill#
1. 确定Skill的功能范围#
在开始编写代码之前,首先思考你的Skill要解决什么问题:
好的Skill功能:
- 具体且明确的任务(如"处理Excel文件"、"生成代码文档")
- 有明确的使用场景(如"当用户提到数据分析时"、"处理Python项目时")
- 能够被Claude有效执行
示例场景:
- 一个帮助处理项目文档的Skill
- 一个专门处理数据格式转换的Skill
- 一个提供特定领域知识的Skill
2. 选择Skill类型#
根据你的需求选择合适的存放位置:
- 个人Skill:放在
~/.claude/skills/用于个人工作流 - 项目Skill:放在
.claude/skills/用于团队协作
创建Skill目录结构#
1. 创建目录#
让我们创建一个简单的Skill来处理项目文档:
bash复制# 对于个人Skillmkdir -p ~/.claude/skills/project-helper # 或者对于项目Skillmkdir -p .claude/skills/project-helper
2. 创建基础文件#
每个Skill最少需要一个SKILL.md文件:
bash复制project-helper/ └── SKILL.md
编写基础SKILL.md文件#
1. YAML Frontmatter#
SKILL.md文件必须以YAML frontmatter开头:
markdown复制--- name: project-helper description: 帮助处理项目文档和代码结构。当用户需要项目概述、代码分析或文档生成时使用此Skill。 --- # 项目助手 Skill ## 功能概述 这个Skill帮助开发者更好地理解和管理项目结构。
YAML字段说明:
name: Skill的唯一标识符,只能包含小写字母、数字和连字符description: 详细描述Skill的功能和使用时机,这是Claude判断何时使用这个Skill的关键
2. 添加基本指令#
在frontmatter之后,添加Claude应该遵循的指令:
markdown复制## 使用指南 当用户询问项目相关问题时: 1. 首先查看项目的整体结构 2. 识别主要的文件类型和组织方式 3. 提供清晰的项目概述 4. 根据需要深入特定文件或目录 ## 示例用法 - "这个项目是做什么的?" - "帮我分析一下代码结构" - "生成项目文档"
测试Skill加载#
1. 验证Skill被识别#
创建SKILL.md文件后,重启Claude Code或运行:
bash复制claude /skills
你应该能看到你的Skill出现在列表中。
2. 基本功能测试#
在Claude中询问与你的Skill相关的问题,观察是否被触发。
常见初学者错误#
1. 忘记YAML frontmatter#
错误示例:
markdown复制# 我的Skill 这里是描述...
正确示例:
markdown复制--- name: my-skill description: 描述Skill功能 --- # 我的Skill 这里是描述...
2. 描述不够具体#
不好的描述: "一个有用的工具"
好的描述: "处理JSON数据文件,当用户需要格式化、验证或转换JSON数据时使用此Skill"
3. Skill名称不符合规范#
错误名称: "My Skill"、"my_skill_v1"
正确名称: "my-skill"、"json-processor"
下一步#
恭喜!你已经创建了第一个Skill的基础结构。在下一章,我们将学习如何编写更高质量的SKILL.md文件,包括高级指令编写技巧。
技术说明:Skills开发的核心是文件组织和指令编写,而非复杂的编程。Claude会在运行时读取这些文件,所以重点在于编写清晰、准确的指令。