Primary domains: D1 Agentic Architecture & Orchestration (27%) · D2 Tool Design & MCP Integration (18%) · D3 Claude Code Configuration & Workflows (20%) Spans 65% of the blueprint — the highest of any single scenario. Build this lab first.
Brief
A developer-productivity agent built on the Claude Agent SDK. It helps engineers explore unfamiliar codebases, understand legacy systems, generate boilerplate, and automate repetitive tasks. It uses the built-in tools (Read, Write, Bash, Grep, Glob) and integrates Model Context Protocol servers.
This is the scenario closest to what Gnar already ships, which makes it both the cheapest lab to build and the most convincing one to demo.
Task statements in play
| ID | Statement |
|---|---|
| 1.1 | Design and implement agentic loops for autonomous task execution |
| 1.3 | Configure subagent invocation, context passing, and spawning |
| 1.6 | Design task decomposition strategies for complex workflows |
| 2.1 | Design effective tool interfaces with clear descriptions and boundaries |
| 2.3 | Distribute tools appropriately across agents and configure tool choice |
| 2.4 | Integrate MCP servers into Claude Code and agent workflows |
| 2.5 | Select and apply built-in tools (Read, Write, Edit, Bash, Grep, Glob) effectively |
| 3.1 | Configure CLAUDE.md files with appropriate hierarchy, scoping, and modular organization |
| 3.5 | Apply iterative refinement techniques for progressive improvement |
The decisions it tests
Community MCP server or a custom one. The guide's rule here is narrow and specific: choose existing community MCP servers over custom implementations for standard integrations (its example is Jira), reserving custom servers for team-specific workflows. Scoping follows the same axis — project-level .mcp.json for shared team tooling, user-level ~/.claude.json for personal/experimental servers.
Two adjacent choices the guide states separately, and does not fold into one framework:
- Skill or
CLAUDE.md. Skills are on-demand invocation for task-specific workflows;CLAUDE.mdis always-loaded universal standards. That is the guide's framing of the choice — note that it is skills againstCLAUDE.md, not skills against tools. - MCP tool or built-in. The guide's concern is the opposite of wrapping: enhance MCP tool descriptions to explain capabilities and outputs in detail, to prevent the agent preferring a built-in (like
Grep) over a more capable MCP tool.
> Ours, not the guide's. An earlier version of this page taught a four-way "built-in vs custom tool > vs Skill vs MCP server" decision with reuse and ownership as the deciding questions. That framework > is our heuristic; it is nowhere in the guide, and no exam item is written against it. It is still a > reasonable way to think, and this being the "build first" lab we do apply it — but the three bullets > above are the guide's actual content, and they are what an item can test.
Tool descriptions as the selection mechanism. The model chooses tools from their descriptions, so minimal or overlapping descriptions cause unreliable selection. analyze_content and analyze_document with near-identical descriptions is the guide's own example of misrouting. Fixes: rename to express the real boundary, add input formats and example queries, or split a generic tool into purpose-specific ones with defined I/O contracts.
Decomposing open-ended work. "Understand this legacy system" has no fixed pipeline. Map the structure first, identify high-impact areas, then build a prioritized plan that adapts as dependencies surface — rather than committing to a fixed sequence up front. Contrast with a predictable multi-aspect review, where prompt chaining is the better fit.
Where the loop stops. stop_reason is tool_use to continue, end_turn to terminate. Not the presence of assistant text, not a natural-language "I'm done", not an iteration cap as the primary control.
Reference build
A codebase-exploration agent pointed at this repo:
- Agent SDK loop driven by
stop_reason, tool results appended to history each iteration - Built-ins for traversal, plus one MCP server exposing a capability the built-ins genuinely lack
- Add one deliberately overlapping tool pair, observe the misrouting, then fix it by splitting and renaming. Demonstrate the failure — do not describe it
- A
CLAUDE.mdshowing hierarchy and scoping, with a note on what belongs at each level
Traps
- Scale over design — "use a larger model so it picks the right tool" instead of fixing the descriptions.
- Hope over enforcement — adding "please use the correct tool" to the system prompt instead of removing the ambiguity.
- Writing a custom MCP server for a standard integration that already has a community one — the guide reserves custom servers for team-specific workflows.
- Handing the agent every tool available. Too many tools (the guide's example: 18 instead of 4-5) degrades tool selection reliability by increasing decision complexity.
- Assuming a subagent inherits the parent's context. It does not — see
s3.md.