重复性工作的固化时机:Skill、CLAUDE.md 与 Hooks 的分工
三种固化方式,选错了要么占着上下文不干活,要么该拦的时候拦不住。判断标准只有两个问题。
进阶章的第一个问题不是「还有什么高级功能」,而是:
我发现自己在重复做同一件事,该把它固定下来吗?固定在哪儿?
三种固化方式
| 方式 | 是什么 | 什么时候加载 |
|---|---|---|
CLAUDE.md |
一直生效的背景与约定 | 每次会话,全文,永远在 |
| Skill(技能) | 一套流程或一份参考资料 | 只在用到时才加载正文 |
| Hook(钩子) | 在特定时刻必定执行的动作 | 不占上下文,它是代码 |
这三个不是「初级 / 中级 / 高级」的关系,是三种不同的东西。
判断只需要两个问题
问题一:它需要一直在场吗?
需要 → CLAUDE.md。 比如「我做市场研究,不写代码」「原话摘录必须逐字」。这类是背景,它每一轮都得知道。
不需要 → Skill。 比如「怎么把一批访谈稿转成编码表」。这是流程,只有你要做这件事的时候才需要。
这个区分很重要,因为
CLAUDE.md的成本是持续的。写进去的每一行,每一轮对话都在为它付费,而且官方明确说过:内容越多,遵守度越低。
技能的正文只在被调用时才加载。 一份三百行的操作手册放在技能里几乎不花钱,放在
CLAUDE.md里则是每轮都花。
问题二:它是「希望」还是「必须」?
希望它这么做 → CLAUDE.md 或 Skill。
必须发生,不能靠它记得 → Hook。
这是最容易搞错的一处。
你在
CLAUDE.md里写「不要动.env文件」,它多半会遵守。但那是「多半」。Hook 是代码,在动作发生之前跑,可以直接把动作挡掉。它不参与「理解」这个环节。
一张选择表
| 你想做的事 | 用什么 |
|---|---|
| 「用中文回我」 | CLAUDE.md |
| 「我们公司的品牌名统一写作 X」 | CLAUDE.md |
| 「访谈编码的完整流程和格式」 | Skill |
| 「生成月报的那一套步骤」 | Skill |
| 「术语对照表,三百个词」 | Skill(用到时才加载) |
| 「每次改完文件自动跑一遍格式检查」 | Hook |
| 「绝对不许碰含客户数据的那个目录」 | 权限规则,不是上面任何一个 |
最后一行值得单独说。
「绝对不许」这四个字意味着这是权限规则的事。Hook 也能挡,但权限规则更直接、更不容易配错。
Hook 适合的是「必须做某件事」,权限规则适合的是「绝对不能做某件事」。
什么时候该开始固化
不要过早。
一个实用的信号:
同一句话你输入到第三遍的时候。
第一遍是偶然,第二遍可能还是偶然,第三遍说明它是你工作方式的一部分。
另一个信号是:你发现自己在复制粘贴。你有一段说明存在某个文档里,每次开始新任务就粘一遍——那段东西就该是一个技能。
一条演化路径
多数人的固化过程是这样的,也应该是这样的:
在对话里说一遍
↓ (说到第三遍)
写进 CLAUDE.md
↓ (CLAUDE.md 长到二十条,或者某一条变成了多步流程)
拆成 Skill
↓ (发现「它有时候忘了做」这件事不可接受)
加 Hook
不要跳步。 直接从「我要做一个自动化系统」开始,通常会做出一个你自己都不会用的东西。
一个具体的例子
假设你的工作是把访谈录音的转写稿整理成编码表。
第一阶段 —— 每次都在对话里说清楚要求。这是对的,你还在摸索标准是什么。
第二阶段 —— 稳定下来的那几条写进 CLAUDE.md:
- 原话摘录必须逐字,不要合并相邻短句
- 受访者一律用编号代替姓名
第三阶段 —— 整套流程(怎么切分、怎么归类、输出什么格式、怎么核对)已经有十几步了。这时它该是一个技能,因为:
- 它太长,放
CLAUDE.md里会稀释其他规则 - 你不是每天都做这件事,没必要每轮都加载它
第四阶段 —— 你发现有几次它漏掉了最后的核对步骤,而这个疏漏你事后才发现。这时加一个 Hook,在它宣称完成之前强制跑一遍数量核对。
一条容易被忽略的经济性
技能有一个 CLAUDE.md 没有的优势:它可以带附件。
一个技能是一个文件夹,里面除了主文件,还能放模板、示例、脚本。主文件里只写「详细规范见 reference.md」,它需要的时候才去读那一份。
官方对主文件的建议是不超过 500 行。 超了就该往外拆。
这套做法叫渐进式披露——上下文工程那一节专门讲它。
什么时候不该固化
这三种情况,固化了反而添乱:
| 情况 | 为什么 |
|---|---|
| 这件事你一个月做一次 | 你会忘了有这个技能,而它一直在占着描述的位置 |
| 标准还在变 | 固化的东西改起来比说一句话贵 |
| 只有这一个项目需要 | 写进那个项目的 CLAUDE.md 就够了 |
还有一条:
/doctor会告诉你哪些技能装了从来没被调用过。定期跑一次,把没用的删掉。它们不只是占地方——描述相近的技能会互相抢触发,让真正该生效的那个反而不生效。
往下
三种方式各自的写法:
- Agent Skills 的创建、结构与调用
- Hooks:在生命周期节点强制执行动作
CLAUDE.md在第 04 章:CLAUDE.md 的编写与加载规则
以及一个前提:无论固化成什么,都要验证它真的生效了。这件事比想象的难,见规则生效性的验证方法。
本节为 HiBridge 整理的判断方法,非官方文档内容。 其中涉及的加载时机、
SKILL.md长度建议与/doctor能力依据官方 Extend Claude with skills 与 How Claude remembers your project,查证日期 2026-08-05。