0Pricing
Claude Architect · Lesson

The Five Exam Domains

Agents, Tools/MCP, Claude Code, Prompting, Context — and their weights.

The Five Exam Domains is a free Claude Architect lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Claude Architect learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Why Domains Matter

The exam splits into five weighted domains. Knowing the weights tells you where to invest your study time. This lesson maps all five and what each one tests.

The Five Domains at a Glance

Memorize the five and their weights (they total 100%): D1 27%, D2 18%, D3 20%, D4 20%, D5 15%. D1 is the heaviest; D3 and D4 tie for second. Study accordingly.

domains = {
    "D1 Agent Architecture & Orchestration": 27,
    "D2 Tool Design & MCP": 18,
    "D3 Claude Code Config & Workflows": 20,
    "D4 Prompt Engineering & Structured Output": 20,
    "D5 Context Management & Reliability": 15,
}
assert sum(domains.values()) == 100

D1 — Agent Architecture (27%)

D1 — Agent Architecture (27%) tests the agentic loop: check stop_reason, run tools on tool_use, resend the full history, and repeat until end_turn. Never stop by parsing for 'done'.

resp = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    tools=tools,
    messages=messages,  # full history every turn
)
if resp.stop_reason == "tool_use":
    results = run_tools(resp.content)
    messages.append({"role": "user", "content": results})
    # loop again until stop_reason == "end_turn"

D1 — Multi-Agent & Hooks

D1 also covers multi-agent orchestration: subagents don't inherit the coordinator's history, so pass context explicitly. Plus hooks — deterministic enforcement for financial, legal, or safety stakes.

AgentDefinition(
    name="refund_specialist",
    description="Handles verified refund requests",
    system_prompt="...full context, since history is NOT inherited...",
    allowed_tools=["get_customer", "process_refund"],  # least privilege
)
# Coordinator's allowedTools MUST include "Task" to delegate

D2 — Tool Design & MCP (18%)

D2 — Tool Design and MCP (18%): tool descriptions drive selection, not names. Keep 4-5 tools per agent, and use tool_choice to allow, require, or force a tool call.

{
  "name": "lookup_order",
  "description": "Fetch an order by ID. Input: order_id like 'ORD-1234'. "
                 "Returns status, items, total. Returns isError if the ID "
                 "is unknown. Use only after the customer is verified.",
  "input_schema": {"type": "object",
      "properties": {"order_id": {"type": "string"}},
      "required": ["order_id"]}
}

D2 — MCP Primitives & Errors

D2 covers MCP's three primitives — Tools, Resources, and Prompts — plus injecting secrets via env vars (never commit tokens) and preferring structured errors that enable recovery.

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
    }
  }
}

D3 — Claude Code Config (20%)

D3 — Claude Code Config (20%): the CLAUDE.md hierarchy — user-level is personal (not shared via VCS), project-level is shared. Use @path imports and scoped .claude/rules/ to save context.

---
paths:
  - "src/payments/**"
---
# Payment module rules
- Never log full card numbers.
- All refunds over $500 require a hook-enforced approval.

# (Loads only when editing files under src/payments/)

D3 — Workflows & CI/CD

D3 also covers workflows: use plan mode for big or architectural changes, direct execution for quick fixes. For CI/CD, run with -p and --output-format json, and review in an isolated session.

claude -p "Review the diff for correctness bugs only" \
  --output-format json \
  --append-system-prompt "Report only NEW or UNFIXED issues"

D4 — Prompting & Structured Output (20%)

D4 — Prompting (20%): explicit criteria beat vague guidance, and few-shot examples aid consistency. For structured output, pair tool_use with JSON Schema, marking a field required only if always set.

schema = {
    "type": "object",
    "properties": {
        "category": {"enum": ["bug", "feature", "other"]},
        "detail": {"type": "string"},  # free text for 'other'
        "severity": {"type": "integer"},  # optional, may be absent
    },
    "required": ["category"],  # only the always-present field
}

D4 — Validation & Retry

D4 also tests recovery: retry-with-feedback fixes format and arithmetic errors, but not missing info. And remember — a fresh-instance review beats same-session self-review.

def retry_with_feedback(doc, bad_output, error):
    return client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        messages=[{"role": "user", "content":
            f"Document:\n{doc}\n\nYour previous output:\n{bad_output}\n"
            f"\nValidation error:\n{error}\nReturn corrected JSON."}],
    )

D5 — Context & Reliability (15%)

D5 — Context and Reliability (15%) is small but trap-filled: progressive summarization makes numbers vague, so keep case facts verbatim. Watch lost-in-the-middle, and escalate on real triggers.

case_facts = {            # kept VERBATIM, never summarized
    "order_id": "ORD-1234",
    "refund_amount": 540.00,
    "order_date": "2026-05-02",
}
summary = summarize(long_history)  # vague over time
prompt = f"CASE FACTS (authoritative):\n{case_facts}\n\nSummary:\n{summary}"

Quick Check

Test your grasp of the domain weights and where one key decision lives.

Recap — The Five Domains

You've got the exam map: D1 27%, D2 18%, D3 20%, D4 20%, D5 15% (total 100%), pass at 720. Study D1 hardest, and never guess at identity or completion.

Frequently asked questions

Is the “The Five Exam Domains” lesson free?

Yes — the full text of “The Five Exam Domains” is free to read here on the web, and the Claude Architect course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Claude Architect course, upgrade to CoddyKit PRO.

What will I learn in “The Five Exam Domains”?

Agents, Tools/MCP, Claude Code, Prompting, Context — and their weights. You practise Claude Architect with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Claude Architect?

No prior experience is required. Claude Architect on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “The Five Exam Domains” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Claude Architect lesson?

Yes. Every Claude Architect lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. The Certification at a Glance
  2. The Five Exam Domains
  3. Scenario-Based Format & Scoring
  4. Who Should Take This Exam
← Back to Claude Architect