Design Sources
Nothing in the app's interface is designed from memory. A surface is laid out after looking at how the best shipped product arranges the same screen, drawn in tokens whose values come from a design system that explains why they work, and given the keyboard contract a published accessibility pattern describes. This page is the one list of those sources, with what each one gave the app, so an idea that shaped a surface is never lost when the surface is rewritten.
The rules that use these sources live elsewhere: where an action goes is the ux skill's, the design pass every unit of the UI library walks is the ui-library skill's, and the look itself is the design language's. This page only says where to look, and in what order.
The order they are consulted in
flowchart TD
N[A surface to design or judge] --> R{Does a reference product do this screen?}
R -->|yes| RP[Match its hierarchy, wording and interaction]
R -->|no| G[A gallery of shipped screens: how several products arrange it]
RP --> D[The design systems: what the look should be, drawn in our tokens]
G --> D
D --> B[Usability references: whether it interrupts, where it sits, how fast it answers]
B --> A[Accessibility patterns: the keyboard and ARIA contract]
A --> P[Platform documents: the browser feature that implements it]
P --> C{Better than the reference, or only like it?}
C -->|only like it| D
C -->|better, and every flow kept| U[Handed to the user to check by eye]
The last gate is the design pass's own question. Matching the reference product is the floor; a departure from it has to say how it is better, and it is argued in the commit body with the source it came from.
Reference products
Each product area follows one product that already solved its domain, so its arrangement, its copy and its behaviour are taken rather than reinvented. A screenshot of the reference product handed over in a conversation is the specification for that surface (the ux skill).
| Area | Reference product | What it gave |
|---|---|---|
| Esbabbler | Discord on desktop and on its phone app, then Slack | Room settings' information architecture, roles, invites, custom emoji, threads, push to talk, webhooks, mention badges, the composer's create menu; on a phone, one channel header and a keyboard raised only by a tap; Slack's pins as a pane |
| Calls | Google Meet | Share-link calls, fullscreen of the whole call view during a screen share, picture in picture |
| Clicker | Cookie Clicker | The store's rows: a price green while affordable and red while not, the count owned beside it |
| Resource explorer | The Azure portal | The explorer's blades, the breadcrumb trail as "where did I come from", the guarded delete that asks for the resource's name |
| Calendar | Outlook, then Google Calendar | Outlook's four views in its order and its view shortcuts, the month navigator, the shaded working day, the current-time line, a double click to create and a drag to move; Google Calendar's single keys for today, next and previous |
| Sheets | Excel and Google Sheets | Clipboard semantics: a copy lands as a table wherever it is pasted |
| Note | Notion | A to-do list inside a document, started by typing [ ] and a space at the start of a line |
| Program | Qualtrics | Personal links: generating them downloads one row per contact with their own survey link, for another mailer's merge |
| TodoList | Microsoft To Do | The task row: the title with one metadata line under it, a whole row that opens the task's detail view, the checkbox and Completed section, and the completion chime; not its hidden notes, which the row draws in full |
| Agent console | The Claude desktop app's Code tab, and T3 Code | One conversation column with the composer pinned under it, folding a tool call and toggling it on a click anywhere on it |
| Genshin | Genshin Impact, as a player sees it | The environment look: a stepped ramp, shade in the sky's colour, a rim, outlines, soft far shadows, god rays and a haze in the sky's colour; its GDC and Unity Dojo talks for how each is drawn |
Design systems
These are where the look comes from: the palette's structure, the surfaces, the type, the motion and the density. A value in the tokens is chosen against one of them, never picked by eye alone.
| Source | What it gave |
|---|---|
| Material 3 | The reference for the standard style's drawing: its type roles, spacing grid, and when a surface earns elevation or a tonal fill |
| Material 3's color roles | Surface containers told apart by tone rather than by line: standard's frame, lifted panel and filled field |
| Material 3's states | The state layer, one translucent overlay of the content's colour per state: standard's hover and pressed fills and its tonal button |
| Material 3's window size classes and canonical layouts | One layout that adapts across compact, medium and expanded windows rather than one per device: the sm cut at a compact window's edge, and the list-detail and supporting-pane shapes the room shell's drawers take |
| Material 3's shape | A container rounding more than the controls inside it: standard's container and control radii, and the pill a search field takes |
| Material 3's easing and duration | The one decelerating curve every transition uses, and how long a change of each size takes |
| Material 3's checkbox | An empty box drawn as an outline, the one control standard outlines, since a box of the panel's tone alone does not read as something to tick; a hover state layer on the box |
| Pixelarticons | The library's icon set, drawn on a 24-unit pixel grid to sit on a voxel surface |
| Genshin Impact's menus and HUD, as a player sees them, and its UI colours as collected from its settings screen | The Genshin style: the cream parchment and gold of its menus and loading screen, the navy of its HUD, capsule buttons and the thin inner gold line around a panel |
| Signika | The Genshin style's face, the open face nearest the game's own HYWenHei, which is used first where installed |
| Design Tokens Format Module 2025.10 | The split of primitive and semantic tokens that the layout tier and the design style's tier follow |
| Radix Themes, theme overview | Radius, scaling and panel background as theme-level settings: the precedent for a design style above the palette |
| Nuxt UI's CSS variables and design system | The standard style's token vocabulary — a background, an elevated fill, a border, one radius — and its neutral scale |
| Radix Colors, understanding the scale | Which step of a neutral scale is a background, a component, a border and a text colour: the standard palettes' slate |
| Linear's design refresh and how Linear redesigned its UI | Quieter chrome so the content leads, and a theme generated from a few inputs: the standard style's density and Inter face |
| Lucide | The standard style's icon set, the one Nuxt UI and shadcn ship |
| The agent console | The voxel look itself: the dusk palette, the pixel face, the notched frame, raised buttons and sunk fields, generalised into the library's tokens and surfaces |
Galleries of shipped screens
- Mobbin — a library of real app and web screens and flows, for how several products arrange the same thing when no one reference product owns it.
Usability
| Source | What it gave |
|---|---|
| NN/g, modal and nonmodal dialogs | A modal only for what must interrupt; anything else is a popover or a panel beside the content |
| NN/g, confirmation dialogs | A confirmation's answer named by the act rather than "OK" — its "only before what cannot be undone" is rejected here for deletes |
| Apple's Human Interface Guidelines on motion | Motion says where something came from or went, never decorates a frequent action, and never carries a meaning alone |
| Laws of UX | The Doherty threshold (feedback within 400ms), Fitts's law for target size and placement, Hick's law for how many choices a menu offers, and the aesthetic-usability effect for why the look is worth the work |
| Firefox's address bar ranking | Frecency, which ranks the dock's recent pages and the command palette's places |
Accessibility
- WAI-ARIA Authoring Practices — the keyboard contract of every library component: the menu button, listbox, combobox, modal dialog, grid, date picker dialog, breadcrumb and disclosure navigation patterns.
- WCAG 2.2 contrast minimum — the ratio every foreground token is tested against on every surface token.
- MDN on forced colours, reduced motion and colour scheme — why a shadow-drawn edge also carries a transparent border, why the motion tokens are the one reader of the preference, and how the theme follows the system.
- Game accessibility guidelines — the agent console's keys and its pause menu.
Platform
- The top layer — the Popover API, the top layer and anchor positioning, which every menu, select, tooltip and dialog is built on, and Chrome's entry and exit animations, for how they arrive and leave.
- The document's chrome — scrollbar colour, easing functions and the context menu event.
- The headless layer — Vuetify 0's building frameworks, styling, theming and testing guides: behaviour and ARIA in the primitive, the look in our wrapper, state reaching the style as data attributes.
- Dates — Temporal, whose plain dates every calendar walks so a time zone never moves a day.
- The icon engine — UnoCSS's icons preset, which turns a whole icon class into one masked SVG rule.
Notes
- A proposal lists the sources it draws on in its own Sources section, and they join this page when it ships, since this page names only what a shipped surface took from somewhere. A source weighed and not taken stays with the decision that weighed it, as Reka UI does on the UI library page.
- A new source is added the day a surface takes something from it, with the one line saying what it gave. A link without that line is a bookmark, and it is not kept.
Key files
| File | Role |
|---|---|
.agents/skills/ux/references/visual-design-sources.md | How an agent uses the reference product and the design systems while laying out |
.agents/skills/ui-library/references/design-pass.md | The questions every unit is asked, the last of which is this page's final gate |