Claude Code
3.1% of examOperate Claude Code as an agentic coding tool -- its core component types, the CLAUDE.md memory hierarchy, settings.json as the permissions/behavior control surface, and the session, headless, streaming, and auto-mode operating features.
4
task statements
9
concepts
12
practice questions
Domain Mastery
Identify Claude Code's core component types
Distinguishing Rules, Skills, Commands, Agents, and Agent Memory as Claude Code's core component types and knowing what each one is for.
Knowledge of
- Rules as standing instructions/conventions Claude Code should always follow in a repo, often expressed in CLAUDE.md
- Skills as packaged, reusable capabilities defined by a SKILL.md (instructions plus optional scripts/resources) that Claude loads when relevant
- Commands as slash commands -- built-in (/clear, /init, /help) and custom Markdown prompt files in .claude/commands/
- Agents as subagents with focused roles/tool sets that Claude Code can delegate to
- Agent Memory as persisted context, notably CLAUDE.md, that survives across turns/sessions
Skills in
- Distinguishing which of the five component types (Rules, Skills, Commands, Agents, Agent Memory) fits a given operational need
- Recognizing a SKILL.md-defined capability as a Skill rather than a Command or Agent
- Recognizing a delegated, focused-role subtask as an Agent rather than a Command
- Locating custom slash commands as Markdown files under .claude/commands/
Concepts
Claude Code's Five Core Component Types
✎CoreThe five core component types are Rules, Skills, Commands, Agents, and Agent Memory
Built-in vs. Custom Slash Commands
✎CoreBuilt-in slash commands include /clear (reset context), /init (bootstrap CLAUDE.md), and /help
.claude/rules/: Scoped by Frontmatter, Not by Folder
✎CoreRules files live in .claude/rules/ and add a narrower, path-scoped layer on top of CLAUDE.md's always-on baseline
Plugin Marketplaces and Portable Path Variables
✎CoreA plugin packages skills, hooks, subagents, and MCP server configs into a single install, shipped through a marketplace
Apply the CLAUDE.md memory hierarchy
Understanding CLAUDE.md as hierarchical, auto-loaded project memory merged across enterprise, user, project, and subdirectory levels, and how to bootstrap it.
Knowledge of
- CLAUDE.md as a special Markdown file Claude Code automatically pulls into context as project memory
- The four hierarchy levels -- enterprise/system, user (~/.claude/CLAUDE.md), project (./CLAUDE.md), and subdirectory -- and that more specific files layer on top of broader ones
- That project-level CLAUDE.md is checked into version control so the whole team shares the same guidance
- /init as the command that bootstraps a starter CLAUDE.md from an existing codebase
- The distinction between CLAUDE.md (memory/instructions loaded into context) and settings.json (executable configuration/permissions)
Skills in
- Choosing the correct CLAUDE.md level (enterprise, user, project, or subdirectory) for a given piece of guidance
- Committing project-level CLAUDE.md to version control so conventions are shared team-wide
- Running /init to bootstrap a starter CLAUDE.md for an existing repository
- Not placing permissions, hooks, or tool allow/deny rules in CLAUDE.md
Concepts
Configure behavior and permissions via settings.json
Using settings.json as the deterministic control surface for tool permissions, hooks, environment variables, model selection, and MCP servers, distinct from CLAUDE.md.
Knowledge of
- settings.json location at ~/.claude/settings.json (user) and .claude/settings.json (project)
- What settings.json configures: tool allow/deny lists, hook definitions, environment variables, model selection, and MCP servers
- settings.json as a deterministic control surface -- an allow/deny rule or hook can block a dangerous command regardless of what the model proposes
- The clean separation between CLAUDE.md (context/memory) and settings.json (behavior/permissions)
Skills in
- Placing tool allow/deny rules, hooks, environment variables, model selection, and MCP server config in settings.json rather than CLAUDE.md
- Using a settings.json allow/deny rule or hook as a deterministic guardrail against a dangerous action, independent of model behavior
- Locating the correct settings.json file (user-level vs. project-level) for a given scope of configuration
Concepts
settings.json as the Deterministic Control Surface
✎Coresettings.json (user: ~/.claude/settings.json, project: .claude/settings.json) configures tool permissions, hooks, env vars, model selection, and MCP servers
The Full Hook Event Lifecycle
✓AdvancedThe full hook lifecycle is PreToolUse, PostToolUse, UserPromptSubmit, Stop, Notification, SessionStart, and SessionEnd
Distinguish Claude Code's session and operating-mode features
Differentiating session management, streaming mode, headless mode, and auto-mode, and applying the gather-context-plan-act-verify best-practice loop.
Knowledge of
- Session management: conversations persist as resumable sessions; /clear resets context to keep it focused
- Headless mode: non-interactive execution (e.g., claude -p) for scripting, CI pipelines, and automation, with no interactive TUI
- Streaming mode: incremental output emission, including structured stream-JSON, for programmatic consumption
- Auto-mode: reduced-friction autonomous operation with less step-by-step confirmation, which should be paired with permission rules and hooks
- The gather context -> make a plan -> act -> verify best-practice loop, and tightening it with custom commands/hooks rather than long, brittle prompts
Skills in
- Choosing headless mode for CI/scripting scenarios where no interactive prompt should appear
- Choosing streaming mode when output needs to be consumed incrementally/programmatically
- Pairing auto-mode with settings.json permission rules and hooks rather than relying on it unguarded
- Applying the gather-context, plan, act, verify loop and tightening it via custom commands and hooks
- Distinguishing headless mode (non-interactivity) from auto-mode (autonomy level) when a scenario could be misread as either
Concepts
Headless, Streaming, and Auto-Mode
✎CoreSession management persists conversations as resumable sessions; /clear resets context to stay focused
The Headless/Streaming Flag Set
✓Advanced--print / -p runs Claude Code non-interactively (headless), printing output and exiting with no TUI