Primary domains: D3 Claude Code Configuration & Workflows (20%) · D5 Context Management & Reliability (15%) — spans 35%
Brief
Claude Code used to accelerate software development — code generation, refactoring, debugging, and documentation. It must be integrated into the development workflow with custom slash commands and CLAUDE.md configuration, and the candidate must understand when to use plan mode versus direct execution.
Task statements in play
| ID | Statement |
|---|---|
| 3.1 | Configure CLAUDE.md files with appropriate hierarchy, scoping, and modular organization |
| 3.2 | Create and configure custom slash commands and skills |
| 3.3 | Apply path-specific rules for conditional convention loading |
| 3.4 | Determine when to use plan mode vs direct execution |
| 3.5 | Apply iterative refinement techniques for progressive improvement |
| 5.1 | Manage conversation context to preserve critical information across long interactions |
| 5.4 | Manage context effectively in large codebase exploration |
The decisions it tests
The CLAUDE.md hierarchy, and what belongs at each level. The guide names three levels: user-level (~/.claude/CLAUDE.md), project-level (.claude/CLAUDE.md or root CLAUDE.md), and directory-level (subdirectory CLAUDE.md files). User-level settings apply only to that user — instructions in ~/.claude/CLAUDE.md are not shared with teammates via version control, which is the guide's own diagnostic for "the new team member never got the rule". Modularity has two named mechanisms: @import for referencing external files, and the .claude/rules/ directory for topic-specific rule files as an alternative to a monolithic CLAUDE.md. Use /memory to verify which memory files are actually loaded.
Path-specific rules are glob-scoped, not subtree-scoped. .claude/rules/ files take YAML frontmatter paths fields containing glob patterns — literally paths: ["terraform/**/*"] — and load only when editing matching files. The guide's stated advantage of glob-pattern rules over directory-level CLAUDE.md files is precisely for conventions that span multiple directories, e.g. **/*.test.tsx for all test files wherever they live. Reading this as "conditional loading for a subtree" gets the mechanism backwards: a subtree is what a directory-level CLAUDE.md already does.
Plan mode versus direct execution. Plan mode is designed for complex tasks involving large-scale changes, multiple valid approaches, architectural decisions, and multi-file modifications; it enables safe codebase exploration and design before committing to changes, preventing costly rework. Direct execution is appropriate for simple, well-scoped changes — the guide's example is adding a single validation check to one function. The two combine: plan mode for investigation, direct execution for implementation. Also in 3.4: the Explore subagent, for isolating verbose discovery output and returning summaries so the main conversation's context survives a multi-phase task.
Ours: we read this as "commit the rule, don't hold a preference" — a written decision rule is what the lab builds. That framing is ours; the four triggers above are the guide's.
Commands and skills — scope, then frontmatter. What task statement 3.2 actually contains: project-scoped commands in .claude/commands/ (shared via version control) vs user-scoped commands in ~/.claude/commands/ (personal); skills in .claude/skills/ with SKILL.md files whose frontmatter supports context: fork, allowed-tools, and argument-hint; context: fork for running a skill in an isolated sub-agent context so verbose skill output does not pollute the main conversation; allowed-tools to restrict tool access during skill execution; argument-hint to prompt for required parameters when the skill is invoked without arguments; and personal variants in ~/.claude/skills/ under different names to avoid affecting teammates.
The choice the guide poses is skills versus CLAUDE.md — skills for on-demand invocation of task-specific workflows, CLAUDE.md for always-loaded universal standards. It is not framed as slash commands versus skills. An earlier version of this page said choosing between commands and skills "is task statement 3.2's whole content"; that was our inference and it was wrong on both counts.
Session state is a real design surface. Note the domain, though: session resumption and forking are task statement 1.7, published under D1 — which is not a primary domain of S2, so an S2 draw cannot test them. Read this for the mechanism behind the lab; the context consequences are what 5.1 and 5.4 cover.
- Named session resumption using
--resume <session-name>continues a specific prior conversation. fork_sessioncreates independent branches from a shared analysis baseline to explore divergent approaches — the guide's examples are comparing two testing strategies or refactoring approaches from a shared codebase analysis.- Inform a resumed session about specific file changes for targeted re-analysis, rather than requiring full re-exploration.
- Starting a new session with a structured summary is more reliable than resuming with stale tool results. Choose resumption when prior context is mostly valid, and start fresh with an injected summary when prior tool results are stale.
Reference build
The repo's own .claude/ directory is the teaching artifact — it is more convincing than a toy:
- A
CLAUDE.mddemonstrating hierarchy and scoping, with a note on why each rule sits where it does - Path-specific rules loading conventions for one subtree only
- Two custom slash commands, plus one skill, with a written rationale for the split
- A short, explicit plan-mode-vs-direct rule committed as project convention
- A worked
--resumeandfork_sessionexample, and a documented case where starting fresh with a summary was the better call
Traps
- Putting everything in one giant
CLAUDE.md— context is a budget. - Plan mode as a blanket habit, or never using it. Both fail the "state the rule" test.
- Resuming a session after significant file changes without telling the agent what moved.
- Truncate over structure — dropping history to save context instead of compacting it or isolating work into a subagent.