
我最近在看 Claude Code 的项目指令体系时,最容易混在一起的地方,就是 CLAUDE.md、.claude/rules/和 Skills。它们看起来都在存放 instructions,也都能影响 Claude Code 的行为,但真正用起来,差异不在「写什么」,而在「什么时候加载」「作用范围多大」「会不会一直占用上下文」。Claude Code 官方文档里对 CLAUDE.md 的定位很清楚,它是放在项目里的 Markdown 文件,Claude Code 会在每个 session 开始时读取它,用来记录编码标准、架构决策、首选库、代码审查清单这类信息。官方 overview 也把它和 skills、hooks 放在同一组自定义能力里,但 CLAUDE.md 更偏向启动时就要知道的项目常识。(Claude Platform Docs)回到我们今天这个主题,CLAUDE.md、Rules、Skills 三者不是谁替代谁,而是三层不同颗粒度的项目记忆。CLAUDE.md 像项目门口的公告牌,Claude Code 一进仓库就能看到。Rules 像贴在不同房间门口的局部守则,走到前端目录、后端目录、测试目录时才提醒。Skills 则像工具柜里的专项手册,平时不用搬出来,只有做代码审查、部署、接口迁移、故障排查这类任务时才拿出来。不要把所有规则都塞进 CLAUDE.md很多团队刚