Study guides / CCDV-F
Build exercises
A hands-on exercise for every lesson - one build task, with hints, to prove you can actually apply the concept, not just recognise it.
Domain 1 - Applications & Integration
-
Send a raw Messages API call and inspect every field of the response
From 1.1 - The Messages API: Requests and Responses
-
Stream a response and correctly reassemble a streamed tool call
From 1.2 - Streaming Responses
-
Extract a structured value from an image and add a sanity check
From 1.3 - Vision: Working with Images
-
Measure the token-usage difference caching makes
From 1.4 - Prompt Caching for Cost and Latency
-
Build a two-tool application loop end to end, including a failure path
From 1.5 - Wiring Tool Use into an Application Loop
-
Compare thinking vs. no-thinking on a multi-step reasoning task, and replay a thinking block correctly
From 1.6 - Extended Thinking in Production Apps
-
Match five application briefs to the right shape, then implement one as a real batch call
From 1.7 - Claude Application Design Patterns
-
Implement exponential backoff with jitter and an idempotency key
From 1.8 - Rate Limits, Retries and Idempotency
-
Move a hardcoded API key into environment-based config, and add a minimal backend proxy
From 1.9 - API Keys, Auth and Config Management
-
Write mocked unit tests for request construction and response handling, plus one structural assertion on live output
From 1.10 - Testing Claude-Integrated Applications
-
Pin a model version, build a format-focused eval set, and simulate a staged rollout comparison
From 1.11 - Versioning and Rolling Out Model Changes
Domain 2 - Model Selection & Optimisation
-
Run the same tasks across the model family and compare cost, quality, and behaviour
From 2.1 - Claude Model Family and Trade-offs
-
Estimate, cache, and reduce a real request's token cost across all four buckets
From 2.2 - Token Economics: Counting, Budgeting and Pricing
-
Build a small eval set and apply the stepping-down method
From 2.3 - Choosing a Model for a Task
-
Compare effort levels, task budgets, and the thinking-disabled pitfall on the same model
From 2.4 - Effort and Thinking Budget as Optimisation Levers
-
Build and validate a layered cost strategy: caching, batching, and routing together
From 2.5 - Cost Optimisation Techniques
Domain 3 - Agents & Workflows
-
Build a loop that handles five distinct stop_reason values
From 3.1 - Building an Agentic Loop
-
Build and compare single-agent, sequential, and parallel hub-and-spoke reviews
From 3.2 - Single-Agent vs. Multi-Agent Orchestration
-
Decompose a multi-objective prompt into a verified pipeline
From 3.3 - Task Decomposition Strategies
-
Prune tool results, write a session summary, and verify a fresh-start handoff
From 3.4 - Session State and Memory Across Turns
-
Add deterministic pre-execution gates around two sensitive tool calls
From 3.5 - Reliability Gates in Agentic Workflows
Domain 4 - Prompt & Context Engineering
-
Rewrite a vague instruction with explicit criteria and measure the difference
From 4.1 - System Prompts with Explicit Criteria
-
Build a validate-and-retry extraction loop
From 4.2 - Structured Output and Validation Loops
-
Add tagged few-shot examples to a formatting task
From 4.3 - Few-Shot Prompting for Output Consistency
-
Trim stale tool results instead of the conversation text
From 4.4 - Context Window Management
Domain 5 - Tools & MCPs
-
Tighten two overlapping tool schemas
From 5.1 - Designing Tool Schemas Claude Can Use Reliably
-
Connect an MCP server and scope it deliberately
From 5.2 - Integrating and Building MCP Servers
-
Design categorised error responses and control tool selection deliberately
From 5.3 - Tool Choice and Structured Error Responses
Domain 6 - Security & Safety
-
Design capability scoping and content isolation around an untrusted-content agent
From 6.1 - Prompt Injection and Untrusted Content
-
Write and enforce an allowlist for a scoped agent
From 6.2 - Tool Permissions: Least Privilege, Allowlists and Denylists
-
Add a pre-execution hook that gates one specific tool by consequence
From 6.3 - Guardrails: Hooks and Human-in-the-Loop for Risky Actions
Domain 7 - Claude Code
-
Write a CLAUDE.md, lock down permissions, and add a hook and a slash command
From 7.1 - Operating Claude Code Day to Day
-
Run Claude Code headlessly in a pipeline-shaped setup
From 7.2 - Running Claude Code in CI/CD
Domain 8 - Eval, Testing & Debugging
-
Trigger, diagnose, and correctly handle five different error types
From 8.1 - Debugging Claude API Errors
-
Build a fixed eval harness with exact-match and LLM-as-judge grading, and run a valid before/after comparison
From 8.2 - Building an Evaluation Harness