Anthropic/Claude Certification Study Guide
A structured study plan for the Claude Certified Architect exam domains. Written for someone already running Claude Code 24/7 with MCP servers, skills, and an always-on agent — the goal is to formalize existing knowledge and close the gaps.
Source material: 06-reference/2026-03-15-claude-architect-course (hooeem’s exam breakdown).
Current Model Specs (as of April 2026)
| Model | Input | Output | Context | Output Window | Extended Thinking | Adaptive Thinking |
|---|---|---|---|---|---|---|
| Claude Opus 4.6 | $5/MTok | $25/MTok | 1M tokens | 128K tokens | Yes | Yes |
| Claude Sonnet 4.6 | $3/MTok | $15/MTok | 1M tokens | 64K tokens | Yes | Yes |
| Claude Haiku 4.5 | $1/MTok | $5/MTok | 200K tokens | 64K tokens | Yes | No |
Decision framework for model selection:
- Opus 4.6: complex reasoning, agentic tasks with long context, high-stakes decisions
- Sonnet 4.6: default for most agent work — best cost/capability ratio at scale
- Haiku 4.5: high-volume classification, triage, lightweight extraction, cost-sensitive pipelines
Domain 1: Agentic Architecture & Orchestration (27%)
Exam weight: highest. Study first.
What RDCO Already Has
- Always-on coordinator agent running on Mac Mini via LaunchAgent + tmux — see memory/project_channels_agent_setup
- Multi-channel orchestration: Discord + iMessage handled through a single session
- Skills-as-subagents pattern:
~/.claude/skills/with specialized skill files - Daily restart loop with
claude updateand plugin refresh context: forkin skill frontmatter for isolation of verbose subagent output
What Needs Studying
Stop reason handling. The exam tests whether you handle stop_reason correctly:
end_turn— model completed normallytool_use— model wants to call a tool (loop continues)max_tokens— context limit hit (requires handling, not just looping)stop_sequence— custom stop sequence triggered
Never use natural language parsing or iteration caps as the primary termination mechanism.
Subagent context isolation. Subagents spawned via the Task tool or Agent SDK do NOT inherit coordinator memory. Every fact the subagent needs must be passed explicitly in its prompt. This is counterintuitive if you think of subagents as threads — treat them as independent stateless processes instead.
Programmatic hook enforcement. For financial or security-critical paths, prompt instructions are not enough. Use:
PreToolCallhooks to enforce tool ordering- Prerequisite gates that block execution until prior steps are verified
PostToolUsehooks for normalizing data formats across tool outputs
Fork session pattern. fork_session in the Agent SDK creates a copy of the current session state for parallel exploration without polluting the main context. Understand when this is appropriate vs. spawning a fresh subagent.
Key Resources
- Agent SDK Overview — agentic loop mechanics
- Building Agents with the Claude Agent SDK — hooks, orchestration, sessions
- Agent SDK Python repo —
hooks,fork_session, custom tool examples - 06-reference/2026-04-06-claude-agent-sdk-guide — Nader Dabit’s walkthrough
- 06-reference/2026-04-07-claude-code-architecture-teardown — internals of the async generator loop
Practice Exercises
- Stop reason audit. Review the channels agent restart script — does it handle
max_tokensexplicitly, or just loop? Add explicit handling for eachstop_reason. - Subagent isolation test. Build a two-agent coordinator/subagent where the coordinator passes a data object, the subagent transforms it, and the coordinator uses the result. Verify the subagent has no implicit access to coordinator history.
- Hook implementation. Add a
PostToolUsehook to a skill that normalizes output formats (e.g., coerces all date strings to ISO 8601). - Policy gate. Implement a
PreToolCallhook that blocks a write tool from executing unless a read tool has already been called in the same session.
Domain 2: Claude Code Configuration & Workflows (23% per study guide; 20% per exam)
What RDCO Already Has
- Full CLAUDE.md hierarchy: SOUL.md (enterprise layer),
~/.claude/CLAUDE.md(user layer), project-level files in repos - Skills directory at
~/.claude/skills/with multiple specialized skills - LaunchAgent plist for persistence, tmux for session management
-pflag awareness for CI/CD non-interactive usecontext: forkfor skill isolation
What Needs Studying
Path-specific rules via .claude/rules/. This is the exam’s “sleeper concept.” A .claude/rules/ directory with YAML frontmatter can apply glob patterns like **/*.test.tsx — rules apply anywhere in the codebase matching the pattern. Directory-level CLAUDE.md cannot do this because it’s geographically scoped, not pattern-scoped.
The team-sharing trap. User-level CLAUDE.md is never checked into the repo. If critical instructions live there, other developers and CI environments don’t see them. Move shared conventions to project-level CLAUDE.md.
Plan mode selection criteria. Know when to use each:
- Plan mode: multi-file migrations, architectural decisions, monolith restructuring — tasks where the scope isn’t fully known upfront
- Direct execution: single-file fixes, clear scope, low blast radius
Independent review sessions. Running a second Claude Code instance as a reviewer (rather than asking the same session to review its own output) catches significantly more issues. The exam tests awareness of this.
Slash commands vs. skills. Know the difference: slash commands are session-scoped shortcuts, skills are durable files loaded on demand.
Key Resources
- Claude Code official docs — CLAUDE.md hierarchy, rules directory, slash commands
- MCP Integration for Claude Code — server scoping, env var expansion
- 06-reference/2026-04-04-claude-code-best-practices — practitioner patterns including compaction at 60%
- 06-reference/2026-04-07-claude-code-architecture-teardown — system prompt caching, four-tier hierarchy
Practice Exercises
- Rules directory setup. Create
.claude/rules/in a project with two glob-pattern rules. Verify they apply correctly to matching files and not to non-matching files. - Configuration audit. Identify any instructions currently in
~/.claude/CLAUDE.mdthat should be in a project-level file for team shareability. - Plan vs. execute drill. Pick a two-file refactor. Do it in plan mode first, noting the difference in output format. Then do a one-liner bug fix in direct execution. Document the decision criteria you used.
- Independent review. After completing a skill, open a fresh Claude Code session and have it review the skill without the context of how it was built. Compare findings to self-review.
Domain 3: API & SDK Integration (20%)
What RDCO Already Has
- MCP servers configured and running (Discord, iMessage, qmd, xmcp, Canva, Gmail, Calendar, Slack, Notion, Playwright, Vercel)
- TypeScript/Node familiarity from project work
- Understanding of the agent loop from Claude Code daily use
What Needs Studying
Message Batches API. Key properties: 50% cost savings, up to 24-hour processing, no latency SLA, no multi-turn tool calling. Use for overnight batch jobs (bulk vault embeddings, nightly report generation). Do not use for blocking pre-merge checks or interactive flows.
tool_choice options. Must know all three modes:
auto— model may return text without calling a toolany— model must call a tool, picks which- Forced (named) — model must call a specific tool
Streaming vs. batch tradeoffs. Know when streaming is necessary (user-facing, interactive) and when batch is appropriate (background processing, cost optimization).
Extended thinking integration. Extended thinking (Opus 4.6, Sonnet 4.6) exposes reasoning before the final answer. Useful for complex decisions but costs more tokens — budget thinking tokens separately.
Adaptive thinking. Available on Opus and Sonnet but not Haiku. Automatically scales thinking depth based on task complexity. Use when you want the model to self-regulate reasoning depth.
Key Resources
- Anthropic API reference — full API surface
- Message Batches API — batch processing docs
- Tool use documentation —
tool_use,tool_choice, schema enforcement - Anthropic Academy: Building with the Claude API
- 06-reference/2026-04-06-claude-agent-sdk-guide — SDK patterns in TypeScript
Practice Exercises
- Batch API test. Run a 10-item batch through the Message Batches API. Handle failures by
custom_id. Compare cost and latency to synchronous calls. tool_choicedrill. Build a minimal agent with three tools. Test all threetool_choicemodes. Observe model behavior in each.- Extended thinking experiment. Call Opus 4.6 with extended thinking on a complex reasoning task. Observe token usage in the thinking block vs. the response. Build intuition for when the cost is worth it.
- Streaming pipeline. Build a simple streaming response handler that yields partial output to the terminal as it arrives. Practice handling
message_start,content_block_delta, andmessage_stopevents.
Domain 4: MCP Implementation (18%)
What RDCO Already Has
- Multiple MCP servers configured and running (see Domain 3 list)
- Project-level
.mcp.jsonwith environment variable expansion - Experience with both community servers (qmd, Discord, iMessage plugins) and understanding of when custom builds are needed
- 06-reference/2026-04-04-xcodebuildmcp for toolchain-specific servers
What Needs Studying
Tool description quality. This is the most undertested area relative to experience. Tool descriptions are the primary mechanism Claude uses for tool selection — vague or overlapping descriptions cause misrouting even with correct implementations.
Exercise: write two tools with intentionally overlapping descriptions. Observe misrouting. Then fix the descriptions. The experience is more instructive than any reading.
Per-subagent scoping. The exam tests the principle that each subagent should have 4–5 tools scoped to its role, not a shared pool of 18+. More tools = degraded selection reliability.
MCP transport types. Understand stdio (subprocess, same machine) vs. HTTP+SSE (remote, networked) and when each is appropriate. Most local development uses stdio; production agents serving multiple clients use HTTP.
Error responses from MCP tools. Structured error responses (failure type, context, alternatives) are better than throwing exceptions. The model can incorporate structured errors into its reasoning; unstructured exceptions cannot be reasoned about.
Key Resources
- MCP specification — protocol details
- MCP Integration for Claude Code — project vs. user config, env var expansion
- Anthropic Academy: Introduction to Model Context Protocol
- MCP community servers — reference implementations
- 06-reference/2026-04-04-xcodebuildmcp — example of toolchain-specific MCP integration
Practice Exercises
- Description quality audit. Review tool descriptions on all running MCP servers. Identify any that are vague or could overlap. Rewrite them with precise, non-overlapping language.
- Misrouting experiment. Create two tools with identical descriptions. Run 10 test prompts. Log which tool gets selected and when. Then fix descriptions and repeat.
- Custom MCP server. Build one custom MCP server from scratch (e.g., a tool that wraps a local CLI or API we don’t have a community server for). Implement structured error responses.
- Transport comparison. Run the same tool as both
stdioand HTTP. Note the configuration differences and latency characteristics.
Domain 5: Production Deployment (12%)
What RDCO Already Has
- Production always-on deployment: LaunchAgent + tmux + daily restart — memory/project_channels_agent_setup
- Persistent state via session
--resumeflag - 1Password wrapper scripts for secret management (no
.envfiles on disk) — memory/feedback_no_secrets_on_disk - Daily update cycle for Claude and plugins
acceptEditspermission mode with expanding allowlist
What Needs Studying
System prompt caching. Static content above the cache boundary (base instructions, tool definitions, stable CLAUDE.md) gets cached by Anthropic infrastructure. Dynamic content below flows fresh each request. This is why SOUL.md stability matters — churn in the instruction layer has real cost. Rohit estimated ~80% cache hit rates in the Claude Code architecture — 06-reference/2026-04-07-claude-code-architecture-teardown.
Escalation design. Three valid triggers: user requests human, policy gap, cannot progress. The exam specifically tests that sentiment analysis and self-reported confidence scores are NOT reliable escalation triggers.
Context management at scale. Persistent “case facts” blocks for transactional data (amounts, dates, IDs) that are never summarized. Key summaries at the beginning of context (not the middle — “lost in the middle” effect). Compaction strategy at 60% context utilization.
Cost modeling. For production billing, understand:
- Token consumption patterns for your use case
- Caching economics (how much static content can you push above the boundary)
- Batch vs. synchronous cost tradeoffs
- Model tier selection per task type
Non-interactive CI/CD. The -p flag for headless Claude Code runs. Structured output for machine-readable results. Managing permissions in CI contexts (no interactive prompts).
Key Resources
- Building Agents with the Claude Agent SDK — context management, escalation design
- Agent SDK session docs — resumption,
fork_session, compaction - Everything Claude Code repo — production patterns, scratchpad files
- Anthropic Academy: Claude Code in Action
- 06-reference/2026-04-07-claude-code-architecture-teardown — system prompt caching architecture
Practice Exercises
- Cache boundary audit. Identify what content in our current system prompts and CLAUDE.md files is static vs. dynamic. Restructure to maximize static content above the cache boundary.
- Escalation logic review. Review the channels agent’s behavior when it hits policy gaps. Does it have explicit escalation triggers? Add structured escalation with the three valid trigger types.
- Cost model. Build a simple spreadsheet estimating monthly token costs for the channels agent at current usage. Factor in caching hit rates and model tier selection.
- CI/CD pipeline. Set up a Claude Code
-prun in a GitHub Actions workflow (or local equivalent) that produces structured JSON output. Handle permission prompts without interactive input.
Study Schedule
Week 1 — Foundation
- Domain 1 (Agentic Architecture): read Agent SDK docs, implement stop_reason handling, subagent isolation test
- Domain 4 (MCP): description quality audit across all running servers, build one custom server
Week 2 — Configuration & Output
- Domain 2 (Claude Code Config): rules directory setup, configuration audit, plan vs. execute drill
- Domain 4 (Prompt Engineering): few-shot examples deep dive,
tool_usewith nullable fields, batch API test
Week 3 — API & Production
- Domain 3 (API & SDK): extended thinking experiment, streaming pipeline,
tool_choicedrill - Domain 5 (Production): cache boundary audit, cost model, escalation logic review
Week 4 — Synthesis
- Work through all six exam scenarios end to end
- Review hooeem’s sample questions (Q10, Q11, Q12 from the original article — prompt engineering domain)
- Identify remaining gaps; targeted drilling
Quick Reference: Anti-patterns to Reject on Sight
| Domain | Anti-pattern | Correct approach |
|---|---|---|
| Agentic | Natural language parsing for loop termination | Check stop_reason explicitly |
| Agentic | Iteration cap as primary stopping mechanism | Tool results or explicit completion signals |
| Agentic | Checking assistant text to infer completion | Structured stop_reason + tool result patterns |
| Agentic | Assuming subagents share memory | Pass all context explicitly in the prompt |
| Tool Design | Vague/overlapping tool descriptions | Precise, non-overlapping descriptions |
| Tool Design | 18 tools per agent | 4–5 tools per scoped subagent |
| Prompt Eng | ”Be conservative” for precision | Define exactly which cases to include vs. skip |
| Context | Progressive summarization of transactional data | Persistent verbatim “case facts” block |
| Context | Sentinel analysis for escalation | Explicit trigger conditions: request, policy gap, no progress |
| Context | Silently suppressing errors | Structured error context with failure type + alternatives |
Related Vault Docs
- 06-reference/2026-03-15-claude-architect-course — source article with domain breakdown
- 06-reference/2026-04-06-claude-agent-sdk-guide — Agent SDK walkthrough
- 06-reference/2026-04-07-claude-code-architecture-teardown — Claude Code internals
- 06-reference/2026-04-04-claude-code-best-practices — practitioner patterns
- 06-reference/2026-04-04-anthropic-skills-internally — how Anthropic structures skills
- 06-reference/2026-04-04-planning-with-files-skill — planning pattern for complex tasks