In short Out of the box Claude Code is general-purpose. You make it yours with four things: CLAUDE.md — the project's standing memory; subagents — delegate a piece without cluttering context; hooks — deterministic guardrails; plus skills and MCP.
CLAUDE.md — the project's memory
The problem: the agent forgets everything between sessions (working memory and context) — re-explaining the stack, conventions, build commands each time.
CLAUDE.md is a file in the project that Claude Code reads automatically every session. Into it goes the standing context: the stack and project structure; conventions (style, naming, what not to touch); commands (build, test, deploy); important rules and pitfalls.
Analogy: a note to a new hire on the wall — no need to explain each morning how things are done. Write it once, it always applies. It's the same role as projects in projects and artifacts, but for a codebase.
Subagents
A subagent is a separate agent the main Claude delegates a sub-task to in its own, isolated context. It does the work and returns the result, while its "scratch" back-and-forth doesn't clutter the main context.
Why: clean context (a heavy code search would eat the window, agent context management; the subagent does it "off to the side" and hands back a digest) and specialisation (subagents for roles — reviewer, researcher, debugger). Analogy: sending an assistant to go through an archive and bring back a summary, rather than dragging the whole archive onto your desk.
Hooks
A hook is a script Claude Code runs automatically at a certain moment (before an action, after a file edit, on finish). Unlike prompt instructions, a hook fires deterministically — always, not "if the model remembers."
Why a hard guarantee: formatting (run the formatter after every edit); command blocking (forbid the dangerous — rm -rf, pushing to main); notifications (a ping when a task finishes). Analogy: the safety interlock on a machine — it fires by itself, not "when the worker remembers." A prompt asks, a hook guarantees.
Plus skills and MCP
Skills — package a recurring engineering process (Claude skills). MCP — connect external systems with no hand-written schema (MCP).
| Tool | What it gives |
|---|---|
| CLAUDE.md | standing project memory |
| Subagents | delegation + clean context |
| Skills | repeatable processes |
| MCP | connecting external systems |
| Hooks | hard guarantees (formatting, bans, notifications) |
Related
The source is the Claude Code 101 course. Related: Claude Code — the terminal agent, Claude skills, MCP, agent context management.