Seeing like a model
Anthropic cut Claude Code's system prompt by 80 percent for the Claude 5 models and told everyone to simplify. So I audited the 66,792 bytes my own agents auto-load, atom by atom. The doctrine's cut came out to 1.3 percent, and the difference is the point: the new rules delete distrust, and my file is mostly maps.
Anthropic published a post this month saying they cut Claude Code's system prompt by more than 80 percent for the Claude 5 generation models, because the newer models do better with judgment than with rules. Most reactions read it as prompt-slimming tips. I read it as a vendor discovering, empirically, something political scientists documented about states and maps decades ago. Then I did what this site does: I took the doctrine to my own repo, measured every byte my agents load before touching a file, and classified all of it. The cut the doctrine prescribes came out to 1.3 percent, and the reason it is not 80 is the most useful thing in this post.
What the post actually says
The post is short and worth your time. The argument: earlier models needed worst-case-proofing, so prompts accumulated absolute rules, repeated warnings, and canned examples. Claude 5 models resolve ambiguity with judgment, so most of that scaffolding now subtracts capability instead of adding safety. Anthropic names six shifts (rules to judgment, examples to interface design, upfront context to progressive disclosure, repetition to simple descriptions, manual memory to auto-memory, simple specs to rich references) and recommends a four-layer stack: a system prompt you rarely touch, a lightweight CLAUDE.md of repository gotchas, skills that encode opinions, and references that carry the depth.
All of that matches my experience running these models. The part that goes unexamined is the 80 percent number itself, because what you can cut depends entirely on what your instructions were made of in the first place.
A prompt is a cadastral map
James C. Scott's Seeing Like a State is about what happens when an administration needs the world legible: it surveys, standardizes, and writes rules, and the rules work until they meet a reality that only local judgment handles. Scott's name for that judgment is metis. The high-modernist failure mode is not that the maps are wrong; it is that the mapmaker starts trusting the map over the territory and legislates accordingly.
An agent instructions file is a cadastral map of a codebase. It exists to make a repo legible to a stranger who arrives with enormous general capability and zero local knowledge. The rules era of prompt writing was high modernism in miniature: enumerate the worst cases, prohibit them in capital letters, repeat the prohibition anywhere the agent might look. You can carbon-date a prompt by its capitalization. What Anthropic announced is the correction Scott would have predicted: past a threshold of competence, codified rules underperform the judgment they were protecting against. Their word for it is unhobbling. Scott's word is metis.
June: the map deformed the territory
This repo already lived one chapter of that story. By June the agent guide here had grown to 225 KB and roughly 55,000 tokens, and it had become the number one merge hotspot in the repo. Every session paid the whole file at startup and paid it again at every context compaction; every feature PR appended a section, so unrelated PRs collided in it on adjacent lines. The map was no longer describing the territory; it was the largest obstacle in it.
The fix moved two dozen deep dives into per-surface docs loaded on demand and cut the always-loaded core by about 90 percent. Keep that number in mind. It rhymes with Anthropic's, and it is a different operation entirely, which is where the audit comes in. (The wider system that keeps several concurrent sessions from rotting this repo is its own post.)
The audit
The doctrine deserved a real test, so I gave it the corpus it would govern here: the four files every Claude Code session auto-loads in this repo. CLAUDE.md plus three rules files, 66,792 bytes, roughly 16,300 tokens, every session, before its first edit. (Weigh your own file with the token counter; it runs in the browser.)
I split the corpus into 39 instruction atoms, where an atom is a block that does one job, measured each atom's bytes from the live files, and classified every one into five kinds. Geography: facts about this repo that no amount of model intelligence can infer, like which Supabase project is which. Policy: choices the owner made, like the red lines and the page-experience bar. Pointers: references that load deeper docs on demand. Judgment: guidance already phrased the way the doctrine wants. Distrust: hedges, repetitions, and anti-pattern lists that restate rules stated elsewhere. One flag on top: scar, for atoms that trace to a documented incident.
What 1.3 percent means
Geography is 78.9 percent of the corpus. The domain map alone, 98 rows of what lives at every route, weighs 43 KB, nearly three quarters of the constitution. Policy is 11.9 percent, pointers are 6.4, judgment is 1.6. Distrust, the one kind the doctrine deletes, totals 879 bytes: one "never write to the wrong database" hedge, one rule restated a second time, and one anti-pattern list whose six items all appear elsewhere in the corpus. Press the doctrine button on the board and that is all that dims. About 214 tokens out of 16,300.
The 80 percent number is real; it just describes a different kind of document. A product system prompt ships to every repo on earth, so it can contain almost no geography. It is nearly all instruction, and instruction is exactly what better judgment makes redundant. A repo guide inverts the ratio. Mine is a gazetteer with a thin legal code stapled to it.
The new rules delete distrust. They do not delete maps.
Their four layers, a month early
Judgment can replace a rule. It cannot replace the fact that this repo has two Supabase projects, or that blog content is invisible until a seeder runs, or that kill-by-name takes down the agent's own shell. A model that gets smarter does not learn my database layout; it just fails at it more confidently.
Which is why the June diet, done a month before the post existed, converged on the post's recommended architecture layer for layer: an untouched harness prompt, a slim core with a domain map, auto-loaded rules that encode opinions, and 102 per-surface deep dives, about 1.2 MB, that a session reads only when it touches that surface. The always-loaded tier is 66.8 KB; the on-demand tier is eighteen times heavier. Progressive disclosure arrived here the hard way, as the only survivable response to six concurrent sessions each paying a 55,000-token toll.
Every rule is a scar
Bowker and Star's Sorting Things Out argues that classification systems are frozen organizational memory. Reading my own constitution atom by atom, the clearest pattern was not distrust. It was scar tissue: 7.5 percent of the corpus exists because something specific once went wrong. The email identity registry is documented at length because a court's display name once branded every outgoing site email "City of Josephine, TX." The seeding section is loud because merged content once silently failed to reach the live site. The branch-hygiene section exists because sessions once treated "behind main" as an emergency and burned tokens looping rebases into the same conflict.
The doctrine forecasts that hedges age out as models improve, and they do. Scars behave differently. When my file went on its diet, almost nothing was deleted; the bytes migrated down a layer, out of the constitution and into the surface docs, still written down but no longer taxing every session. Deletion is for distrust. Everything else migrates.
When the 80 percent cut is real
If your CLAUDE.md is full of tone policing, output-format examples, and the same warning three ways, the doctrine applies to you at close to full strength: delete it, and the model gets better. And I am not exempt. The audit surfaced my file's actual disease, which the doctrine's taxonomy has no name for: fat geography. Domain map rows that should be one line and a pointer have grown into 500-byte capsule reviews, which is the 225 KB failure mode regrowing inside the table that was built to prevent it. The cut my file needs is a map diet, not a distrust purge, and no increase in model capability will perform it for me.
There is also a risk in over-deleting. Judgment without geography is how an agent confidently does the safe-looking wrong thing. The purest distrust atom in my audit, the hedge about never writing to the wrong database, costs 33 tokens; the failure it prevents costs an evening. I am keeping it. Not every insurance policy should be canceled the day the actuarial table improves.
Thread two
This audit is observational. The doctrine's claim is causal: the slim file performs as well as the fat one. That is testable here, and the shape of the test is obvious. Freeze the current constitution, write the doctrine-compliant minimum, run the same standardized task set against both, publish the diffs and the protocol before the runs. This site already keeps claims that re-verify themselves; an experiment on its own constitution is the natural next entry. The protocol is now locked: hypotheses, both frozen hash-verified arms (the doctrine-minimal constitution is a 90.7 percent cut), the ten-task battery, and the pre-specified analysis are committed as an in-repo pre-registration before any session runs. When it runs, that will be thread two. The ledger below is thread one.
Get the next one
An occasional note when something genuinely new ships here — essays, free tools, projects. No schedule, no filler, easy out.
Need something like this built?
I design and ship AI tools, full-stack apps, and data pipelines — end to end, to production. Tell me the problem in a sentence; I'll give you an honest read on fit within a day.
Work with me →