Domain 3 – Claude Code (3.1%)
1 lesson · 2 practice questions at the end · jump to questions ↓
Domain recapQuick overview of all lessons
- Claude Code Operation (3.1%) – CLAUDE.md hierarchy, settings.json, repository init
3.1 — Claude Code Operation
CCDV-F Domain 3 · Task 3.1
What You Need to Know
Claude Code reads configuration from files on disk and flags on the command line. Components: rules, skills, commands, agents, agent memory. Scopes: managed, user, project, local.
Five Components, Five Places on Disk
| Component | Location | Notes |
|---|---|---|
| Rules | .claude/rules/, ~/.claude/rules/ |
Markdown constraints; optional paths frontmatter for file-scoped rules |
| Skills | .claude/skills/<name>/SKILL.md, ~/.claude/skills/ |
Procedures; Claude invokes by description match or /skill-name. Precedence: enterprise > personal > project |
| Commands | Built-in slash commands + bundled skills + custom (merged into skills) | .claude/commands/deploy.md and .claude/skills/deploy/SKILL.md both create /deploy; skill wins name clash |
| Agents | .claude/agents/, ~/.claude/agents/ |
Subagents; own context window; frontmatter requires name and description |
| Agent Memory | ~/.claude/projects/<project>/memory/ |
Auto memory; MEMORY.md index loads at start (capped 200 lines / 25KB); topic files on demand |
CLAUDE.md Concatenates, settings.json Overrides
CLAUDE.md scopes (broadest first): Managed policy → User (~/.claude/CLAUDE.md) → Project (./CLAUDE.md or ./.claude/CLAUDE.md) → Local (./CLAUDE.local.md, gitignored).
Claude Code concatenates discovered files into context — they do not override each other. More specific files land after broader ones. Walks up the directory tree from the working directory. @path/to/import pulls in more (max depth 4 hops). /init analyses the codebase and writes a starting CLAUDE.md.
Settings precedence (highest to lowest): managed → command line arguments → local .claude/settings.local.json → project .claude/settings.json → user ~/.claude/settings.json.
Managed settings cannot be overridden. List settings (e.g. permissions) merge across files — a local file can add but never remove a shared entry.
Settings Rules vs CLAUDE.md
“Settings rules are enforced by the client regardless of what Claude decides to do. CLAUDE.md instructions shape Claude’s behavior but are not a hard enforcement layer.” Conventions → CLAUDE.md. Anything that must hold whatever the model decides → deny rule or hook. Deny rules block in every permission mode, including bypassPermissions.
Permission Modes
A permission mode decides which actions Claude may take without asking. A cloned repository cannot grant itself capability — allow rules take effect only after the workspace trust dialog is accepted. Deny and ask rules apply regardless.
Sessions
Sessions save continuously as local JSONL transcripts at ~/.claude/projects/<project>/<session-id>.jsonl. Resume via --continue / -c, --resume, or /resume. Sessions created by claude -p or the Agent SDK stay out of the picker. A resumed session brings back the conversation and the model; permission mode restoration is limited. Launch flags do not survive a resume — pass them again or move into a settings file.
Key Distinctions
- Skills name-clash precedence runs the opposite way to settings (personal beats project for skills; project beats personal for settings/agents)
- CLAUDE.md is what you write for Claude; auto memory is what Claude writes for itself; neither enforces
- A sentence in CLAUDE.md is a request; a deny rule is a control
Exam Traps
Focus on precedence chains (settings vs CLAUDE.md vs skills), tracked vs local files, the enforcement distinction between settings rules and CLAUDE.md instructions, and session resume behaviour.
Test yourself: Domain 3: Claude Code
2 practice questions on this domain, each with an explanation.
🔒 Practice questions are part of Skillmarked Pro
The study guide is free. Unlock the questions for every domain and every exam with Pro.
Domain 4: Eval, testing & debugging →