Generate a comprehensive web design reference sheet (docs/design/design-reference.md) and its companion enforcement skill (.agents/skills/{project-slug}/SKILL.md) for any website project. Extracts tokens from CSS files, validates completeness against a JSON schema scratchpad, inspects existing components, and produces a 12-section living document covering colours, typography, spacing, layout, borders, shadows, motion, component patterns, accessibility, dark mode, and Figma sync notes. Use when starting a new project, onboarding a design system, creating a Figma reference sheet, porting design tokens, or auditing existing styles. Triggers on: "create a design reference", "generate a style guide", "document the design tokens", "make a brand reference sheet", "create design docs", "port design tokens", "audit existing styles".
97
100%
Does it follow best practices?
Impact
89%
2.61xAverage score across 3 eval scenarios
Passed
No known issues
Visual hierarchy is the arrangement of elements to show their order of importance — guiding the viewer's eye through a composition in a deliberate sequence. It answers the question: "What should I look at first, second, third?"
Without hierarchy, all elements compete equally and the viewer is left to construct their own reading order — which means most will not engage deeply.
The human visual system performs pre-attentive processing before conscious attention kicks in. Within 50–150ms of seeing a page, the brain has already identified the dominant focal point, the rough structure of sections, and the approximate colour and size relationships. Hierarchy operates at this pre-attentive level.
The result: Users decide within seconds whether a page is worth reading. Hierarchy is what makes the content scannable enough to earn that decision.
The most powerful hierarchy signal. Larger elements receive attention before smaller ones — regardless of position.
Rule of thumb: Each heading level should be at least 25% larger than the one below it.
Bold text reads before regular text. Weight is the secondary hierarchy signal after size.
High-contrast elements advance; low-contrast elements recede.
Practical use:
#111)#333)#666 or color-mix)#999 — check WCAG for input placeholders)Where an element sits determines when it is seen.
Western reading convention (left-to-right, top-to-bottom):
Above the fold: Content visible without scrolling receives more attention. The most important hierarchy decision on any page is what lives above the fold.
Z-pattern vs F-pattern:
An element surrounded by empty space receives more visual weight than one surrounded by other elements. Isolation is a powerful hierarchy signal often overlooked.
See whitespace-theory.md for detailed whitespace guidance.
An element that differs from its surroundings in shape, form, or style will be noticed.
Proximity groups elements into visual units. Items close together are perceived as related; items spaced apart are perceived as separate.
Reading sequence is established by combining proximity with size, weight, and position:
Every page has one primary goal. What action or understanding should the visitor leave with? This goal determines the primary focal point.
Level 1 (dominant) → Primary headline, hero image, or main CTA
Level 2 (secondary) → Supporting headings, key claims, section titles
Level 3 (tertiary) → Body text, supporting copy, card content
Level 4 (supporting)→ Labels, captions, metadata, footnotesFor each level, assign appropriate values of size, weight, colour, and spacing. The jumps between levels must be perceptible — not gradual.
Squint at the design until it blurs. You should still be able to identify:
If multiple elements compete at the blurred view, the hierarchy is insufficient.
Show the design to someone for 5 seconds, then hide it. Ask:
If they cannot answer both questions, the hierarchy is failing.
Card title → Largest, full contrast, H3 or similar weight
Supporting text → Body size, reduced contrast
CTA / link → Accent colour, medium weight
Metadata/date → Small, lowest contrastPrimary navigation items should be equal weight — no single item should dominate. The active/current item may be differentiated by colour or weight (not size).
Section heading → Identifies form section
Label → Names the field — should be clearly visible, not placeholder text
Input value → Full contrast (user-entered content is highest priority)
Helper text → Reduced contrast, small — supporting, not dominant
Error message → Error colour (red), icon + text — must be noticeableEyebrow / label → Small, uppercase, accent colour — sets context
H1 headline → Dominant — the largest text on the page
Sub-headline/body → Supports headline, softer weight or reduced contrast
Primary CTA → High contrast filled button
Secondary CTA → Ghost/outline or text link — must feel secondary| Anti-pattern | Problem | Fix |
|---|---|---|
| Everything is bold | No differentiation; nothing is emphasised | Reserve bold for 1–2 hierarchy levels |
| Equal font sizes throughout | No visual structure | Apply a modular typographic scale |
| All caps body text | Removes weight differentiation; hard to read | Reserve caps for labels/eyebrows only |
| CTA buried at bottom without visual weight | Users don't see the action | Increase size, colour contrast, and isolation |
| Headers same size as subheaders | Hierarchy levels blur together | Increase size contrast between levels |
| Too many focal points | Eye doesn't know where to start | Choose one dominant element per section |
| Colour as the only differentiator | Inaccessible to colour-blind users | Combine colour with weight/size/position |