arbiter
See the demo

The handbook problem

Why AI agents skip the design rules you give them, and what the teams that fixed it have in common.

Edmond Hua · 28 Sep 2026 · about 6 minutes

If you’ve built anything with Claude Code, Cursor, Lovable, v0 or Figma Make, you’ve probably written notes for the agent. A rules file, a project knowledge box, a list of things to always do and never do. And you’ve probably watched it ignore some of them.

I’m building Arbiter, a tool that records the design decisions made while an agent builds UI. To build it, I read what the AI labs, the coding tools and design system teams have published about getting agents to follow what a team decided. Engineers call this context management. Most of it turned out to be information design.

The new hire with a 500-page handbook

Picture a new hire. On day one you hand them a 500-page handbook. They skim it, remember a fraction, and apply the wrong rule in the wrong place. It’s how most of us onboard agents.

Space isn’t the problem, because modern models can hold a lot of text. Attention is. In one study, the best model followed about 98% of 100 simple instructions and 69% of 500, and most misses were silent skips.1 In another, a focused 300-token prompt beat the full 113,000-token version of the same material for every model tested.2 Irrelevant text gets in the way.

The tools know this. Claude Code suggests keeping its main instruction file under 200 lines, Cursor under 500, and GitHub Copilot no more than two pages.3 In my own project, a typography rule written for one screen started showing up on another, because nothing told the agent where it applied.

Everyone landed on the same answer

Anthropic, OpenAI, Cursor, GitHub, Figma and Storybook arrived at roughly the same setup. Designers will recognise it as progressive disclosure.

  1. A cheat sheet that’s always visible. A short list of one-line rules. OpenAI’s team tried one big instruction file first. It crowded out the task and went stale, so they replaced it with a 100-line map pointing to detailed docs.4
  2. The full chapter when you enter that area. Most tools can now load a set of rules only when the agent works on one part of the product.
  3. A spellchecker for anything mechanical. If a rule can be checked automatically, make it a check, and make the error message explain the fix.

Above all, don’t rely on the agent to go and look. When Vercel made their docs available on request, the agent didn’t ask for them in 56% of runs and did no better than with no help at all. A small index that was always present scored 100%.5

A tap on the shoulder beats a handbook on a shelf.

Put each kind of knowledge where it belongs

A rules file is the weakest home for design knowledge, because it depends on the agent reading and remembering. Most knowledge has a better home.

General taste

Example
Clear hierarchy, sensible spacing
Best home
The model itself
Why
Each new model already has better instincts. Don’t spend rules on it.

Standards

Example
Tokens, components, accessibility
Best home
Built into components, lint and tests
Why
A button that won’t accept a raw colour doesn’t need a rule about raw colours.

Team decisions

Example
Errors show inline, not as toasts
Best home
Short rules, handed over when the agent works in that area
Why
They change often, and they need a reason attached.

Approved screens

Example
The checkout you signed off
Best home
Examples the agent can copy
Why
Agents copy better than they follow written rules.

Everything else

Example
Tone, product goals
Best home
One short notes file
Why
Keep it short or it drowns out the rest.

Examples come with a warning, because agents copy mistakes too. In a small test, two of three agents working without the team’s rules copied a hard-coded colour from the existing code. With the rules, none did.6 And training a model on your design system is the wrong fit for team decisions. It’s like hiring from a great design school: good instincts, but no idea what your team decided last Tuesday.

The reason is the first thing to go

This surprised me most. Almost every system that learns on its own keeps the rule and drops the reason. Review bots from GitHub, Cursor and CodeRabbit save what to do, often before anyone approves it. Visual review tools record a yes or a no on a screenshot. AI builders’ notes boxes fill up with lines like “feel: calm, dense”, with no reason, date or owner.

A rule without a reason gets applied mechanically, including in places it was never meant for. Nobody can tell when it’s fine to break it, or which rules depended on thinking the team has since changed.

A few teams keep the reason. GitHub’s Spec Kit makes you justify any departure from the project’s principles.7 Evil Martians require a written reason for every component override.8 Vercel’s design team goes furthest: each decision is written up with its status, reasoning, evidence and exceptions, and a person reviews new evidence every week.9

One caution. Agents will happily write the reason for you, and it will sound plausible. A reason the agent inferred is a guess. A reason the designer gave is a decision.

Team decisions are case law

Your design system is the written law: tokens and components, enforced. Your team’s decisions are case law: precedent that guides the next person, who can depart from it if they say why.

Case law needs upkeep, because a wrong rule is worse than no rule. Models tend to trust what’s in front of them over their own better judgment.10

  • Retire rules instead of deleting them, with the date and what replaced them.
  • Check rules against the product. GitHub Copilot’s memory only uses facts it can still find in the code.11
  • Keep a person in charge of what becomes a rule. Cursor removed its automatic memory and told people to write rules instead.
  • Say who wins in a clash. “Exception to the design system: 12px corners on payment cards, because…”

What you can do this week

Here’s a rule written the way the research suggests, taken apart.

rules.md

D-01421 · Forms2 · Errors show inline under the field3, not as toasts4 — toasts disappear before people read them5

  1. ID. So the agent can say which rule it’s following.

  2. Area. Where it applies, so it doesn’t leak.

  3. The rule. Start with the thing, then what it does.

  4. What lost. The option the agent will drift back to.

  5. Why. Only when the rule looks arbitrary without it.

Compare a typical rule as people first write it: Form validation should be handled appropriately and consistently, following our patterns; avoid disruptive UI. Nothing in it tells the agent what to build.

  1. Test your rules. Ask the agent for something a rule forbids. Does it push back, name the rule, or quietly comply? Testing and fixing a rules file measurably improves results.12
  2. One rule per line, under about 25 words, naming the option that lost.
  3. Say where it applies, grouped by area of the product.
  4. Only write what the agent wouldn’t do anyway. Rule files help most with things the model can’t work out for itself.13
  5. Hand checkable rules to engineering. In 481 public Claude Code instruction files, only 4 to 16% of the “do not” rules about security were enforced by anything.14

It was a design problem all along

Context management sounds like an engineering topic. Most of it is information design: what to show, when, and to whom.

  • Keep what the agent always reads short, and hand it the rest when it’s relevant.
  • Build standards into components and checks. Save written rules for judgment calls.
  • Keep the reason, keep a person in charge, and retire rules when they stop being true.

This week, ask your agent for something your rules forbid. What it does next will tell you more than your rules file does.

Sources

  1. IFScale: How many instructions can LLMs follow at once?, Distyl AI, July 2025. arxiv.org/abs/2507.11538
  2. Hong, Troynikov and Huber, Context Rot, Chroma, July 2025. trychroma.com/research/context-rot
  3. Claude Code memory docs code.claude.com/docs/en/memory; Cursor rules cursor.com/docs/context/rules; GitHub Copilot instructions docs.github.com; Lovable Knowledge docs.
  4. Lopopolo, Harness engineering, OpenAI, February 2026. openai.com/index/harness-engineering
  5. Gao, AGENTS.md outperforms skills in our agent evals, Vercel, January 2026. vercel.com/blog
  6. design-rails. github.com/StartupBros-com/design-rails
  7. GitHub Spec Kit. github.com/github/spec-kit
  8. Lovchikov and Mandrikov, AI makes design system guardrails mandatory, Evil Martians, September 2026. evilmartians.com/chronicles
  9. Phamous, Teaching agents product design at Vercel, June 2026. vercel.com/blog
  10. Wu, Wu and Zou, ClashEval, 2024. arxiv.org/abs/2404.10198
  11. GitHub Copilot Memory docs. docs.github.com
  12. Shepard and Albrecht, Probe-and-Refine Tuning of Repository Guidance, June 2026. arxiv.org/abs/2606.20512
  13. Gloaguen et al., context files and coding agents, ETH Zurich, February 2026. arxiv.org/abs/2602.11988
  14. Yan, When “Do Not” Is Not Deny, August 2026. arxiv.org/abs/2608.23550
Next · Part 2Where DESIGN.md fitsDesigners built a lot of context for AI agents this year. What each piece is good for, and the layer that’s still missing.