CCAR-F Claude Certified Architect — Foundations

Question Bank — Domain 3: Claude Code Configuration & Workflows

25 items. 20% of the exam (~12 items). Heavy on recall — the paths matter.


Block A — Configuration (items 1–13)

1

A team wants coding conventions that every developer on a repository automatically picks up. Where do they belong?

  • A. ~/.claude/CLAUDE.md
  • B. CLAUDE.md at the repository root (or .claude/CLAUDE.md)
  • C. .claude/commands/conventions.md
  • D. ~/.claude.json
Answer

B.

Project-level CLAUDE.md is committed, so everyone gets it on clone.

  • A — User-level and not version-controlled. Nothing the team must have can live there.
  • C — That directory defines slash commands, not always-loaded context.
  • D — MCP server configuration.

2

A developer prefers verbose commit messages but doesn't want to impose that on teammates. Where does the preference go?

  • A. Project CLAUDE.md
  • B. ~/.claude/CLAUDE.md
  • C. .claude/rules/git.md
  • D. .claude/skills/commit/SKILL.md
Answer

B.

User-level memory: applies across all their projects, not version-controlled, invisible to teammates.

  • A, C — Both committed; both impose the preference on the team.
  • D — A skill is an on-demand procedure, not a standing preference.

3

Testing conventions must apply to all test files, which live alongside their source across dozens of directories. What is the best mechanism?

  • A. A CLAUDE.md in each directory containing tests.
  • B. A .claude/rules/testing.md file with paths: ["**/*.test.ts", "**/*.test.tsx"] frontmatter.
  • C. A section in the root CLAUDE.md describing testing conventions.
  • D. A .claude/commands/test-conventions.md slash command.
Answer

B.

A paths: glob matches test files wherever they are, including new directories, and loads nothing when you're working on non-test code.

  • A — Duplication across dozens of directories, and it misses every new one.
  • C — Works, but loads testing conventions into every session regardless of relevance. Path-scoped rules are the exam's preferred answer for cross-directory, pattern-defined conventions.
  • D — A command is invoked deliberately; conventions need to apply automatically.

4

Which command verifies which memory files are currently loaded?

  • A. /memory
  • B. /context
  • C. /config
  • D. /rules
Answer

A.

5

A repository's conventions document is long and maintained separately in docs/api-conventions.md. How should CLAUDE.md incorporate it?

  • A. @import ./docs/api-conventions.md
  • B. Copy its contents into CLAUDE.md.
  • C. Reference it in prose: "See docs/api-conventions.md for API conventions."
  • D. Symlink CLAUDE.md to the docs file.
Answer

A.

@import composes the file's contents into the loaded memory.

  • B — Duplication that drifts.
  • C — A prose pointer isn't a load mechanism; the content isn't in context.
  • D — Discards everything else CLAUDE.md holds.

6

A team wants a /review-pr workflow available to every developer on the repository. What do they create?

  • A. A Markdown file at .claude/commands/review-pr.md, committed.
  • B. A Markdown file at ~/.claude/commands/review-pr.md.
  • C. An entry in a commands array in .claude/config.json.
  • D. A skill at .claude/skills/review-pr/SKILL.md.
Answer

A.

One Markdown file per command, in the project commands directory, committed.

  • B — User-level; not shared.
  • C.claude/config.json with a commands array does not exist. Common distractor.
  • D — Would work as a skill, but the requirement is a slash command. Skills and commands are distinct surfaces; the exam expects .claude/commands/ for a named /command.

7

Which frontmatter field makes a skill run in an isolated context so its verbose intermediate output doesn't enter the main conversation?

  • A. context: fork
  • B. isolated: true
  • C. subagent: true
  • D. context: separate
Answer

A.

8

Match the SKILL.md frontmatter fields to their purposes. Which two statements are correct? (Select two.)

  • A. allowed-tools restricts which tools the skill may use.
  • B. argument-hint tells the user what arguments the skill expects.
  • C. allowed-tools lists the tools the skill will automatically invoke.
  • D. argument-hint validates the arguments before the skill runs.
Answer

A and B.

  • C — It's a restriction, not an invocation list.
  • D — It's a hint shown to the user, not a validator.

9

A procedure is needed roughly once a month and involves a long, verbose sequence of steps. Where should it live?

  • A. In the project CLAUDE.md.
  • B. In a skill under .claude/skills/, ideally with context: fork.
  • C. In ~/.claude/CLAUDE.md.
  • D. In .claude/rules/ with paths: frontmatter.
Answer

B.

Skills are on-demand; CLAUDE.md is always loaded. A monthly procedure shouldn't occupy every session's context, and context: fork keeps its verbose middle out of the conversation.

  • A, C — Always-loaded locations for something rarely relevant.
  • D — Rules are scoped by file pattern; this is scoped by occasion, not by file type.

10

A new team member clones the repository. Which of the following do they receive? (Select three.)

  • A. The project CLAUDE.md
  • B. .claude/commands/ slash commands
  • C. .mcp.json MCP server configuration
  • D. The original author's ~/.claude/CLAUDE.md preferences
Answer

A, B, and C.

All three are committed project configuration.

  • D~/.claude/ is user-level and outside the repository. This distinction decides several items.

11

An architect places a rules file at the repository root as testing-rules.md and finds it isn't being applied. Why?

  • A. Rules files must be in .claude/rules/.
  • B. Rules files must be named rules.md.
  • C. Rules files require a priority: frontmatter field.
  • D. Rules files only work in headless mode.
Answer

A.

Location is what makes it a rules file. /memory would show it absent.

  • B, C, D — Invented requirements.

12

Where does project-level MCP server configuration live, and should it be committed?

  • A. .mcp.json at the repository root — yes, committed.
  • B. ~/.claude.json — yes, committed.
  • C. .claude/mcp/servers.json — no, gitignored.
  • D. .mcp.json — no, it contains secrets and must be gitignored.
Answer

A.

  • B — Wrong file and it's outside the repo.
  • C — Wrong path.
  • D — Correct file, wrong conclusion. It's committed precisely because secrets are referenced as ${ENV_VAR} rather than embedded.

13

Two CLAUDE.md files apply to the file being edited: the repository root and one in the subdirectory. What happens?

  • A. Only the more specific (subdirectory) file loads.
  • B. Both load; the more specific one takes precedence where they conflict.
  • C. Only the root file loads.
  • D. Loading is non-deterministic; you should avoid the situation.
Answer

B.

The hierarchy composes, with specificity winning conflicts. Use /memory to confirm what's loaded.

  • A, C — Both assume exclusivity.
  • D — Hedging, not an answer.

Block B — Workflows and CI (items 14–25)

14

Which situations call for plan mode rather than direct execution? (Select three.)

  • A. A refactor touching 30 files across four modules.
  • B. Fixing a typo in an error message.
  • C. Choosing between three viable approaches to caching.
  • D. An architectural change to how authentication is layered.
Answer

A, C, and D.

Multi-file coordination, multiple viable approaches, architectural decisions — three of the four plan-mode triggers (the fourth being large scale of change).

  • B — Small, single-file, one obvious approach. Direct execution.

15

An agent's discovery phase — searching the codebase, reading candidate files — fills the main conversation with output that isn't needed afterwards. What addresses this?

  • A. Delegate the discovery to the Explore subagent, which returns a summary.
  • B. Run /compact after discovery.
  • C. Increase the context window.
  • D. Instruct the agent to read fewer files.
Answer

A.

The Explore subagent isolates verbose discovery in its own context and returns findings, not the search output that produced them.

  • B — Compaction after the fact is a mitigation; it's lossy and reactive. Preventing the pollution is better.
  • C — Capacity distractor.
  • D — Reduces discovery quality to protect context. Wrong trade.

16

A developer is iterating on generated code and finds five separate problems. How should the feedback be delivered?

  • A. All five in a single message.
  • B. One at a time, verifying each fix before the next.
  • C. As a numbered list appended to CLAUDE.md.
  • D. As five separate slash command invocations.
Answer

A.

One message lets the agent reconcile the issues together. Sequential fixes cause churn — fixing #1 can undo #3.

  • B — The intuitive-but-wrong option. It's slower and produces regressions.
  • C — CLAUDE.md is for standing conventions, not transient feedback.
  • D — No mechanism for this and no benefit.

17

How many concrete input/output examples does the guide recommend when steering generated output toward a desired shape?

  • A. One clear example.
  • B. 2–3 concrete examples.
  • C. 8–10 examples covering all variations.
  • D. Examples are less effective than a detailed prose specification.
Answer

B.

  • A — Underspecifies; one example gets over-fitted.
  • C — Volume dilutes and lengthens context without adding signal.
  • D — Contradicts the guide; examples are a primary mechanism.

18

Which flags produce a non-interactive run with machine-parseable, schema-constrained output? (Select three.)

  • A. -p / --print
  • B. --output-format json
  • C. --json-schema
  • D. --ci
Answer

A, B, and C.

  • D — Does not exist. Nor do --batch, --non-interactive, or the CLAUDE_HEADLESS environment variable.

19

A CI pipeline runs Claude Code for automated review. How does the run pick up project-specific conventions?

  • A. From CLAUDE.md, which is read in headless mode as well.
  • B. Conventions must be inlined into the CI prompt; memory files don't load headlessly.
  • C. From a --rules flag pointing at the rules directory.
  • D. From environment variables set in the CI configuration.
Answer

A.

CLAUDE.md is the CI context carrier — it's already committed and already the source of truth.

  • B — False, and it would duplicate conventions in two places.
  • C — No such flag.
  • D — Not a mechanism for conventions.

20

A CI code-review job is configured to review the same session's generated code immediately after generating it. Reviews rarely find real problems. Why?

  • A. The generating session carries the assumptions that produced any errors; review requires a fresh, independent context.
  • B. The review prompt needs to be longer and more specific.
  • C. Extended thinking should be enabled for the review step.
  • D. The review should run on the full repository rather than the diff.
Answer

A.

Session context isolation. The session that wrote the code is the worst reviewer of it.

  • B — Half-right; a better prompt helps at the margin but doesn't fix the structural problem.
  • C — More reasoning inside the same contaminated context. The interesting distractor.
  • D — Broadens scope and worsens attention dilution.

21

Which review configuration does the exam rank highest?

  • A. A separate reviewer instance with fresh context.
  • B. The generating instance reviewing its own output.
  • C. The generating instance with extended thinking enabled.
  • D. Two sequential self-review passes.
Answer

A.

Independence, not depth. D is just B twice.

22

A CI review job produces so many low-value findings that developers have started ignoring it. Which two actions are appropriate first steps? (Select two.)

  • A. Replace vague instructions with explicit criteria defining what qualifies, including counter-examples.
  • B. Temporarily disable the categories producing most of the false positives.
  • C. Add "be conservative and only report high-confidence issues" to the prompt.
  • D. Reduce the review frequency to weekly.
Answer

A and B.

Explicit criteria fix the root cause; disabling the worst categories buys back trust immediately while you rewrite them.

  • C — The exam's canonical failing instruction. It's an exhortation, not a criterion.
  • D — Hides the problem by running it less often.

23

Which CI workload is appropriate for the Message Batches API?

  • A. The nightly aggregate quality report across all repositories.
  • B. The pre-merge review that gates pull requests.
  • C. Both, since both are automated.
  • D. Neither, since batch does not support tools.
Answer

A.

Nobody waits on the nightly report, and it has a natural overnight window.

  • B — No latency SLA, up to 24 hours. Could block a merge for a day.
  • C — Includes the blocking path.
  • D — Misstates the limitation: batch supports tools; it doesn't support multi-turn tool calling in a single request.

24

A developer's context is filling during a long session and the conversation history is still accurate and relevant. What should they do?

  • A. /compact
  • B. --resume
  • C. fork_session
  • D. Start fresh with a structured summary.
Answer

A.

Same session, filling context, valid history → compact in place.

  • B — For returning to an ended session.
  • C — For branching.
  • D — For when the history is stale, which the stem says it isn't.

25

Which statement about slash commands is correct?

  • A. Each command is a single Markdown file; project commands live in .claude/commands/ and user commands in ~/.claude/commands/.
  • B. Commands are declared as entries in a commands array in .claude/config.json.
  • C. Commands must be registered by an MCP server.
  • D. Project and user commands both live in .claude/commands/, differentiated by frontmatter.
Answer

A.

  • B — Non-existent file and structure.
  • C — Unrelated surfaces.
  • D — Scope comes from location, not frontmatter.

Scoring

Score Read
22–25 Strong.
18–21 Solid; drill Deck 3 on the misses.
13–17 Re-read Chapters 07–08 and Cheatsheet 2.
< 13 This domain is 20% and largely recall — the highest return on rote study of anything on the exam.