title: Design-AI principles — agent priming cheat sheet applies_to: [all] purpose: Single-page reference. Read at the start of every design task. Every rule cites a deeper knowledge file. version: 1.0.0 last_updated: 2026-05 stability: stable
Design-AI principles¶
The 30 load-bearing rules across this knowledge base. Read this first; it primes you for any design task. Every line links to the deeper file with reasoning + edge cases.
Color¶
- Contrast: 4.5:1 body, 3:1 UI/large text. Cite
a11y/contrast.md. Always state the ratio explicitly when introducing a color pair. - Tokens by role, not by hex.
--color-primary-defaultnot--blue-600. Citecolors/color-theory.md. - Dark mode is recomputed, not inverted. Increase chroma 10–20% for low-light; reset semantic anchors. Cite
colors/color-theory.md. - Money colors are a separate axis from primary/error.
--color-money-positive/--color-money-negative/--color-money-neutral. Citepatterns/money-and-amount.md. - Korean stock convention is INVERTED: red=up, blue=down. Cite
patterns/money-and-amount.md. - Color + icon redundancy. Never encode meaning by color alone — pair with icon, label, or pattern. Cite
a11y/contrast.md.
Typography¶
- Korean +10% line-height vs Latin defaults. Body 1.5 → 1.6. Cite
i18n/korean-typography.md. - Korean body emphasis = weight 600 (not 500). Hangul reads thinner at the same numeric weight. Cite
i18n/korean-typography.md. - Tabular numerals for amounts.
font-feature-settings: 'tnum' 1. Citepatterns/money-and-amount.md. - Pretendard for Korean primary. Pairs Hangul + Latin in matched proportions. Cite
i18n/korean-typography.md. - Type scale: base 14 product UI / 18+ marketing. Ratio 1.25 (major third) is the safe default. Cite
typography/type-scale-fundamentals.md.
Spacing & layout¶
- 4-base spacing scale.
4, 8, 12, 16, 20, 24, 32, 40, 48, 64. No arbitrary values. Citelayout/spacing-and-grid.md. - 12-col grid, 24px gutter. Standard for product UIs. Container queries for component-internal layout. Cite
layout/spacing-and-grid.md. - Korean consumer mobile is denser than Western defaults. Reduce padding ~15–25% from MUI/Material defaults. Cite
i18n/korean-product-conventions.md.
Motion¶
- Three duration tiers: 150ms (micro) / 250ms (component) / 400ms (hero only). Cite
motion/principles.md. ease-outfor entrances,ease-infor exits,ease-in-outfor position changes. Citemotion/principles.md.- Respect
prefers-reduced-motion. Drop fade/scale/parallax; keep state changes. Citemotion/principles.md.
Accessibility¶
- Every interactive element keyboard-reachable with visible focus indicator (≥ 2px, 3:1 contrast). Cite
a11y/keyboard-and-focus.md. - Touch targets ≥ 44×44 mobile / ≥ 24×24 web AA. Use
hitSlopto extend without growing visual. Citea11y/keyboard-and-focus.md. - Modal: focus trap on open, restore focus on close, Escape closes. Cite WAI-ARIA Dialog Pattern +
examples/component-modal.md. - Form errors via
aria-invalid+aria-describedbypointing at the error text. Citepatterns/form-design.md. - Disabled state requires
aria-disabledin addition to nativedisabled. Citea11y/keyboard-and-focus.md.
Forms¶
- Single column, labels above, validate on blur. Cite
patterns/form-design.md. - Mark optional with
(optional), not required with*. Required is the default; mark exceptions. Citepatterns/form-design.md. - Korean: separate marketing-consent checkbox from required-terms. Pre-checked is illegal. Cite
i18n/korean-product-conventions.md. - Phone-first auth + KakaoTalk login for Korean consumer apps. Cite
i18n/korean-product-conventions.md. - Daum Postcode API for any Korean address field. Never free-form. Cite
i18n/korean-product-conventions.md.
Lists & navigation¶
- Virtualize lists > 50 items (FlatList on RN, react-virtual on web). Skeleton on first load only. Cite
patterns/list-and-feed.md. - Bottom-tab-bar for Korean consumer mobile (3–5 tabs, always with Korean labels). Cite
patterns/mobile-navigation.md.
Components¶
- When specing a component, cite all 3 references (Ant Design, MUI, shadcn-ui) and explain API choices ("API choices made" section). Don't invent — adapt. Cite
skills/component-spec-writer/PLAYBOOK.md.
Data visualization¶
- Pick palette type by data shape: sequential (low→high), diverging (positive↔negative), categorical (distinct). Cite
patterns/chart-color-encoding.md. - ≤ 8 categorical colors. More than 8 = user can't track. Cite
patterns/chart-color-encoding.md. - Dashboard order: KPI row → primary chart → secondary 2-up → detail table. Cite
patterns/dashboard-composition.md. - "Last updated" indicator on every live dashboard. Cite
patterns/realtime-data.md. - Don't blast updates — throttle to ≤10/sec per element, batch high-frequency. Respect
prefers-reduced-motion. Citepatterns/realtime-data.md.
Documentation & long-form¶
- Documents follow Diátaxis types: tutorial / how-to / reference / explanation. Each has a different template + voice. Don't mix in one doc. Cite
patterns/information-architecture.md. - Body 18px on docs, not 14px. Long-form reading needs bigger text than UI. Cite
patterns/document-typography.md. - Lead with the answer (TL;DR pyramid). Especially in reports. Senior reader stops at the first paragraph; structure for that. Cite
patterns/report-design.md. - Active voice, second person, imperative for instructions. Cite
patterns/technical-writing.md. - Slide title = the message, not the topic. "Revenue tripled in Q4" beats "Revenue". Cite
patterns/slide-deck-design.md. - Korean documents: pick honorific level (~합니다 vs ~해요) and stay consistent. Cite
i18n/korean-document-style.md.
Output discipline¶
When producing any design artifact:
- Cite knowledge files for every claim category. No silent assertions.
- Contrast matrix for any color-related output.
- Tokens by name in semantic layer, hex only in primitive layer.
- Light + dark when both requested. Recomputed.
- Don't section with at least 2 specific misuses.
- Korean considerations if
languageincludesko.
When in doubt¶
- Default to boring, defensible, cited over clever, novel, justified-by-vibe.
- If the upstream design systems all do X, do X unless you have a specific reason.
- If you're unsure, ask one clarifying question. Don't guess.
- Open the relevant
knowledge/<category>/<file>.mdrather than reasoning from training data.
How this file is used¶
- Loaded at session start by the agent (alongside
AGENTS.md/CLAUDE.md). - Re-read before declaring an artifact complete — verification phase reference.
- Cited in artifacts as
PRINCIPLES.mdfor the broad rules; specific files for details.