Three briefs, built twice.
A sourdough bakery, a shipyard music festival, and a family-law practice. Same agent, same prompts, same constraints. Once with the previous version of the skill, once with the current one.
The previous version already produced careful, accessible pages, but they converged: two of three on warm paper grounds, two of three with a rust-orange accent, tracked capital labels everywhere. The current version starts from each subject's own world, and the pages stop resembling each other.
Where the palettes went
Main colours of each page, taken from its own stylesheet.
| Brief | Previous | Current |
|---|---|---|
| Bakery | 7 | 0 |
| Festival | 9 | 1 |
| Family law | 4 | 0 |
Forno Alto, sourdough bakery in Porto
“A small sourdough bakery and café in Porto's Bonfim neighbourhood. Wood-fired oven every morning; closes when sold out. See today's bake and reserve loaves for pickup.”
Both versions built a working today's-bake board and a validated reservation form. The current one borrows the shopfront's azulejo tiles: one cobalt ink on glaze white.
Low Tide, festival in a Gdańsk shipyard
“A two-day electronic music festival in a decommissioned shipyard in Gdańsk, 14–15 August 2027, capacity 6,000. Day pass €69, weekend €119.”
The current version reads the festival off the side of a hull at night: draft marks become the timetable axis, red-oxide primer the colour field, signal yellow means buy or now.
Harlow & Reyes, family law in Portland
“A two-partner family law practice: divorce, custody, mediation, prenuptial agreements. Book a free 30-minute consultation.”
The previous version set a stressed reader's first page as linen paper with an italic accent phrase. The current one is calm rain-grey and puts the free 30 minutes, drawn to scale, right after the opening.
Lodestone, Minecraft server hosting
“Хостинг серверов Minecraft для друзей, стримеров и небольших сообществ. Java и Bedrock, тарифы от 2 до 16 ГБ, модпаки в один клик, бэкапы, Москва и Франкфурт. Главное действие: создать сервер.”
Without the skill, a fresh agent produced the second-generation template on a gaming brief too: red mono eyebrow, a headline with one rust phrase, pill chips, a terminal with window dots, cream sections below. With the skill, the page is a server rack: units sized by RAM, rack rails, label-maker tape for plan names, and a console that boots the server you configure. It also ships canonical, share image, and JSON-LD; launch-check warnings went from 8 to 0.
Earlier benchmark: Relay, an incident-response SaaS
The first version beat the classic purple template on every Lighthouse category. Scanned today, its output scores 14: cream paper, a vermilion and acid-lime accent, mono eyebrow labels, hard offset shadows. That result is how the second generation of defaults was found, and why the current version works from the subject's world instead of a list of bans.
What changed in the method
A ban list only moves an agent to the next default. The current version asks for decisions, then makes the agent look at what it built.
- Source worldList eight concrete things from the subject's world and borrow the visual language from one of them.
- Three candidatesDirections that differ on at least three axes, widened by a library of twenty direction families and six genre worlds.
- Direction cardTypefaces, colour values with roles, layout, shape, imagery plan, motion, and one signature moment, all concrete.
- CraftFluid type, OKLCH palettes, breakout grids, licensed stock and video, non-rectangular shapes, finishing details.
- Screenshot critique
snap.mjscontact sheets at four widths, a ten-dimension rubric, at least two passes. - Mechanical scan
slop-scan.mjsflags first- and second-generation fingerprints, stock phrases, and unverified proof.
Install
Works with Claude Code, Codex, and OpenCode. Installers never overwrite an existing skill.
macOS, Linux, WSL, or Git Bash:
git clone https://github.com/denfry/build-polished-websites.git
cd build-polished-websites
bash ./install.sh --agent all --scope user
Windows PowerShell:
.\install.ps1 -Agent all -Scope user
How these examples were made
- Each page was built in one autonomous run from the brief shown, as a single HTML file with Google Fonts and no other external assets or image tools.
- Businesses, people, artists, prices, and schedules are fictional or drafted. Forms are front-end demos.
- Screenshots are first screens at 1440 and 390 px captured with
snap.mjs. Scores come fromslop-scan.mjsat the time of publishing; Lighthouse was not run on these six pages. - Three briefs are a small sample. Treat this as a demonstration, not a statistical result.