← CCDV-F study guide

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.

Next domain

Domain 4: Eval, testing & debugging →