The New Rules of Context Engineering for Claude 5 Models (What to Delete From Your CLAUDE.md)
Read time: ~7 minutes. Key facts:
- Anthropic removed over 80% of Claude Code’s system prompt for Claude Opus 5 and Fable 5 — with no measurable loss on its coding evaluations.
- The old playbook now backfires: strict rules, usage examples in tool descriptions, comprehensive upfront CLAUDE.md, and repeating instructions for emphasis all constrain Claude 5 models rather than help them.
- The new defaults: judgment over rules, expressive tool interfaces over examples, progressive disclosure via skills, one authoritative source per instruction, auto-memory, and rich references (real code, HTML mockups) over prose specs.
/doctor(in Claude Code) rightsizes your skills and CLAUDE.md against these principles.Sourcing note: every rule and the 80% figure are from Anthropic’s official post, The new rules of context engineering for Claude 5 generation models. The
doctorcommand was verified present in Claude Code 2.1.220 while writing this. Links at the bottom.
Here’s the number that should make you open your CLAUDE.md: Anthropic deleted over 80% of Claude Code’s own system prompt for Opus 5 and Fable 5 — and measured no loss on their coding evals. If the people who build the model cut that much, the elaborate prompt scaffolding you wrote for the 4.x era is probably working against you now. Anthropic published the rules behind that cut. Here’s what changed and what to delete.
1. Strict rules → judgment
Old: spell out every constraint. “Never write multi-paragraph docstrings.” New: describe the goal and let the model read the room. “Write code that reads like the surrounding code.”
Claude 5 models are good enough at using surrounding context that hard rules mostly cost you tokens and flexibility — and they misfire in the cases your rule didn’t anticipate. Replace prescriptive bans with an outcome plus the context needed to judge it.
Delete: long lists of micro-rules about style that a competent engineer would infer from the codebase.
2. Examples in tool descriptions → expressive tool interfaces
This one is counterintuitive, because few-shot examples are gospel for older models. Anthropic’s point: in a tool description, usage examples “constrain them to a certain exploration space” — Claude anchors on your examples instead of reasoning about the full space of valid calls.
Do instead: invest in the interface:
- Expressive, instructive parameter names that hint at intended behavior.
- Clear enumerations — e.g.
status: "pending" | "in_progress" | "completed"— instead of a prose description plus an example call.
A well-typed tool signature teaches better than a sample invocation. (Note this is specifically about tool definitions; examples remain useful for steering prose style — see stopping Claude’s filler phrases.)
3. Comprehensive upfront context → progressive disclosure
Old: cram everything the agent might need into an always-present system prompt / CLAUDE.md. New: load detail only when it’s needed, via skills.
Think of skills as “lightweight guides to let Claude find information when needed” rather than mandatory reading. For a long skill, split it into many files so only the relevant part loads. This is the same economics as the token-overhead problem: everything always-on is a per-turn tax (see cutting Claude Code’s token overhead).
Delete: the monolithic instruction file that covers “every known practice.”
4. Repetition for emphasis → a single authoritative source
Old: repeat the important instruction in the system prompt and the tool description and CLAUDE.md, so it can’t be missed. New: say it once, in the right place. Duplicated instructions across sources create conflicts — and conflicting guidance is worse than sparse guidance.
Concretely: tool guidance belongs in the tool definition, not also in the system prompt. Go delete the copies.
5. Manual memory → auto-memory
Claude now automatically saves memories relevant to the work, so the hand-maintained “remember that we…” section of CLAUDE.md is largely obsolete. Let the memory system carry continuity; keep your file for things that are stable and structural, not session state.
6. Markdown specs → rich references
Old: describe the thing in prose. New: point at the real artifact. Anthropic is explicit: “Prefer files that are in code as it provides clear, high-fidelity instructions,” and “an HTML mockup of a design will generally produce better results than a description.”
Use @mentions to reference in-depth specs, mockups, or whole codebases. Real code, test suites, HTML artifacts, and rubrics beat paragraphs about them — they’re unambiguous and the model can inspect them.
What your CLAUDE.md should actually contain
Per Anthropic, keep it lightweight:
- A brief description of what the repo is.
- The gotchas — the non-obvious things that will bite (e.g. “types live in one monolithic file, which is non-standard here”).
- Push complex, situational instructions out into skills with progressive disclosure.
Not in it: obvious observations Claude can read off the code, every style rule, duplicated tool guidance, or session state.
Deferred tool loading
One more lever for tool-heavy setups: some tools support deferred loading — the agent must search for their full definitions (via ToolSearch) before use, rather than carrying every schema upfront. That lets you expose more tools without paying their full context cost every turn. If your agent has a sprawling toolbelt, this is how you keep the always-on prefix small.
Run /doctor
Anthropic ships an adoption tool: /doctor in Claude Code “rightsizes your skills and CLAUDE.md files” against these principles. It’s the fastest way to act on this post — instead of guessing what to cut, let it flag the bloat.
# in a Claude Code session
/doctor
# also available from the CLI
claude doctor
(Verified present in Claude Code 2.1.220 while writing this guide.)
The honest caveats
- This is for the Claude 5 generation (Opus 5, Fable 5, and siblings). If you still run 4.x-era models anywhere, the older, more prescriptive style may still serve them — don’t strip a prompt that’s feeding an older model.
- “No measurable loss” is on Anthropic’s coding evals, not your workload. The direction is well-evidenced, but cut incrementally and re-run your own evals rather than deleting 80% of your prompt in one commit.
- Sparse ≠ empty. The advice is to remove redundant and over-prescriptive context, not necessary context. Gotchas, product framing, and genuine constraints stay.
The takeaway
Anthropic cut over 80% of Claude Code’s system prompt for Opus 5 / Fable 5 with no measurable eval loss, and the rules behind it invert the 4.x playbook: judgment over strict rules, expressive tool interfaces over usage examples, progressive disclosure via skills over upfront dumps, one authoritative source over repetition, auto-memory over hand-kept notes, and real code/mockups over prose specs. Keep CLAUDE.md to what the repo is plus the gotchas, move the rest into skills, delete duplicate instructions, and run /doctor to find the bloat. Then cut incrementally and check against your own evals.
For the cost side of the same coin, see reducing Claude Code’s token overhead; for the model this is written for, how to switch to Claude Opus 5.
Sources
- The new rules of context engineering for Claude 5 generation models — Anthropic — the six shifts (strict rules → judgment; examples → tool interface design; upfront context → progressive disclosure; repetition → single authoritative source; manual CLAUDE.md memory → auto-memory; markdown specs → rich references); CLAUDE.md guidance (lightweight, gotchas-focused); skills as lightweight guides with file-splitting; expressive parameters and clear enumerations over examples;
@mentionsand preferring code/HTML mockups; deferred tool loading via ToolSearch;/doctorto rightsize skills and CLAUDE.md; over 80% of Claude Code’s system prompt removed for Opus 5 / Fable 5 with no measurable loss on coding evaluations claude doctor//doctorverified present in Claude Code 2.1.220 (July 26, 2026)- The 80% figure is measured on Anthropic’s own coding evaluations — validate changes against your own before making sweeping cuts. Verified July 26, 2026.