the constitution
Taste is written down
All 80 skills defer to one file: what first-grade means, what is banned on sight, and how to decide when two rules pull against each other. Nothing improvises its own standard.
The only file allowed to grant an exception is the direction — in writing, with the reason attached and the gate still reading it. This page is what that produced.
skills/taste/SKILL.mdthe banned list
The banned list, quoted verbatim
The constitution names what marks a page as filler. This wall is the only place on the site where those strings are permitted, and the permission is written down: DIRECTION.md grants the exception, this component carries the marker, the gate reads both.
five phrases · dead-copy openers
Welcome to
Elevate your
Unlock the power of
Seamlessly
Empower
the five verbs of dead startup copy — an opening that could belong to any site belongs to none
- ✨🚀🎉
emoji as decoration in production copy
Lorem ipsum
the placeholder that ships
href="#"the link that goes nowhere — quoted here as text, never written as an attribute
The rest of the list is visual, and no grep will ever catch it. It is named instead, so it cannot arrive disguised as taste:
- the purple-to-blue gradientas a primary aesthetic — the tell a developer smells before the page finishes painting.
- gradient headline textdecoration standing in for a headline worth setting.
- the untouched shadcn looka component library shipped as though it were a design.
- three identical icon cardsthe reflex layout, fitted to no content in particular.
- glassmorphism as personalityblur smeared across a page that had nothing else to say.
- uniform rounded-xl + shadow-lgone radius and one shadow on everything, decided by nobody.
- dark navy with glowing accentsthe archetype this very site had to earn in writing — warm black, zero glow, justification on file in DIRECTION.md.
- animate-everythingmotion applied by default rather than because something happened.
Hits inside this wall are logged against the exception — anywhere else on the site, they fail the build.
the required list
What has to be there instead
- An OKLCH palette with AA contrast verified computationally, pair by pair — never by eye.
- One committed type pairing with real scale contrast: a display face against a body face, no third.
- At least one deliberate asymmetry — a layout decision somebody had to make and defend.
- A motion vocabulary with prefers-reduced-motion honored twice: once in CSS, once in JavaScript.
- Every state designed — hover, focus, empty, error, loading — not only the happy screenshot.
- Dark mode as a first-class decision. This site chose one committed dark world, in writing.
a checklist a build can be failed against — not a mood board
enforcement
Seven gates, each one empirical
every gate runs a command or drives a browser · a verdict is a record, not an opinion
| gate | what it verifies |
|---|---|
| code | npm run build clean, tsc strict, lint, boundary greps |
| responsive | real screenshots at 375, 768, 1440 — no overflow, targets ≥44px |
| visual | an adversarial judge (Opus 5) scores every page against the direction, and loops until it is fixed |
| accessibility | WCAG 2.2 AA — computed contrast, a keyboard walkthrough, reduced-motion verification |
| performance | Lighthouse on the production build, zero CLS, a bundle audit |
| anti-slop | the banned list enforced by grep and by screenshots, zero tolerance |
| content | metadata complete, headings that tell the story alone, every link resolves |
the third verdict
When the browser is missing, the screenshot halves record UNVERIFIED — a third verdict, distinct from PASS and FAIL, declared before the build spends anything. A gap stated is trust kept. Nothing fakes green.
the study library
Steal the principle, never the surface
Thirty-two dossiers on Awwwards Site-of-the-Year and Site-of-the-Day tier winners, 2017 through 2026, distilled into twenty-five named patterns plus the invariants that survived every era. It is a reference, cited by principle — never a mandate, and always subordinate to the constitution and the gates.
The jury model is the corrective: design and usability carry roughly seventy percent of the score against creativity's twenty. A janky wow move is a net loss, however good the video of it looks.
dated fashions, named as such
- heavy parallax as the main ideaa technique standing in for a concept
- the autoplay background hero videomegabytes spent before a single word is read
- neumorphism's uniform soft shadowsevery control equally raised, so nothing reads as pressable
what a year rewarded and what survives it are two different lists — the canon keeps both
stack discipline
Verified, not remembered
Stack facts are checked against the live registry and the official docs rather than recalled from a model's memory. The manifest carries the date it was verified — 2026-07-16, with three sections re-verified on 2026-07-28 and 2026-07-29 — and a hard thirty-day expiry with a refresh script behind it. Past that date the manifest is not trusted; it is re-run.
A live example from this build: during preflight the check found that motion 13.1.0 had been released upstream. The build stayed on the verified 12.42.2. An unverified major version is not adopted in the middle of a build.
rejected animation engines · argued once in STACK.md
- GSAPduplicates the SVG territory at roughly three times the weight, and its stock effects are the most-copied on the web
- Theatre.jsa second source of truth for the motion numbers
- react-springduplicates motion's springs exactly
manifest pins, verified 2026-07-16
| next | 16.2.10 |
|---|---|
| react | 19.2.7 |
| tailwindcss | 4.3.2 |
| motion | 12.42.2 |
| zod | 4.4.3 |
| shadcn CLI | 4.13.0 |
30-day expiry · refresh script · the date travels with the numbers
None of this is self-reported
The gates ran on this page too. Their output is on file, dated, with the unverified cells left unverified.