Pass the CCAR-F together.
An interactive study academy for Anthropic's Claude Certified Architect – Foundations exam. Everything here is built from the official exam guide: a structured learning pathway, five domain deep-dives with mnemonics and decision trees, a 52-card flashcard deck, and four practice tests with domain-level score reports.
What the exam weighs
Five content domains. The weight is the share of the 60 scored items — hover a bar for the approximate item count. Spend your study time in the same proportions.
The six scenarios
Every question is framed by one of six production scenarios; your sitting draws 4 of the 6 at random, so prepare all six. Learn each scenario's shape and which domains it pulls from.
1 · Customer Support Resolution Agent
Agent SDK agent handling returns, billing disputes, account issues via MCP tools (get_customer, lookup_order, process_refund, escalate_to_human). Target: 80%+ first-contact resolution.
D1 D2 D5
2 · Code Generation with Claude Code
Team workflow integration: slash commands, CLAUDE.md configuration, plan mode vs direct execution.
D3 D5
3 · Multi-Agent Research System
Coordinator delegates to search, analysis, synthesis, and report subagents to produce cited research reports.
D1 D2 D5
4 · Developer Productivity
Agent SDK tools for codebase exploration, legacy systems, boilerplate, automation — built-ins (Read, Write, Bash, Grep, Glob) plus MCP servers.
D2 D3 D1
5 · Claude Code for CI
Automated code review, test generation, PR feedback in CI/CD — actionable prompts, minimal false positives.
D3 D4
6 · Structured Data Extraction
Extract from unstructured documents, validate with JSON schemas, handle edge cases, feed downstream systems.
D4 D5
How you're scored
Criterion-referenced: you pass by meeting a fixed standard (scaled 720 on a 100–1,000 scale), not by beating other candidates. The score report shows percent-correct per domain — diagnostic only; pass/fail rides on the total scaled score.
Explicitly out of scope
Don't burn study time on: fine-tuning, API auth/billing, MCP server hosting/deployment, model internals, Constitutional AI/RLHF, embeddings, computer use, vision, streaming, rate limits & pricing math, OAuth details, cloud-provider specifics, prompt-caching internals, tokenization.
Three weeks to exam-ready
Sequenced heaviest-domain-first, with hands-on labs from the official guide (Section 8) — the exam tests practical judgment, so the labs matter as much as the reading. Progress is saved in your browser.
Week 1 Foundations: Agents & Tools
Week 2 Claude Code & Prompt Engineering
Week 3 Reliability + Full Rehearsal
Domain deep-dives
Each domain distilled from the guide's task statements into the decisions the exam actually tests, plus the traps its distractors are built from.
27% Domain 1 · Agentic Architecture & Orchestration ▸
The agentic loop (§1.1)
Send request → inspect stop_reason → if tool_use: execute the tools, append results to conversation history, loop; if end_turn: done. The model decides the next tool from context — that model-driven choice is what makes it "agentic" vs a pre-wired decision tree.
stop_reason is the only correct loop control.Coordinator–subagent orchestration (§1.2–1.3)
- Hub-and-spoke: all inter-subagent communication routes through the coordinator — observability, consistent error handling, controlled information flow.
- Context isolation: subagents inherit nothing. Pass prior findings, source metadata, and quality criteria explicitly in the subagent prompt; use structured formats to separate content from metadata (URLs, doc names, page numbers) so attribution survives.
- Spawning: the Task tool spawns subagents; the coordinator's
allowedToolsmust include"Task". Parallelism = multiple Task calls in a single response, not across turns. - Coordinator prompts state goals and quality criteria, not step-by-step procedure — subagents need room to adapt. Watch for too-narrow decomposition (the "creative industries → only visual arts" failure).
- Dynamic routing: a good coordinator selects which subagents a query needs rather than always running the full pipeline.
Enforcement: hooks vs prompts (§1.4–1.5)
- Prerequisite gates: programmatically block
process_refunduntilget_customerreturned a verified ID. - Tool-call interception: block policy violations (refund > $500) and redirect to escalation.
- PostToolUse hooks: normalize heterogeneous tool output (Unix timestamps, ISO 8601, numeric status codes) before the model sees it.
- Handoffs: escalating to a human who can't see the transcript? Compile a structured summary — customer ID, root cause, amounts, recommended action.
Decomposition & sessions (§1.6–1.7)
--resume <name>; tell the agent exactly which files changed for targeted re-analysis. fork_session to explore divergent approaches from a shared baseline.18% Domain 2 · Tool Design & MCP Integration ▸
Tool descriptions are the routing layer (§2.1)
Descriptions are the primary mechanism for tool selection. Minimal or overlapping descriptions cause misrouting. The fix hierarchy: enrich descriptions first (inputs, example queries, edge cases, boundaries vs similar tools) — before few-shot examples, routing layers, or consolidation. Also audit system prompts for keyword-sensitive wording that hijacks selection, and split generic tools into purpose-specific ones with clear I/O contracts.
Structured errors (§2.2)
| Category | Examples | Retryable? | Agent should… |
|---|---|---|---|
| Transient | timeout, service unavailable | Yes | retry locally inside the subagent |
| Validation | malformed input | After fixing input | correct and re-call |
| Business | policy violation | No | explain to user / escalate (retriable: false + friendly text) |
| Permission | unauthorized | No | stop, don't waste retries |
Tool distribution & tool_choice (§2.3)
- Too many tools (18 vs 4–5) degrades selection; scope each agent to its role. Out-of-role tools get misused (a synthesis agent running web searches).
- High-frequency cross-role need? Give a scoped tool (e.g.
verify_factfor the synthesis agent); complex cases still route via coordinator. - Constrain risky generic tools: replace
fetch_urlwithload_documentthat validates URLs.
| tool_choice | Behavior | Use when |
|---|---|---|
auto | may call a tool or answer in text | conversation allowed |
any | must call some tool | guarantee structured output when doc type unknown |
{"type":"tool","name":"…"} | must call that specific tool | force a specific extraction to run first |
MCP configuration (§2.4)
- Project scope
.mcp.json→ shared team tooling, version-controlled. User scope~/.claude.json→ personal/experimental. Both load simultaneously; tools discovered at connection time. - Secrets: env-var expansion
${GITHUB_TOKEN}in .mcp.json — never commit credentials. - MCP resources expose content catalogs (schemas, issue summaries, doc hierarchies) so agents don't burn exploratory tool calls.
- Prefer community servers for standard integrations (Jira); build custom only for team-specific workflows. Write rich MCP tool descriptions or the agent will prefer built-ins like Grep.
Built-in tool selection (§2.5)
20% Domain 3 · Claude Code Configuration & Workflows ▸
Where does configuration live? (§3.1–3.3)
| You want… | Put it in | Why |
|---|---|---|
| Universal team standards, always loaded | project CLAUDE.md | version-controlled, everyone gets it on clone |
| Personal preferences | ~/.claude/CLAUDE.md | user-level, never shared — classic bug: "teammate isn't getting the instructions" |
| Modular standards per package | @import in CLAUDE.md | selective inclusion, keeps files focused |
| Conventions by file type across directories | .claude/rules/ + YAML paths: globs | loads only when editing matching files (e.g. **/*.test.tsx) — beats directory CLAUDE.md for scattered files |
| Team slash command | .claude/commands/ | shared via version control (~/.claude/commands/ = personal) |
| On-demand task workflow | .claude/skills/ SKILL.md | invoked when needed vs CLAUDE.md's always-on cost |
Skill frontmatter (§3.2)
context: fork— run in an isolated sub-agent context so verbose output doesn't pollute the main conversation.allowed-tools— restrict tool access during the skill (e.g. no file writes).argument-hint— prompt developers for required parameters.- Personal variant of a team skill? Create it under
~/.claude/skills/with a different name.
Plan mode vs direct execution (§3.4)
Iterative refinement (§3.5)
- Concrete input/output examples beat prose when descriptions get interpreted inconsistently — give 2–3.
- Test-driven iteration: write the test suite first, share failures to steer improvement.
- Interview pattern: have Claude ask questions first to surface considerations (cache invalidation, failure modes) in unfamiliar domains.
- Interacting problems → one detailed message; independent problems → fix sequentially.
CI integration (§3.6)
claude -p "…"(--print) = non-interactive mode; without it the CI job hangs waiting for input.--output-format json+--json-schema= machine-parseable findings for inline PR comments.- CLAUDE.md supplies CI context: testing standards, fixtures, review criteria.
- An independent Claude instance reviews better than the session that wrote the code (it carries generation bias). Re-running after new commits? Include prior findings; ask only for new/unaddressed issues. Provide existing test files so generation doesn't duplicate coverage.
--batch flag and CLAUDE_HEADLESS env var do not exist. < /dev/null stdin tricks are wrong answers. The answer is -p.20% Domain 4 · Prompt Engineering & Structured Output ▸
Precision prompting (§4.1–4.2)
- Explicit categorical criteria ("flag a comment only when it contradicts actual code behavior") beat vague dials ("be conservative", "high-confidence only") — those don't move precision.
- False positives destroy trust in accurate categories too. Triage: temporarily disable the noisy category while you fix its prompt; define severity levels with concrete code examples.
- Few-shot examples are the top technique for consistent format and for teaching judgment on ambiguous cases: 2–4 targeted examples showing why one action beat the plausible alternative; include desired output format (location, issue, severity, fix); show acceptable vs genuine-issue pairs; demonstrate varied document structures. Reduces extraction hallucination.
Structured output via tool_use (§4.3)
- tool_use + JSON schema = guaranteed schema-compliant output, no JSON syntax errors. But it doesn't prevent semantic errors — line items can still not sum to total, values can land in the wrong fields.
- Nullable/optional fields for info the document may lack — required fields force the model to fabricate. Enums get
"unclear"and"other"+ detail string for extensibility. - Self-validation flows: extract
calculated_totalalongsidestated_total; addconflict_detectedbooleans.
Validation & retry (§4.4)
Add detected_pattern fields to findings so dismissed false positives can be analyzed systematically.
Batch processing (§4.5)
custom_id.- Fit: non-blocking, latency-tolerant work (overnight reports, weekly audits, nightly test generation). Never for blocking pre-merge checks — those stay synchronous.
- SLA math: 30-hour delivery promise with 24-hour processing → submit every 4–6 hours.
- Failures: resubmit only failed docs (by
custom_id), modified (e.g. chunk oversized docs). Refine prompts on a sample before batching the full volume.
Multi-instance & multi-pass review (§4.6)
- A model reviewing its own output keeps its generation reasoning — an independent instance without that context catches more.
- Large reviews: per-file passes for local issues + a separate cross-file integration pass; avoids attention dilution and contradictory findings.
- Have the model self-report confidence per finding to route review — but calibrate against labeled data (see D5).
15% Domain 5 · Context Management & Reliability ▸
Keeping the important stuff in context (§5.1, §5.4)
- Progressive summarization risk: numbers, percentages, dates, customer-stated expectations blur into vague summaries. Fix: extract transactional facts into a persistent "case facts" block included in every prompt, outside summarized history.
- Lost in the middle: models process the beginning and end of long inputs reliably; middles get dropped. Put key-findings summaries first; use explicit section headers.
- Trim verbose tool outputs to relevant fields (40-field order lookups when 5 matter) before they accumulate.
- Long exploration: scratchpad files persist findings across context boundaries; subagents isolate verbose discovery; summarize each phase before the next;
/compactwhen context fills; crash recovery via structured state manifests the coordinator reloads on resume.
Escalation (§5.2)
- Frustrated but resolvable? Acknowledge, offer the fix, escalate only if they insist again.
- Multiple customer matches → ask for more identifiers, never pick heuristically.
- Add explicit escalation criteria with few-shot examples to the system prompt.
Error propagation in multi-agent systems (§5.3)
Subagents recover locally from transient failures; what they can't resolve they propagate with structured context: failure type, attempted query, partial results, viable alternatives. Coordinator can then retry-modified, reroute, or proceed-with-gaps. Synthesis output carries coverage annotations: which findings are well-supported vs gapped by unavailable sources.
Human review & confidence calibration (§5.5)
- 97% aggregate accuracy can hide a failing document type or field — segment accuracy by type and field before automating anything.
- Stratified random sampling of high-confidence extractions measures ongoing error rates and catches novel patterns.
- Field-level confidence scores are only useful after calibration against labeled validation sets; route low-confidence and contradictory-source extractions to limited reviewer capacity.
Provenance & multi-source synthesis (§5.6)
- Summarization loses attribution unless subagents emit claim-source mappings (URL, doc name, excerpt) that synthesis must preserve and merge.
- Credible sources conflict? Annotate both with attribution — never silently pick one. Require publication dates so temporal differences aren't read as contradictions.
- Render by content type: financial data as tables, news as prose, technical findings as structured lists. Distinguish well-established vs contested sections.
Cross-domain trap sheet
The exam's wrong answers are built from a small set of recurring bad instincts. If an option smells like one of these, it's a distractor:
--batch, CLAUDE_HEADLESS, commands arrays in config JSON. If you've never seen it in the guide, it isn't real.Flashcards
Tap a card (or press Space) to flip, then rate it — Got it or Again. Both ratings are remembered, and when you reach the end of the deck it restarts and shows you what you know versus what still needs review. Progress persists in your browser.
Practice tests
Same format as the real exam: the scenario sits on the left, the question and its options on the right, and items are grouped into scenario blocks. Multiple-response items state how many to select. The three full-length exams run 60 items in 120 minutes — exam length, exam pace, blueprint weighting. Results include an estimated scaled score and a per-domain breakdown like the official score report.
Domain drills
Untimed, instant feedback after each question. Hit your weak domains here.
Analyze your score report
Sat the exam (or a Pearson rehearsal)? Bring your score report here and get a prioritized restudy plan: domain averages, ranked scoring upside, and your weakest objectives mapped to this academy's content. Everything is processed in your browser — the report never leaves your device. Please don't paste a teammate's report without their OK.
Add your report
Choose the PDF from Pearson VUE, or open it, Select All, Copy, and paste the text below.
No report handy? Enter numbers manually (e.g., from a practice test here)
Exam day playbook
Registering
- Anthropic Partner Academy → your exam's certification page.
- Review the Exam Guide, Terms & Conditions, Exam Policy.
- Register and pay ($125; partner-tier discounts apply at checkout).
- Create a Pearson VUE account from the confirmation.
- Pick a date — online proctored or a Pearson test center.
- Reschedule/cancel up to 24h before; inside 24h forfeits the fee.
On the day
- Government photo ID, unexpired, name matching registration exactly (fix mismatches via certifications-support@anthropic.com before scheduling).
- Stay in webcam view the whole session (online).
- Workspace clear: no notes, books, phones, smart watches, headphones, second monitors, recording devices.
- No communicating with anyone; never capture or reproduce exam content.
- You'll accept an NDA before starting — decline and the session ends, no refund.
- Late arrival or no-show forfeits the fee.
Retakes & validity
- Waiting periods grow per attempt: 14 → 30 → 90 days; max 4 attempts per rolling 12 months. Fee applies each time.
- Credential valid 12 months. On-time renewal: free, non-proctored assessment on Partner Academy. Lapse = full retake at full fee.
- Appeals: within 14 days of notification (or of exam date for result concerns), via Pearson VUE support.
Test-taking strategy
- 120 min ÷ 60 items = 2 min/question — the pace these practice tests train.
- Read the scenario framing first; it tells you which domain's logic applies.
- Multiple-response items state exactly how many to select.
- Eliminate trap-sheet patterns first (over-engineering, fake flags, unreliable proxies) — usually kills two options instantly.
- Prefer the proportionate first response: fix descriptions/criteria/config before adding infrastructure.
- Flag and move on; a criterion-referenced exam rewards banking easy points.