The default screen
Ask any AI coding tool for a landing page with a vague brief and you get a familiar result. Inter on a white background. A purple gradient in the hero. Three cards of equal width, each with an icon in a rounded square. A headline about unlocking something.
Anthropic's own frontend team named the cause in its post on improving frontend design through skills. Models predict tokens from statistical patterns in their training data, so an unguided request drifts toward the most common answer. For web UI, the post says, that answer almost always means Inter fonts, purple gradients on white and minimal animation.
The model does what it was built to do. The model makes every decision you leave out of the brief, and it picks the median each time.
Adjectives do not constrain anything
The first instinct is to add taste words to the prompt: modern, clean, premium, minimal. Those words describe thousands of templates, which is why they produce one. "Clean" gives the model permission to reach for the same white space and the same card grid it reached for last time.
Rules constrain. Hex codes, type sizes and corner radii give a model something it can follow and something you can check afterwards. A rule you cannot check fails as a rule, whoever wrote it.
A rules file at the root of the repo
The fix we use is dull on purpose. Each project gets a short file at the root of the repository, called DESIGN.md or brand.md, and every AI session reads it before it writes any UI. Claude Code reads a CLAUDE.md file at the start of each session, so one line there pointing at the rules file is enough. Cursor has project rules for the same job.
A useful first version fits on one screen. A starter looks like this, with your values in the brackets:
- Primary action colour is [hex]. No other blue appears in the product.
- Headings use [typeface] at [weight]. Body text never goes below 16 pixels.
- Cards use a [value] corner radius. Only avatars get a full circle.
- Empty states show one sentence on what goes here and one button to add it. No illustrations.
- Error messages say what happened and what to do next, in that order. No apologies.
Each line records a decision someone made. Each line also closes a gap the model would otherwise fill with its default.
Record the decision the first time
Most drift comes from decisions nobody owned. Nobody chose the empty state, so each session invents its own. Nobody agreed on the error tone, so one screen says "Oops!" and the next says "Request failed (500)".
The habit that fixes this costs a minute. Whoever makes a repeatable design decision writes it into the rules file in the same commit. The fourth time the team needs an empty state, the model copies the recorded pattern and nobody has to prompt it into shape again.
Someone also has to own the file. It does not need to be a job title. It needs a name, so a disagreement ends with a lookup instead of a debate.
Extract rules from what already shipped
Teams often try to write the rules file from theory before they build anything. That version tends to stay aspirational. The file works better when you pull it out of a screen that already looks right: measure the spacing, copy the exact colours, write down the type scale the prototype settled on.
A vibe-coded prototype helps here. Get one screen to the point where you would show it to a user, then turn its decisions into rules before you build screen two. Design systems before Series A covers the same move at company scale.
The check
Before any new screen goes into a pull request, put a screenshot of it next to a screen that already shipped. Ask one question: could a stranger tell these came from different sessions?
If the answer is yes, fix the screen or fix the rules file, then run the check again. The comparison takes a few minutes and catches the drift a client would notice without being able to name it.
Where this sits in the slop test
The rules file covers the visual row of our AI Slop Test. The test has four more rows, from placeholder content to the states AI features need when they get something wrong. The next Lab Note covers those states.
If you want a team to build this habit into an AI product, our UX and product design consulting starts with a rules file on day one. If you are a designer learning to build with AI tools, the coaching programme works through it on your own project.