{"slug": "context-engineering-for-claude-5-what-changes-for-teams", "title": "Context engineering for Claude 5: what changes for teams", "summary": "Anthropic removed over 80% of Claude Code's system prompt for models like Claude Opus 5 and Claude Fable 5 with no measurable loss on its coding evaluations, according to a July 24, 2026 post by Thariq Shihipar titled \"The new rules of context engineering for Claude 5 generation models.\" The post advises teams to keep a lightweight CLAUDE.md focused on codebase gotchas, replace rigid rules with judgment-based guidance, move detail into skills, and use auto memory instead of hand edits; Claude Code 2.1.206 or later adds a /doctor command that proposes trims to checked-in CLAUDE.md files.", "body_md": "Blog\n\n# Context engineering for Claude 5: what changes for teams\n\nPublished: September 23, 2026\n\nAnthropic's July 24, 2026 post says newer Claude models need less instruction, not more. It cut over 80 percent of Claude Code's system prompt with no measurable eval loss. For team files that means a short `CLAUDE.md` of gotchas, judgment over rigid rules, detail moved into skills, and auto memory in place of hand edits.\n\nThe post is [“The new rules of context engineering for Claude 5 generation models”](https://claude.dev/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models/) by Thariq Shihipar. This note reads it for teams: what to change in the files you commit, and the one question it leaves open.\n\n## What did Anthropic change in Claude Code's system prompt?\n\nIt deleted most of it. The opening claim: “We removed over 80% of Claude Code's system prompt for models like Claude Opus 5 and Claude Fable 5 with no measurable loss on our coding evaluations.”\n\nThe reason given is not token cost. It is that instructions collide. When the system prompt, a skill, and the user each say something slightly different, “Claude must think more carefully about these overlapping and conflicting messages before deciding what to do.” Rules written to correct an older model's habits become friction for a newer one that did not have the habit.\n\nThis follows Anthropic's September 2025 essay on [effective context engineering](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents), which set the goal as “the smallest possible set of high-signal tokens that maximize the likelihood of some desired outcome.” The July post is the same idea applied to their own prompt, with a number attached.\n\n## What should go in CLAUDE.md now?\n\nLess. The post's advice is specific: “Keep your CLAUDE.md lightweight and briefly describe what your repo is for, but spend most of the tokens on gotchas inside of the codebase.”\n\nA gotcha is something the model cannot infer from the tree. That the test command is `pnpm test` is inferable from `package.json`. That payment webhooks must dedupe on the provider's event ID before any write, because of a double refund your team argued about in `#eng-payments`, is not. The first line is noise. The second is the reason the file exists.\n\nThe docs back this with tooling. `/doctor` now proposes trims for a checked-in `CLAUDE.md`: it cuts directory layouts, dependency lists and architecture overviews Claude can derive, and keeps “pitfalls, rationale, and conventions that differ from tool defaults” (Claude Code 2.1.206 or later, per the [memory docs](https://code.claude.com/docs/en/memory), checked 2026-09-23).\n\n## Judgment over rules: what does that look like?\n\nThe post shows an old line from Claude Code's own prompt. It told Claude to default to writing no comments and never to write multi-line comment blocks, one short line at most. Its replacement: “Write code that reads like the surrounding code: match its comment density, naming, and idiom.”\n\nThe first is a rule that is wrong wherever the codebase disagrees with it. The second tells the model what to look at and trusts it to look. For team files the move is the same. “Never use `any`” is a fine rule. “Always put handlers in `src/api/handlers/`” is fine until the day someone moves them, after which it is a rule that fights the code.\n\nThe post also warns off examples: “giving examples actually constrains them to a certain exploration space.” Where you need precision, it prefers code: “Generally you should prefer files that are in code as it provides clear, high-fidelity instructions to Claude in a language it knows very well.” A test that fails on a missing dedupe check says more than a paragraph about idempotency.\n\n## What is progressive disclosure in Claude Code?\n\nLoading detail only when the task needs it. The post: “Use progressive disclosure heavily, for example if you have several unique instructions on how to verify your work, create a verification skill and reference it from your CLAUDE.md.” Claude Code itself does this with tools: some are “deferred loading,” so the agent searches for their definitions before it uses them.\n\nIn practice there are three layers. `CLAUDE.md` is always on. Path-scoped rules in `.claude/rules/` arrive when Claude reads a matching file. Skills send a name and description every turn and the body only when invoked. The trade is that anything behind a trigger can be missed when the trigger does not fire; which layer suits which rule is laid out in [CLAUDE.md vs skills vs hooks](https://gethrbr.com/blog/claude-md-vs-skills-vs-hooks).\n\n## Does auto memory replace CLAUDE.md?\n\nFor personal learnings, yes. The post: “We used to encourage users to save things to Claude's memory, by using the # hotkey to write to their CLAUDE.md automatically. Instead, Claude now automatically saves memories that are relevant to the work and to you.”\n\nFor the team, no, and the docs say why. Auto memory lives in `~/.claude/projects/<project>/memory/`. It “is machine-local” and its files “are not shared across machines or cloud environments.” The first 200 lines or 25KB of its index load each session. Claude writes it; no one approves it.\n\n|  | CLAUDE.md | Auto memory | Skill | \n|---|---|---|---|\n| Who writes it | A person | Claude | A person | \n| Where it lives | The repo | Your machine | The repo or your user folder | \n| Shared with the team | Yes, through git | No | Yes, if committed | \n| Reviewed | In a PR, if anyone looks | No | In a PR, if anyone looks | \n| Loads | Every session | Index every session | Description every turn, body on use | \n| Goes stale | Until someone deletes the line | Claude is told to drop stale entries when the index nears its limit | Until someone edits it | \n\n## What does this leave for teams?\n\nThe post is written for one developer and one model, and for that reader it is complete. A team has a problem it does not address: who decides what the team knows.\n\nFollow the advice and you get a short committed file, plus one auto memory per engineer per machine. Five engineers, five memories, each learned from different corrections, none visible to the others, none approved by anyone. When your team reverses the webhook decision in Slack, the engineer who was in the thread corrects their Claude. The other four keep the old rule in memory, and Cursor never heard about the change at all.\n\n- **Minimal files** push knowledge out of the repo, which is right, but somewhere else has to hold it.\n- **Judgment over rules** works for style. It does not work for a decision the model has no way to infer, like a retention window your legal team set.\n- **Progressive disclosure** needs someone to know which fact belongs to which task.\n- **Auto memory** captures what one session learned and keeps it on one machine.\n\n## How to apply the post this week\n\n- Run `/doctor` and accept the trims you agree with.\n- Delete rules the current model follows without being told. Test by removing one and running a task that would have tripped it.\n- Rewrite rigid style rules as “match the surrounding code” where the codebase already shows the answer.\n- Move procedures into skills, and reference them from `CLAUDE.md` .\n- Move must-never rules into hooks or permission rules.\n- Read every instruction file on the path together, and delete one side of each contradiction.\n\n## Questions\n\n### What did Anthropic say about context engineering for Claude 5 models?\n\nIn a July 24, 2026 post, Anthropic said it removed over 80 percent of Claude Code's system prompt for Claude Opus 5 and Claude Fable 5 with no measurable loss on its coding evaluations. It recommends lightweight CLAUDE.md files, judgment over rigid rules, and progressive disclosure through skills.\n\n### What should go in CLAUDE.md for Claude 5 models?\n\nA brief description of what the repo is for, then gotchas the model cannot infer from the code. Drop directory layouts, dependency lists and rules the model already follows; /doctor proposes these trims for a checked-in CLAUDE.md.\n\n### What is progressive disclosure in Claude Code?\n\nLoading detail only when a task needs it. CLAUDE.md is always on, path-scoped rules load when Claude reads matching files, and skills send only a name and description until invoked.\n\n### Does Claude Code auto memory replace CLAUDE.md?\n\nFor personal learnings, largely yes. For a team, no: auto memory is machine-local, written by Claude, not shared across machines, and not approved by anyone.", "url": "https://wpnews.pro/news/context-engineering-for-claude-5-what-changes-for-teams", "canonical_source": "https://gethrbr.com/blog/context-engineering-after-claude-5", "published_at": "2026-09-23 00:00:00+00:00", "updated_at": "2026-09-27 16:00:40.448935+00:00", "lang": "en", "topics": ["large-language-models", "ai-agents", "developer-tools", "ai-tools", "generative-ai"], "entities": ["Anthropic", "Claude Code", "Claude Opus 5", "Claude Fable 5", "Thariq Shihipar"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/context-engineering-for-claude-5-what-changes-for-teams", "markdown": "https://wpnews.pro/news/context-engineering-for-claude-5-what-changes-for-teams.md", "text": "https://wpnews.pro/news/context-engineering-for-claude-5-what-changes-for-teams.txt", "jsonld": "https://wpnews.pro/news/context-engineering-for-claude-5-what-changes-for-teams.jsonld"}}