欢迎进入中级阶段!在第一级中,你已经学会了用斜杠命令和 CLAUDE.md 和 Claude Code 高效交流。但你可能已经感到一个痛点:每次对话都要重复说明相同的需求。比如你每次都告诉 Claude「审查代码时要检查安全性和性能」,或者每次修改文件后手动运行格式化工具。
这个里程碑将教你两个强大的自动化工具:
- 技能(Skill):可复用的菜谱——把你的专业知识打包成 Claude 能自动使用的模块
- 钩子(Hook):自动触发器——像智能家居的传感器一样,在特定事件发生时自动执行操作
学会它们之后,你的 Claude Code 将从一个「需要手把手指导的助手」进化为一个「懂得自动执行标准流程的专家」。
前置条件
- 已完成里程碑 1A(斜杠命令与记忆)和 1B(安全探索)
- 能熟练使用
/命令和编辑 CLAUDE.md - 理解检查点(Checkpoint)和基本 CLI 操作
- 有一个实际项目可以用来练习(任何包含代码文件的文件夹都行)
- 知道如何用文本编辑器创建和编辑文件(VS Code、记事本等均可)
学习目标
完成本里程碑后,你将能够:
- 理解技能(Skill)的核心概念,以及它和 CLAUDE.md 的区别
- 掌握 SKILL.md 文件格式,包括所有重要的前置元数据字段
- 理解渐进式展示(Progressive Disclosure)的三个级别
- 独立创建自定义技能并控制其调用方式
- 理解钩子(Hook)的事件驱动机制
- 在 settings.json 中配置钩子,实现自动格式化、安全扫描等功能
- 组合技能和钩子,构建一套完整的自动化工作流
第一部分:技能(Skill)——Claude 的可复用菜谱
什么是技能?
打个比方: 如果 CLAUDE.md 是你家的「通用家规」(比如「进门要换鞋」),那么技能就是一本本具体的「菜谱」——「做番茄炒蛋的步骤」「炖排骨的方法」。你不需要每次做菜都从头讲一遍,只要翻开对应的菜谱就行。
技能是基于文件的可复用能力模块,它们将特定任务的专业知识、工作流程和最佳实践打包成 Claude 能自动发现和使用的组件。
技能和 CLAUDE.md 的关键区别:
| 特性 | CLAUDE.md | 技能(Skill) |
|---|---|---|
| 加载时机 | 每次对话都加载 | 按需加载(需要时才加载) |
| 内容类型 | 通用规则和上下文 | 针对特定任务的详细指导 |
| 数量限制 | 建议不超过 300 行 | 可以有很多个,互不干扰 |
| 适合场景 | 项目概述、通用规范 | 代码审查、部署流程、特定工作流 |
渐进式展示:技能的智能加载机制
技能最巧妙的设计是渐进式展示(Progressive Disclosure)——Claude 不会一次性把所有技能的内容都读进去,而是分三个级别逐步加载:
级别 1:元数据(始终加载)
- 每个技能只加载名称和描述,大约消耗 100 个 token(大约一两句话的长度)
- Claude 启动时就知道「我有哪些技能可以用」
- 就像看菜谱的目录——你知道有「番茄炒蛋」这道菜,但还没看具体步骤
级别 2:指令(触发时加载)
- 当 Claude 判断需要某个技能时,才加载 SKILL.md 的正文内容
- 通常低于 5000 个 token
- 就像翻开菜谱的对应页面,开始看具体步骤
级别 3:资源(按需加载)
- 技能目录中的模板、脚本、参考文档等支持文件
- 只有在 Claude 真正需要时才读取,理论上没有大小限制
- 就像菜谱里写着「详细酱料配比见附录 A」,你需要时再去翻
这意味着什么? 你可以安装几十个技能,而不会拖慢 Claude 的性能——因为它只在需要时才加载相关内容。