CCAR-F curriculum

30 lessons across the five domains in the published Architect (Foundations) blueprint. Each carries worked examples, the exam traps for that topic, and a quick check. Domains below are ordered by weight, heaviest first — Agentic Architecture & Orchestration alone is over a quarter of the paper.

All five domain weights are from Anthropic's CCAR-F exam guide v1.0, effective July 2026. Prompt Engineering & Structured Output (20%) and Context Management & Reliability (15%) were corrected from earlier estimates on 2026-10-27 — see the changelog.

Agentic Architecture & Orchestration

27% of exam · 16 questions · 7 lessons
  1. 1.1 Agentic loops and termination conditions

    Drive the loop by stop_reason: continue on "tool_use", stop on "end_turn". Let the model pick the path; an iteration cap is a safety net, not the steering wheel.

  2. 1.2 Coordinator-subagent orchestration

    The coordinator owns decomposition, delegation, routing, and synthesis. Scope broadly, pick subagents per query, and loop on gaps until coverage is sufficient.

  3. 1.3 Subagent invocation and context passing

    Subagents are spawned with the Task tool and inherit nothing. Pass complete, structured findings in the prompt, fan out in one response, and give goals, not scripts.

  4. 1.4 Workflow enforcement and handoff design

    When an ordering rule must hold every time, enforce it in code with a prerequisite gate. When escalating, give the human a structured summary, not a transcript.

  5. 1.5 Agent SDK hooks for interception and normalization

    Hooks are deterministic: PostToolUse reshapes tool results before the model sees them; call interception blocks policy violations and reroutes. Prompts persuade.

  6. 1.6 Task decomposition strategies

    Match decomposition to the workflow: fixed prompt chains for predictable multi-aspect reviews, adaptive plans for open-ended work that grow from what's found.

  7. 1.7 Session state, resumption, and forking

    Resume a named session while its context holds, fork_session to explore alternatives from one baseline, and start fresh with a summary when tool results are stale.

Claude Code Configuration & Workflows

20% of exam · 12 questions · 6 lessons
  1. 3.1 CLAUDE.md hierarchy and modular configuration

    Put team instructions at project level, not in ~/.claude/CLAUDE.md. Keep CLAUDE.md modular with @import and .claude/rules/, and check what loaded with /memory.

  2. 3.2 Custom slash commands and skills

    Team commands and skills live in .claude/, personal variants in ~/.claude/. Use context: fork to isolate output, allowed-tools to restrict, argument-hint to prompt.

  3. 3.3 Path-specific rules for conditional loading

    A .claude/rules/ file with a paths: glob loads only when Claude edits matching files. Use it for file-type conventions, not copies in directory CLAUDE.md files.

  4. 3.4 Plan mode vs direct execution

    Plan when a change is architectural, multi-file, or has several valid approaches; execute directly when scope is clear. Use the Explore subagent for discovery.

  5. 3.5 Iterative refinement techniques

    If prose is read inconsistently, give 2-3 input/output examples. Write tests first and share failures, interview before unfamiliar work, batch interacting fixes.

  6. 3.6 Claude Code in CI/CD pipelines

    In CI, use -p so runs can't hang, --output-format json with --json-schema for findings, CLAUDE.md for context, and an independent instance for review.

Prompt Engineering & Structured Output

20% of exam · 12 questions · 6 lessons
  1. 4.1 Explicit criteria for precision

    Precision comes from categorical criteria that say what to report and what to skip, not from telling the model to "be conservative" or report only sure findings.

  2. 4.2 Few-shot prompting for consistency

    When detailed instructions still give inconsistent output, 2–4 targeted examples showing the format and the reasoning on ambiguous cases are the most effective fix.

  3. 4.3 Structured output and schema enforcement

    Tool use with a JSON schema is the reliable route to schema-compliant output. Choose tool_choice deliberately; make absent data nullable so it never gets invented.

  4. 4.4 Validation, retry, and feedback loops

    Retry with specific validation errors fixes format and structure mistakes, not missing information. Add fields that let output check itself and explain dismissals.

  5. 4.5 Batch processing strategies

    The Message Batches API halves cost but can take up to 24 hours with no latency SLA. Use it for work nobody is waiting on, and correlate and resubmit by custom_id.

  6. 4.6 Multi-instance and multi-pass review

    A model reviewing its own work in the same session inherits its own reasoning. Use a fresh instance, and split big reviews into per-file and cross-file passes.

Tool Design & MCP Integration

18% of exam · 11 questions · 5 lessons
  1. 2.1 Tool descriptions and boundaries

    The model picks tools from their descriptions. Fix confusion by renaming and rewriting both overlapping tools, splitting generic ones, and checking the prompt.

  2. 2.2 Structured error responses for MCP tools

    Return failures with isError, a category, a retryable flag, and a clear message. Keep empty results apart from failed access, and retry transient errors locally.

  3. 2.3 Tool distribution and tool_choice

    Give each agent only the tools its role needs, add narrow cross-role tools for frequent needs, and use tool_choice to require a tool call or a specific first tool.

  4. 2.4 Integrating MCP servers

    Shared servers go in .mcp.json with ${VAR} secrets, personal ones in ~/.claude.json. Describe MCP tools well, expose catalogs as resources, use community servers.

  5. 2.5 Choosing built-in tools

    Grep searches contents, Glob matches paths, Edit needs a unique anchor, and Read + Write is the fallback. Explore from Grep entry points, not by reading everything.

Context Management & Reliability

15% of exam · 9 questions · 6 lessons
  1. 5.1 Preserving critical context in long interactions

    Summaries blur the exact numbers a case depends on. Keep transactional facts in a persistent case-facts block, trim tool output, and put key findings first.

  2. 5.2 Escalation and ambiguity resolution

    Escalate on explicit triggers (a request for a human, a policy gap, no progress), not sentiment or self-rated confidence. With multiple matches, ask.

  3. 5.3 Error propagation in multi-agent systems

    Subagents retry transient failures locally and propagate the rest with structured context. Never report a failure as an empty success or abort on one failure.

  4. 5.4 Context management in large codebase exploration

    Long exploration sessions drift into vague "typical pattern" answers. Delegate discovery to subagents, persist findings in scratchpads, and compact.

  5. 5.5 Human review workflows and confidence calibration

    A 97% aggregate can hide a failing document type. Validate by segment, calibrate field-level confidence on labeled data, and keep sampling automated output.

  6. 5.6 Information provenance and uncertainty in synthesis

    Attribution dies in summarization unless claim-source mappings travel with findings. Annotate conflicts with sources instead of picking one; keep dates.