| name | design-context |
| description | Use when a request will produce frontend UI, a visual asset, an image prompt, or a video
prompt, AND the intent/style is not already fully specified by the user or an existing
design system in the repo. Forces a minimal, checkable design-context object to exist
before generation so output does not default to generic/templated.
Do NOT use for: single-property edits (color, spacing, copy tweak) with no ambiguity;
bug fixes; refactors; or when the user already gave complete visual specs and you only
need to execute. For those, just do the work.
|
design-context
A gate, not a ceremony. Its only job: force a minimal, checkable design-context object
to exist before any UI/visual/image/video generation, so the output does not fall back to
template instinct (blue-purple gradient, Inter, fade-in, three feature cards).
Keep it as cheap as the task allows. Depth lives in references/ and loads only when needed.
Step 0 — Size the task
Decide depth before doing anything else. Default one level down if unsure — ceremony
costs more than it saves below "feature" scale.
| Size | Signal | Action |
|---|
| Trivial | single property / copy tweak, no ambiguity | Skip everything. Just do it. |
| Component | one new component, or one asset; existing design system | Step 1 inline, no file. Then generate. |
| Page / feature | a page, a section set, a feature | Step 1 + write docs/design/design-context.md. |
| System | new brand, new product, multi-page | Full spec folder — see references/design-spec-template.md. |
Step 1 — Minimum context gate (always, even Component-level)
Before generating, this object must exist — from the user, from the repo (existing tokens /
brand file), or inferred and labeled. Output it where the user can see and correct it.
goal: <one sentence: outcome this must accomplish>
audience: <who, device, mindset>
vibe: [3-5 adjectives]
accent_color: <hex or token>
type: <display font, body font>
motion_intensity: <1-10>
visual_density: <1-10>
reference: <one anchor product/brand, or "none given">
assumptions: [everything you inferred instead of being told]
Rules:
- Ask at most one clarifying question. Everything else → fill with a labeled
assumptions entry and proceed. A labeled guess the human can correct beats a silent
guess they never see.
- In a non-interactive pipeline: ask zero questions, fill every field as a labeled assumption.
- Do not use adjectives without numbers. "premium" alone is rejected; convert to concrete
comparisons (see
references/design-methodology.md §1.2).
Step 2 — Non-negotiable rules (apply by default, inline)
- One accent color per screen — unless the brief is explicitly multi-brand; then
document the rule.
- Easing:
linear for mass-less / steady-state motion (spinners, progress bars,
uniform rotation, breathing glows); cubic-bezier(0.16, 1, 0.3, 1) for objects with
implied mass entering/exiting. Never reversed.
- Rich / photographic / 3D motion → image sequence or video, not hand-authored SVG
path animation. SVG stays for icons, logos, line-art UI. See
references/asset-generation.md.
- Animate only
transform / opacity. Never width/height/top/left/margin unless
you have a documented reason (e.g. FLIP). Smooth pointer tracking goes through rAF, not
directly in the event handler. Full reasoning: references/design-methodology.md §2.7.
- States match the element's actual risk — a link ≠ a submit button. Reserve "done"
for commits. Cover: default, hover, focus, active, disabled, loading, empty, error,
success as applicable.
- Graceful-degradation ladder, not a single fallback: image→placeholder/blurhash,
font→system stack, video/Canvas-frame→
<video> or end-frame still, heavy
animation→static end state, JS→server-rendered HTML still legible.
- No fake data, no styled-
<div> fake product UI, no Lorem ipsum / Acme Co / Jane Doe.
- Every animation is motivated (hierarchy / storytelling / feedback / state transition)
and degrades to a static end-state under
prefers-reduced-motion or load failure.
For the full tables (tokens, spacing/elevation/shape scales, layout breakpoints, motion
duration, performance budgets) and the reasoning behind each rule, see
references/design-methodology.md.
Step 3 — Generate
Build from Step 1's object + Step 2's rules, not from template instinct.
- Generate parts, not a whole finished page, when the spec is thin.
- Prefer reusable components over one-off markup.
- Every interactive element carries the states its risk requires.
- Use real assets or clearly labeled placeholders; never fake screenshots.
- For images / video / SVG / image sequences: build prompts from the Step 1 object — see
references/asset-generation.md for medium selection, prompt structure, and sequence rules.
Step 4 — Self-check
File side-effects (behavior contract)
- Component-level: no files written. The Step 1 object lives inline in the response.
- Page / feature: write
docs/design/design-context.md. If it already exists, do not
overwrite — read it, reconcile the Step 1 object against it, and append/update. Ask
before replacing a hand-written design system.
- System-level: create the
docs/design/ spec folder from
references/design-spec-template.md. Ask before overwriting an existing folder.
feedback-log.md is only written in the Refine phase, which applies to persistent
projects only — skip it entirely for one-shot requests.
Human checkpoints
- Always: the Step 1
assumptions list is the human's 10-second review surface. Surface
it; do not bury it.
- Component / page: human reviews the first draft against Step 1.
- System: human locks tokens and brand direction before multi-page generation begins;
human approves any asset that could carry likeness/copyright risk
(see
references/ai-human-division.md).
Reference index
| When you need | File |
|---|
| Full token/layout/motion tables, performance budgets, the reasoning behind the rules | references/design-methodology.md |
| Image / video / SVG / image-sequence prompting and medium choice | references/asset-generation.md |
| Full spec folder template (System-level) | references/design-spec-template.md |
| AI vs human decision boundary | references/ai-human-division.md |
| Measurable quality metrics | references/evaluation-scorecard.md |