Key points
- Three levels: user (~/.claude/CLAUDE.md), project (root CLAUDE.md or .claude/CLAUDE.md), directory (a CLAUDE.md inside a subdirectory).
- The user-level file is private to one developer. It never enters version control, so teammates do not see it.
- Project-level files are committed, so everyone who clones or pulls gets them with no setup.
- @import references an external file from a CLAUDE.md, so each package can include only the standards it needs.
- .claude/rules/ holds topic-specific rule files (testing, API conventions, deployment) as an alternative to one monolithic file.
- /memory shows which memory files are actually loaded in the current session.
Common misconceptions
- "Anything in a CLAUDE.md is shared with the team." Only project and directory files are committed; the user-level file is personal.
- "A bigger CLAUDE.md means Claude knows more." It mostly means every session pays for rules that do not apply to the current work.
- "If the behavior is inconsistent, rewrite the rule." First check with /memory whether the file is even loaded.
Watch for
- Team conventions stored in a user-level file.
- The same standard pasted into several package files instead of referenced once.
- A single root file covering every topic for every package.
Practice Task 3.1
Start with the free 10-question check to see where you stand across all five domains. In CCA Prep Studio, 56 practice items cover this task, each tracked toward your mastery score.