Anthropic removed over 80% of Claude Code’s system prompt for Opus 5 and Fable 5 with no measurable loss on its coding evals, and published two guides telling you to do the same to your own context. The list of things that now hurt more than they help is long and specific: verification instructions (“double-check your answer”), few-shot examples for tool use, repeated rules, and conservative framing in code-review prompts, which Opus 5 follows literally and reports fewer bugs because of. The /doctor command in Claude Code will do a first pass on your CLAUDE.md and skills. The catch worth thinking about: guardrails that used to sit in plain text you could diff now sit inside model judgement you can’t. The HN thread cleared 400 points and spent most of its ~290 comments arguing about the phrase “load-bearing seam” instead.
Anthropic shipped Claude Opus 5 on Friday. The same day, Thariq Shihipar published the number that should make you open your CLAUDE.md: Claude Code’s system prompt lost more than 80% of its text for the Claude 5 generation, and the coding evals didn’t move.
That is a strange thing for a model vendor to advertise. It amounts to admitting that most of what was in there was scar tissue.
The rules were compensating for something that got fixed
The clearest example in the post is code comments. The old system prompt said:
In code: default to writing no comments. Never write multi-paragraph docstrings or multi-line comment blocks […] Don’t create planning, decision, or analysis documents unless the user asks for them.
Blunt, and wrong for a decent share of requests: some code genuinely wants a multi-line comment block. The rule existed because older models, left to their own judgement, wrote bad comments often enough to make the tradeoff worth taking. The replacement is one sentence: “Write code that reads like the surrounding code: match its comment density, naming, and idiom.”
Shihipar’s post lists five more reversals of advice that was standard practice a year ago. Examples for tool use are now discouraged, because they constrain the model to the exploration space the examples imply; design expressive tool parameters instead, and let an enum like pending | in_progress | completed do the teaching. Repeating instructions across the system prompt and the tool description is out, since Claude 5 models no longer favour the end of the context window. Stuffing everything upfront gives way to progressive disclosure: verification and code review became skills loaded on demand, and some Claude Code tools are deferred, so the agent calls ToolSearch before it can use them. Manual # memory writes to CLAUDE.md are out because memory saves automatically. Markdown specs are out where a test suite, an HTML mockup, or a function in another codebase is a higher-fidelity reference.
The advice for what remains: keep CLAUDE.md light, describe what the repo is for in a line or two, and spend the tokens on gotchas a reader of the file system wouldn’t guess.
Instructions that now cost you money
The Opus 5 prompting guide is the more actionable of the two, because it names specific strings to delete.
Verification instructions are the big one. Opus 5 verifies its own work unprompted, so a line like “include a final verification step for any non-trivial task” or “use a subagent to verify” compounds with the behaviour and produces over-verification. Anthropic says removing them cuts wasted tokens with no quality loss. Same for “double-check your answer” and “re-verify before responding”.
The code-review finding is the one I’d act on today. Opus 5 reviews with high precision and recall, and if your review prompt says “only report high-severity issues” or “be conservative”, it takes you at your word and reports less. Ask for everything, then filter in a separate pass. Anyone who wrote a review prompt defensively against an older model’s false-positive rate is now paying for that caution in missed bugs, which pairs badly with the vulnerability-discovery unblocking that shipped in the same release.
Two more behaviours need active suppression. Opus 5 delegates to subagents readily, which is great for wide independent investigations and expensive for anything one agent finishes in five tool calls, so cap it explicitly. And its default responses run long, including the files it writes to disk. The effort parameter controls thinking volume, and lowering it will leave the visible answer about as long, so prompt for length directly.
With thinking disabled, Opus 5 occasionally writes a tool call into its user-facing text instead of emitting a tool_use block. The turn completes, the call never runs, and in an agentic loop the leaked text sits in conversation history corrupting later turns. It can also emit raw <thinking> tags, and a system-prompt rule telling it not to reason makes that worse. Anthropic’s recommendation: keep thinking on and use low effort, which beats thinking-off at comparable cost. At xhigh and max the choice is made for you, since disabling thinking there returns a 400.
What you give up
The honest reading of both guides is that a large fraction of prompt engineering was never engineering. It was compensation for model deficits, with a shelf life tied to the next release. Every guardrail in your CLAUDE.md carries an implicit version number, and nobody sends you a deprecation notice.
There’s a second cost that the guides skip. A rule in a system prompt is text: greppable, diffable, reviewable by someone who wasn’t in the room. “Let Claude use judgement” moves that same constraint inside the weights, where the only way to audit it is to run the model and look. For comment density, fine. For the security-relevant rules people put in CLAUDE.md, the ones about which directories are off limits and what never gets committed, I’d keep the text and accept the tokens. Anthropic’s own framing supports this: skills should avoid being overconstrained “except in highly important areas.” Deciding which of your areas are highly important is the part they can’t do for you.
Run /doctor in Claude Code and it will take a pass at rightsizing your skills and CLAUDE.md. Read the diff before you accept it.
The thread
The HN discussion cleared 400 points and roughly 290 comments, and largely ignored context engineering. The top comment, from mycentstoo, gets the joke out of the way early:
We should design a specific language to make sure that we can encode the exact requirements that we want. Something that has a limited set of keywords that are explicit. Wait a minute…
From there it became a 200-comment argument about whether “load-bearing seam” is a useful metaphor or a Claude-ism, and about that CommitStrip on a very comprehensive and precise spec. jiggawatts came closest to engaging the actual claim: managers have always issued non-deterministic natural-language instructions and received something back a week later, and the discomfort engineers feel about imprecise specs is one their managers stopped feeling decades ago.
Worth reading for the tangents. The guides are worth reading for the deletions.
Sources
- Anthropic: The new rules of context engineering for Claude 5 generation models (Thariq Shihipar, 24 July 2026) · Prompting Claude Opus 5 · Effort · Effective context engineering for AI agents
- Related guides: A harness for every task: dynamic workflows in Claude Code · Building verification loops in Claude Code with skills · A field guide to Claude Fable
Coverage and discussion
- HN: The new rules of context engineering for Claude 5 generation models (400+ points, ~290 comments)
Related on this blog