Web design
Design the product surface before choosing decoration or libraries.
Context budget
Load two core references for the selected mode and no more than two conditional references. Use ../../references/ui-patterns/README.md and ../../references/web-patterns/README.md only as catalogs. Do not read every linked document.
Classify the surface
Choose one:
- product application;
- operational dashboard;
- product-proof landing page;
- campaign or cinematic page;
- docs or API platform;
- checkout or trust flow;
- design system or component library;
- targeted audit or repair.
Do not apply campaign spacing and choreography to repeated-use applications.
Choose a reference bundle
| Surface |
Core references |
Conditional additions |
| Product app |
task-ergonomics.md, interaction-state-matrix.md |
navigation, component API, direct manipulation, responsive gate |
| Dashboard |
dashboard-insight-hierarchy.md, data-visualization-library-selection.md |
realistic data, adaptive composition, performance |
| Product landing |
creative-direction.md, page-proof-architecture.md |
conversion proof, brand motif, asset realism |
| Cinematic page |
animation-creation.md, choreography-state-machine.md |
cinematic landing, motion libraries, performance |
| Docs/API |
navigation-information-architecture.md, progressive-disclosure-information-scent.md |
typography, search/command interaction |
| Checkout/trust |
form-state-validation-system.md, accessibility-interaction-contract.md |
conversion proof, usability scenarios |
| Design system |
design-system-production-loop.md, token-implementation-contract.md |
component API, state gallery |
| Audit/repair |
ui-audit-rubric.md, visual-repair-playbook.md |
usability, accessibility, fingerprint diversity |
Paths in this table are under ../../references/ui-patterns/ except task-ergonomics.md, which is under ../../references/ux-patterns/.
Make the web decision brief
Before code, state:
- user and product job;
- surface type and primary object;
- implementation track;
- composition and first-viewport focal path;
- typography posture and concrete font plan;
- material, palette, and motif;
- proof asset or data strategy;
- required states and recovery;
- responsive replacement;
- motion level and owner;
- selected references;
- acceptance evidence.
Choose the implementation track
Read ../../references/ui-patterns/web-implementation-tracks.md when the stack is not already fixed.
| Track |
Choose when |
| Existing stack |
The repository already has a viable frontend |
| Static HTML/CSS/JS |
Small page, minimal state, portability matters |
| Vite + React |
Stateful UI or rich interaction without server rendering |
| Next.js |
Routing, server rendering, metadata, or server components matter |
| Astro |
Content-first page with isolated interactive islands |
Use native CSS and platform APIs before adding libraries. If a library is needed, give it one explicit job.
Choose a visual direction
For open-ended or high-craft work, read ../../references/ui-patterns/creative-direction.md. Pick one direction and define:
- composition grammar;
- typography contrast;
- palette ratio;
- material language;
- repeated motif;
- one tasteful risk;
- explicit restraints.
For established direction families, load one matching file:
../../references/web-direction-editorial.md
../../references/web-direction-brutalist.md
../../references/web-direction-glow-grain.md
../../references/web-direction-industrial-mono.md
../../references/web-direction-active-bento.md
../../references/web-direction-type-as-hero.md
Do not merge several directions into a sampler.
Typography, copy, and assets
- Use
../../references/web-fonts.md when choosing fonts.
- Use
../../references/web-copy-voice.md when copy is vague, generic, or central to conversion.
- Use
../../references/ui-patterns/asset-selection.md when imagery or proof media is required.
- Use
../../references/ui-patterns/art-direction-asset-board.md only when hero/key art needs responsive crops and layer ownership.
Use real product nouns, states, units, and actions. Avoid placeholder media, random stock photos, fake charts, and generic “built for modern teams” copy.
Interaction and motion
Use the lowest-complexity technique that expresses the product behavior:
- CSS transitions for local state feedback;
- View Transitions for page or shared-object continuity;
- Motion for React component/layout choreography;
- GSAP for authored timelines and pinned sequences;
- Three/R3F, canvas, Rive, Lottie, or video only when the medium proves the product.
For animation-led work, load animation-creation.md and choreography-state-machine.md. Add performance-budget-contract.md before implementing expensive media or rendering. Always define reduced-motion and failed-load fallbacks.
Use ../../references/web-patterns/README.md to select specific interaction recipes. Do not install patterns merely because they are available.
Responsive and accessible behavior
Define breakpoint triggers from content failure, not device labels. Specify:
- navigation replacement;
- dense-region replacement;
- media crop or fallback;
- input and touch behavior;
- scroll ownership;
- long-text and zoom behavior.
For serious interactive UI, load ../../references/ui-patterns/accessibility-interaction-contract.md. Preserve semantic HTML, accessible names, keyboard paths, visible focus, status announcements, contrast, reflow, target size, and reduced motion.
Web bans
Reject:
- generic centered hero + floating cards without product proof;
- default shadcn/Radix/Tailwind visual identity;
- undifferentiated dark slate with indigo accents;
- identical section spacing throughout;
- excessive glass, blur, glow, or rounded containers;
- decorative libraries with no product job;
- placeholder images, fake dashboards, or hype copy;
- controls that look interactive but do nothing;
- page-level horizontal overflow;
- animation that obscures content or cannot be paused/reduced.
See ../../references/web-bans.md only when an audit needs the expanded list.
Rendered validation
After implementation:
- inspect desktop and mobile;
- exercise primary, error, empty, loading, and recovery states;
- check console/runtime failures;
- verify keyboard and reduced-motion behavior;
- load
../../references/ui-patterns/rendered-quality-gate.md;
- load one additional gate only if required:
- usability:
../../references/ux-patterns/rendered-usability-acceptance-gate.md
- typography:
../../references/ui-patterns/rendered-typography-quality-gate.md
- advanced stack:
../../references/ui-patterns/capability-stack-rendered-gate.md
- repair the highest-impact failure and re-check it.
Do not claim high-craft, accessible, responsive, or production-ready output without evidence.
1---2name: web-design3description: Use for web interfaces, landing pages, product sites, dashboards, React, Next.js, Astro, Tailwind, frontend audits, responsive design, browser interaction, web motion, or requests for a distinctive non-generic website. Select the web surface and implementation track, load a small reference bundle, preserve usability and accessibility, and validate the rendered result. Skip when the target is exclusively native Apple, Android, or Windows.4---56# Web design78Design the product surface before choosing decoration or libraries.910## Context budget1112Load two core references for the selected mode and no more than two conditional references. Use `../../references/ui-patterns/README.md` and `../../references/web-patterns/README.md` only as catalogs. Do not read every linked document.1314## Classify the surface1516Choose one:1718- product application;19- operational dashboard;20- product-proof landing page;21- campaign or cinematic page;22- docs or API platform;23- checkout or trust flow;24- design system or component library;25- targeted audit or repair.2627Do not apply campaign spacing and choreography to repeated-use applications.2829## Choose a reference bundle3031| Surface | Core references | Conditional additions |32|---|---|---|33| Product app | `task-ergonomics.md`, `interaction-state-matrix.md` | navigation, component API, direct manipulation, responsive gate |34| Dashboard | `dashboard-insight-hierarchy.md`, `data-visualization-library-selection.md` | realistic data, adaptive composition, performance |35| Product landing | `creative-direction.md`, `page-proof-architecture.md` | conversion proof, brand motif, asset realism |36| Cinematic page | `animation-creation.md`, `choreography-state-machine.md` | cinematic landing, motion libraries, performance |37| Docs/API | `navigation-information-architecture.md`, `progressive-disclosure-information-scent.md` | typography, search/command interaction |38| Checkout/trust | `form-state-validation-system.md`, `accessibility-interaction-contract.md` | conversion proof, usability scenarios |39| Design system | `design-system-production-loop.md`, `token-implementation-contract.md` | component API, state gallery |40| Audit/repair | `ui-audit-rubric.md`, `visual-repair-playbook.md` | usability, accessibility, fingerprint diversity |4142Paths in this table are under `../../references/ui-patterns/` except `task-ergonomics.md`, which is under `../../references/ux-patterns/`.4344## Make the web decision brief4546Before code, state:4748- user and product job;49- surface type and primary object;50- implementation track;51- composition and first-viewport focal path;52- typography posture and concrete font plan;53- material, palette, and motif;54- proof asset or data strategy;55- required states and recovery;56- responsive replacement;57- motion level and owner;58- selected references;59- acceptance evidence.6061## Choose the implementation track6263Read `../../references/ui-patterns/web-implementation-tracks.md` when the stack is not already fixed.6465| Track | Choose when |66|---|---|67| Existing stack | The repository already has a viable frontend |68| Static HTML/CSS/JS | Small page, minimal state, portability matters |69| Vite + React | Stateful UI or rich interaction without server rendering |70| Next.js | Routing, server rendering, metadata, or server components matter |71| Astro | Content-first page with isolated interactive islands |7273Use native CSS and platform APIs before adding libraries. If a library is needed, give it one explicit job.7475## Choose a visual direction7677For open-ended or high-craft work, read `../../references/ui-patterns/creative-direction.md`. Pick one direction and define:7879- composition grammar;80- typography contrast;81- palette ratio;82- material language;83- repeated motif;84- one tasteful risk;85- explicit restraints.8687For established direction families, load one matching file:8889- `../../references/web-direction-editorial.md`90- `../../references/web-direction-brutalist.md`91- `../../references/web-direction-glow-grain.md`92- `../../references/web-direction-industrial-mono.md`93- `../../references/web-direction-active-bento.md`94- `../../references/web-direction-type-as-hero.md`9596Do not merge several directions into a sampler.9798## Typography, copy, and assets99100- Use `../../references/web-fonts.md` when choosing fonts.101- Use `../../references/web-copy-voice.md` when copy is vague, generic, or central to conversion.102- Use `../../references/ui-patterns/asset-selection.md` when imagery or proof media is required.103- Use `../../references/ui-patterns/art-direction-asset-board.md` only when hero/key art needs responsive crops and layer ownership.104105Use real product nouns, states, units, and actions. Avoid placeholder media, random stock photos, fake charts, and generic “built for modern teams” copy.106107## Interaction and motion108109Use the lowest-complexity technique that expresses the product behavior:110111- CSS transitions for local state feedback;112- View Transitions for page or shared-object continuity;113- Motion for React component/layout choreography;114- GSAP for authored timelines and pinned sequences;115- Three/R3F, canvas, Rive, Lottie, or video only when the medium proves the product.116117For animation-led work, load `animation-creation.md` and `choreography-state-machine.md`. Add `performance-budget-contract.md` before implementing expensive media or rendering. Always define reduced-motion and failed-load fallbacks.118119Use `../../references/web-patterns/README.md` to select specific interaction recipes. Do not install patterns merely because they are available.120121## Responsive and accessible behavior122123Define breakpoint triggers from content failure, not device labels. Specify:124125- navigation replacement;126- dense-region replacement;127- media crop or fallback;128- input and touch behavior;129- scroll ownership;130- long-text and zoom behavior.131132For serious interactive UI, load `../../references/ui-patterns/accessibility-interaction-contract.md`. Preserve semantic HTML, accessible names, keyboard paths, visible focus, status announcements, contrast, reflow, target size, and reduced motion.133134## Web bans135136Reject:137138- generic centered hero + floating cards without product proof;139- default shadcn/Radix/Tailwind visual identity;140- undifferentiated dark slate with indigo accents;141- identical section spacing throughout;142- excessive glass, blur, glow, or rounded containers;143- decorative libraries with no product job;144- placeholder images, fake dashboards, or hype copy;145- controls that look interactive but do nothing;146- page-level horizontal overflow;147- animation that obscures content or cannot be paused/reduced.148149See `../../references/web-bans.md` only when an audit needs the expanded list.150151## Rendered validation152153After implementation:1541551. inspect desktop and mobile;1562. exercise primary, error, empty, loading, and recovery states;1573. check console/runtime failures;1584. verify keyboard and reduced-motion behavior;1595. load `../../references/ui-patterns/rendered-quality-gate.md`;1606. load one additional gate only if required:161 - usability: `../../references/ux-patterns/rendered-usability-acceptance-gate.md`162 - typography: `../../references/ui-patterns/rendered-typography-quality-gate.md`163 - advanced stack: `../../references/ui-patterns/capability-stack-rendered-gate.md`1647. repair the highest-impact failure and re-check it.165166Do not claim high-craft, accessible, responsive, or production-ready output without evidence.