用途
claude-md 用于创建、编辑、审计、精简或优化任何 CLAUDE.md 文件。当出现「init claude.md」「update claude.md」「audit my claude config」等触发词或涉及 CLAUDE.md 内容时会激活。
核心规则
对每一行应用以下试金石:「Would removing this cause Claude to make mistakes?」如果 Claude 能从代码、README 或标准约定中推断出来——就删掉它。CLAUDE.md 是每个会话都会加载的昂贵上下文。把每一行都当作在花钱。
什么内容属于 CLAUDE.md
只包含没有明确指示时 Claude 会弄错的内容:
- 构建/测试/lint 命令(Claude 猜不到的,如 make test-integration、自定义脚本)
- 与语言默认值或格式化配置不同的代码风格规则
- 该代码库特有的非显而易见的坑和陷阱
- 测试说明——首选 runner、必要设置、测试数据库约定
- 仓库礼仪——分支命名、PR 约定、提交信息格式
- 从代码结构无法自明的架构决策
- 开发环境怪癖——必需环境变量、版本锁定、本地搭建陷阱
- 指向文档的引用(@path/to/file),而非文档副本
什么内容不应属于
停止添加以下内容——它们每个会话都在浪费上下文:
- 项目概述 / 电梯演讲——那属于 README
- 目录树 / 文件描述——Claude 可以读取文件系统
- 标准语言约定——Claude 已经知道
- 代码片段——会过时;改用 @file:line 引用
- API 文档——链接到它,不要粘贴
- 泛泛的最佳实践——「write clean code」教不了任何东西
- README 或 docs 中已有的任何内容——不要重复已提交文件
- 频繁变化的信息——会漂移并误导
结构规则
- 目标在 300 行以内。远低于此更好。接近 300 行就审计。
- 使用路由——超过几行的内容用 @path/to/detailed-doc.md。
- 把关键规则锚定在顶部和底部——首因和近因偏差意味着中间部分会被忽略。
- 优先使用正面指令——「Use named exports」优于「Don't use default exports.」
- 硬规则使用 hook——如果一条规则绝不能违反,用 pre-commit hook 强制执行,而不是用文字描述。
创建新的 CLAUDE.md
- 先阅读现有的 README、docs 和代码库结构。
- 只识别 Claude 会绊倒的地方——而不是它能推断的内容。
- 检查父级/同级 CLAUDE.md 文件,避免重复。
- 写一个精简文件,然后在呈现前按这些规则自审。
- 对于子目录 CLAUDE.md 文件:紧贴该目录的关注点。
输出:呈现草稿并附行数。让用户在写入前审阅。
编辑现有 CLAUDE.md
- 阅读当前文件。
- 对改动应用这些规则——不要增加冗余。
- 验证新内容通过试金石。
- 如果文件超过 300 行,标记并建议删减或路由。
输出:进行编辑。如超过 300 行则标记。
审计现有 CLAUDE.md
- 阅读该文件,以及它可能重复的 README 和 docs。
- 逐行应用试金石。
- 报告判定:保留 / 删除 / 提取到单独文件(附理由)。
- 对属于但过于详细的内容,建议路由模式。
- 检查行数。
输出:带判定、当前和预计行数的结构化报告。询问要应用哪些更改。
助手配置检测
如果 CLAUDE.md 定义了一个人格或角色(「You are...」、个性、教练指令、沟通风格),那它是助手配置文件——完全是另一种用例。标记这一点:「This looks like an AI assistant config, not a project conventions file. The standard CLAUDE.md rules don't apply here.」然后在不应用试金石的情况下继续处理用户请求——只有结构规则(行数、路由)仍然适用。
范围之外
- 不是 linter——该技能引导你的思考,它不会自动修复文件。
- 不是模板——强制原则,而非僵化结构。CLAUDE.md 格式有意保持灵活。
- 不修改非 CLAUDE.md 文件——如果内容应移到 README 或 docs 文件,建议移动但不执行。
边界情况
- 文件不存在 + 用户说「audit」:告知他们。提议创建一个。
- 多个 CLAUDE.md 文件:操作上下文最相关的一个。如不明确则询问。审计时,提议审计全部。
- 用户明确想要反模式:遵从,但指出这通常是 README 内容,会每个会话消耗上下文。用户指令始终优先。
- Monorepo:检查父级 CLAUDE.md 文件,避免重复继承的指令。
参考
- Best Practices——官方 include/exclude 表
- CLAUDE.md docs——CLAUDE.md 文件如何工作