Reference · Claude Certified Architect — Foundations
Glossary
Canonical terms, seeded from the exam guide Appendix. Adhere to these definitions in every lesson.
Domain 1 · Agentic Architecture & Orchestration
stop_reason D1
The field on a Claude response that drives loop control. "tool_use" → the model
wants to call a tool; execute it, append the result, and loop. "end_turn" → the
model is done; stop. Anti-patterns: using iteration caps as the
primary stop signal, or parsing assistant text for words like "done." Guide: Domain 1, Task 1.1; Appendix.
agentic loop D1
Send request → inspect stop_reason → if tool_use, run the tool and
append its result to conversation history → loop; if end_turn, finish. Tool results
must be added to context so the model can reason about the next action.
Guide: Domain 1, Task 1.1.
coordinator–subagent (hub-and-spoke) D1
A coordinator decomposes the task, delegates to specialized subagents, and aggregates
results; all inter-agent communication routes through it for observability and consistent
error handling. Subagents run with isolated context — they do not
inherit the coordinator's history. Risk: overly narrow decomposition
→ incomplete coverage of broad topics. Guide: Domain 1, Tasks 1.2–1.3.
multi-agent (orchestrator–worker) D1
A lead/coordinator agent decomposes a query and spawns specialized subagents that work in
parallel, each in isolated context, each returning a condensed summary (not its full context).
Big quality win on breadth-first research (Anthropic: +90.2% vs single-agent) but
~15× the tokens of a chat. Avoid when steps are dependent or must
share context (e.g., most coding). Scale effort to complexity: simple fact → 1 agent; broad research → 10+.
Anthropic, multi-agent research system; Guide Domain 1 Tasks 1.2–1.3.
Task tool / allowedTools D1
Subagents are spawned via the Task tool; a coordinator's allowedTools
must include "Task" to invoke them. Subagent context must be passed explicitly
in the prompt. Emit multiple Task calls in a single response to run
subagents in parallel. Guide: Domain 1, Task 1.3.
--resume <name> / fork_session D1
--resume <session-name> continues a specific prior conversation.
fork_session branches independently from a shared baseline to explore divergent
approaches. Prefer starting fresh with a structured summary over resuming with stale tool
results. Guide: Domain 1, Task 1.7.
PostToolUse hooks / tool-call interception D1
Hooks intercept tool I/O deterministically. PostToolUse transforms tool
results (e.g., normalize timestamps) before the model sees them; interception hooks
block outgoing tool calls that violate policy (e.g., refunds > $500). Choose hooks
over prompt instructions when compliance must be guaranteed.
Guide: Domain 1, Tasks 1.4–1.5.
Domain 2 · Tool Design & MCP Integration
tool_choice D2 · D4
Controls whether/which tool Claude must call. "auto" (default) — model may call
a tool or reply with text. "any" — must call some tool, model
picks which. {"type":"tool","name":"…"} — must call that named tool
(forced). "none" — no tools. With any/forced, the API forces a tool,
so no natural-language preamble is emitted. See Lesson 0002.
Guide: Domain 2 Task 2.3, Domain 4 Task 4.3; docs.claude.com.
tool_use (guaranteed structured output) D2 · D4
Defining a tool with a JSON schema and reading the model's tool_use response is
the most reliable way to get schema-compliant output — it eliminates JSON syntax
errors. It does not eliminate semantic errors (wrong field values,
line items that don't sum). Guide: Domain 4, Task 4.3.
isError flag D2
MCP mechanism for signaling a tool failure back to the agent so it can react, rather than
silently treating failure as success. Guide: Domain 2, Task 2.2.
structured error context D2 · D5
Return errorCategory (transient / validation / business / permission), an
isRetryable / retriable:false flag, what was attempted, and partial
results — so a coordinator can recover intelligently. Distinguish access failures
(needing retry) from valid empty results (a successful query with no matches).
Anti-patterns: generic "Operation failed"; suppressing errors as
success; aborting the whole workflow on one failure. Guide: Domain 2 Task 2.2, Domain 5 Task 5.3.
.mcp.json scoping D2
Project-level .mcp.json — shared, version-controlled team tooling. User-level
~/.claude.json — personal / experimental servers. Use env-var expansion
(${GITHUB_TOKEN}) for credentials without committing secrets. Tools from all
configured servers are discovered at connection time. Guide: Domain 2, Task 2.4.
MCP resources vs tools D2
Tools perform actions. Resources expose content catalogs (issue
summaries, doc hierarchies, schemas) so agents gain visibility into available data without
exploratory tool calls. Guide: Domain 2, Task 2.4.
Domain 3 · Claude Code Configuration & Workflows
CLAUDE.md hierarchy D3
User-level ~/.claude/CLAUDE.md (personal, not shared via version
control), project-level (./CLAUDE.md or .claude/CLAUDE.md, shared),
and directory-level (subdirectory CLAUDE.md). Use @import to keep it
modular; /memory to see which files are loaded. Guide: Domain 3, Task 3.1.
.claude/rules/ with glob paths D3
Topic rule files with YAML frontmatter paths: ["**/*.test.*"]. They load
only when editing matching files and apply by file path regardless of
directory — the right tool for conventions spread across the tree (e.g., test files).
Preferred over a subdirectory CLAUDE.md (directory-bound) or a monolithic root
CLAUDE.md (relies on inference). Guide: Domain 3, Task 3.3; sample Q6.
.claude/commands/ (slash commands) D3
Project-scoped .claude/commands/ = shared via version control, available to
everyone who clones the repo. User-scoped ~/.claude/commands/ = personal, not
shared. Guide: Domain 3, Task 3.2; sample Q4.
.claude/skills/ — SKILL.md frontmatter D3
Skills support frontmatter: context: fork (run in an isolated sub-agent so
verbose output doesn't pollute the main conversation), allowed-tools (restrict
tool access during the skill), argument-hint (prompt for required params). Skills
= on-demand task workflows; CLAUDE.md = always-loaded universal standards.
Guide: Domain 3, Task 3.2.
plan mode vs direct execution D3
Plan mode for large-scale changes, multiple valid approaches, architectural decisions,
multi-file work — explore/design before committing. Direct execution for simple, well-scoped
changes (single-file bug fix). The Explore subagent isolates verbose discovery output.
Guide: Domain 3, Task 3.4; sample Q5.
CLI: -p / --output-format json / --json-schema D3
-p (a.k.a. --print) runs Claude Code non-interactively for CI
(prevents hangs waiting on input). --output-format json with --json-schema
enforces machine-parseable structured output for pipelines. Guide: Domain 3, Task 3.6; sample Q10.
Domain 4 · Prompt Engineering & Structured Output
Message Batches API D4
50% cost savings, up to a 24-hour processing window, no guaranteed latency SLA;
custom_id correlates request/response pairs and identifies failures to resubmit.
No multi-turn tool calling within a single request. Good for latency-tolerant
jobs (overnight reports); wrong for blocking workflows (pre-merge
checks). Guide: Domain 4, Task 4.5; sample Q11.
few-shot prompting D4
2–4 targeted examples — most effective when detailed instructions alone give inconsistent
output. Use to demonstrate ambiguous-case handling and exact output format, and to reduce
hallucination in extraction. They help the model generalize, not just match the shown
cases. Guide: Domain 4, Task 4.2.
Schema design: prefer nullable / optional fields when source data may
be absent (prevents fabrication); add an "other" + detail enum for extensible
categories; "unclear" for ambiguity. (Domain 4, Task 4.3.)
Domain 5 · Context Management & Reliability
lost-in-the-middle D5
Models reliably use information at the beginning and end of long inputs
but may omit content in the middle. Mitigate by placing key findings up front and using
explicit section headers. Guide: Domain 5, Task 5.1.
scratchpad / "case facts" files D5
Persist transactional facts (amounts, dates, order #s) in a dedicated block included in
every prompt, outside the summarized history — so progressive summarization can't
blur them. Trim verbose tool outputs to only relevant fields before they accumulate.
Guide: Domain 5, Task 5.1; Task 5.4.
escalation triggers D5
Escalate on: explicit customer request for a human, policy gaps/exceptions, or inability
to make meaningful progress. Add explicit criteria + few-shot examples to the system prompt.
Unreliable proxies: sentiment analysis and self-reported confidence
scores. Multiple matches → ask for another identifier, don't guess.
Guide: Domain 5, Task 5.2; sample Q3.
claim-source provenance D5
Preserve claim→source mappings (URL, doc name, excerpt) through synthesis. Annotate
conflicting statistics with their sources instead of arbitrarily picking one; require
publication/collection dates so temporal differences aren't misread as contradictions.
Guide: Domain 5, Task 5.6.