Frontend Design
Build distinctive, production-grade frontend interfaces that feel intentional,
polished, and ready to ship. This skill exists to prevent generic AI UI: weak
typography, timid color, repetitive layouts, placeholder copy, and ornamental
motion.
Use This Skill When
- the output is implemented frontend code, not just critique
- the task is a landing page, product page, marketing site, dashboard, app
shell, docs surface, or interactive prototype
- the UI needs strong visual direction, premium polish, motion, assets, or
conversion-aware copy
- an existing frontend needs targeted redesign without a full rewrite
Do Not Use This Skill When
- the task is backend, API, database, or infrastructure work
- the user wants UX critique before implementation -> use
ui-ux-pro-max
- the user wants broader full-stack delivery -> use
developer
Non-Negotiables
- Do not ship generic AI aesthetics.
- Do not guess critical design direction when it would materially change the
implementation.
- Do not design from scratch when local code, screenshots, or a design system
already exist and can be mined first.
- Do not use placeholder copy, placeholder media URLs, or half-finished code.
- Do not break an existing design system unless the user explicitly asks.
- Do not add heavy motion or media without clear payoff.
- If a required asset is missing, prefer an explicit local placeholder or
simple custom illustration over irrelevant stock UI or fake product chrome.
Execution Model
Before implementation, lock these four inputs:
- Purpose: what the interface does and who it serves
- Anchor: brand, product, or mood reference
- Constraints: framework, design system, accessibility, performance,
device priority
- Difference-maker: the one memorable visual or interaction idea
Then write three anchors:
- Visual thesis: one sentence for mood, material, and energy
- Content plan: hero, support, detail, final CTA
- Interaction thesis: two or three motion ideas that change the feel of
the page
Each section gets one job, one dominant idea, and one primary takeaway or
action.
Design Controls
Use these internal dials to avoid generic output:
- DESIGN_VARIANCE
1-3: restrained, symmetrical, predictable
4-7: offset, structured, moderately experimental
8-10: asymmetric, broken-grid, high-contrast composition
- MOTION_INTENSITY
1-3: hover, focus, pressed states only
4-7: reveals, stagger, restrained choreography
8-10: scroll-linked sequencing, magnetic motion, cinematic behavior
- VISUAL_DENSITY
1-3: airy, luxurious, gallery-like
4-7: balanced product UI
8-10: dense operational or telemetry surfaces
Default baseline:
DESIGN_VARIANCE = 6
MOTION_INTENSITY = 4
VISUAL_DENSITY = 4
Adapt the dials to the product type, user request, and existing brand language.
Clarification Rule
If missing information would materially change the implementation, ask exactly
one focused clarification question before proceeding.
Clarification triggers:
- no clear reference anchor
- no clear interface type
- unclear motion intensity
- unclear device priority
- unclear requirement to preserve an existing brand or design system
- no usable design context for a net-new design task
Use AskUserQuestion if available. If not, ask the same question in plain
text. Prefer multiple-choice framing. Ask one thing at a time.
When no brand or style is specified, proactively recommend 2-3 anchors from
design-md/ based on page type and product tone. Example question patterns:
- "Which direction should we anchor to: a specific brand in
design-md/, a
URL reference, or a mood description?"
- "Is there an existing brand or design system I must preserve?"
- "What is the best starting context: existing repo UI, screenshots, a design
system, or should I choose an anchor and proceed?"
Skip clarification only when:
- the repo already has a strong design system
- the user explicitly says to choose the direction
- the missing detail would not meaningfully change the implementation
If you proceed without asking, state the assumption first.
Workflow
1. Align
- Identify page type, audience, and technical constraints.
- Confirm framework and styling stack before importing dependencies.
- If direction is ambiguous enough to change the build, ask one question.
- Inspect the most relevant existing UI context first: local components,
screenshots, route shells, design-system docs, or brand references.
- If the user names a brand or style, immediately load
design-md/<brand>/DESIGN.md and treat it as authoritative.
- If no brand is named, recommend 2-3 anchors from
design-md/ based on page
type and product tone, then load the chosen anchor.
- If no anchor fits, summarize the intended style as a visual thesis before
building.
- When offering options, recommend 2-3 concrete directions max.
2. Plan
- Break the UI into sections and reusable components.
- Decide which sections need motion, which need static polish, and which need
supporting media.
- Set the three design controls.
- Prefer the smallest toolset that can still deliver the effect.
- Decide whether the task is best handled as direct implementation, a focused
design study, or a clickable prototype.
3. Read References
Load only what the task needs:
- layout, hero composition, hierarchy, section rhythm ->
references/composition-playbook.md
- motion, reveal choreography, stagger, scroll behavior ->
references/motion-recipes.md
- redesigning an existing page or app ->
references/redesign-audit.md
- media generation ->
references/asset-prompt-guide.md first, then the
currently supported toolchain docs; prefer the installed toolchain (e.g. mmx-cli)
- tooling trouble ->
references/troubleshooting.md,
references/env-setup.md
3.5. Acquire Context Before Freehanding
- Prefer code and design context over screenshots alone when both exist.
- When editing an existing product, inspect the visual vocabulary before making
changes: hierarchy, spacing, color roles, radius, borders, shadows, motion,
copy tone, and density.
- When the repo lacks enough context, explicitly anchor to one of:
design-md/, a provided reference, or a written visual thesis.
- Treat full freehand invention as the last resort, not the default.
4. Build
- write responsive, accessible, production-ready UI
- integrate real copy, local assets, and intentional motion
- preserve the existing system when working inside a product
- redesign in place unless the user explicitly asks for a rebuild
- when the task is exploratory, keep variants easy to compare inside the same
implementation path unless separation is clearly cleaner
- check
package.json before introducing any new dependency
- do not mix Tailwind v3 and v4 syntax
- keep interactive or animation-heavy behavior inside the correct client
boundary when using React or Next.js
5. Verify
- run quality gates before delivery
DESIGN.md Consumption
Treat design-md/ as the authoritative style library.
Each DESIGN.md may contain two layers:
- YAML front matter for machine-readable tokens
- Markdown body for rationale and application guidance
Each DESIGN.md typically covers these areas:
- Visual Theme and Atmosphere
- Color Palette and Roles (hex values with semantic names)
- Typography Rules (families, sizes, weights, line-heights)
- Component Stylings (buttons, cards, inputs with exact specs)
- Layout Principles (spacing scale, grid, container)
- Depth and Elevation (shadow system)
- Do's and Don'ts (explicit design constraints)
- Responsive Behavior (breakpoints and collapsing)
- Agent Prompt Guide (reusable component prompts)
Extract and apply all relevant sections systematically, not just color and
typography.
When YAML exists:
- read tokens first for exact colors, typography, spacing, radius, and
component defaults
- treat tokens as normative values
- use prose for tone, hierarchy, composition philosophy, and edge cases
- if prose and tokens conflict, follow tokens for exact values and prose for
intent, then note the ambiguity
When the user does not specify a brand or style:
- ask for direction if needed
- recommend 2-3 anchors max
- load the chosen
DESIGN.md
- extract the core token set if YAML exists
- build against that anchor instead of freehanding the aesthetic
Exploration Modes And Variations
Choose the working mode by the actual problem:
- purely visual direction work -> produce tightly scoped visual comparisons
rather than a bloated full app shell
- interaction, flow, or concept exploration -> prefer a realistic clickable
prototype or end-to-end implemented slice
- direct product implementation -> ship the chosen direction cleanly instead of
over-optimizing for breadth
When the user wants options:
- vary 2-4 meaningful dimensions max: layout, typography, color treatment,
motion language, or interaction model
- start with one direction that stays close to the existing product language,
then expand into bolder alternatives
- make variants comparable; avoid creating unrelated designs with no shared
evaluation frame
- if a single code path can support comparison cleanly, prefer toggles, props,
or structured variants over fragmented duplicate files
- if a design needs multiple files, name them clearly and preserve the prior
revision when making a major directional change
Design Rules
Typography
- Use distinctive display and body pairings.
- Avoid Inter, Arial, Roboto, and generic defaults unless the existing product
already uses them.
- Match font personality to product tone.
- For dashboards and operational UI, avoid serif unless already established.
- Use monospace or tabular numerals for dense numbers and technical labels.
Color And Surface
- Commit to one coherent palette with one accent color. See
craft/color.md for palette structure, contrast min, and dark theme rules.
- Avoid pure
#000000, purple-on-white AI gradients, and generic black shadows.
- Use CSS variables for token-driven consistency.
Layout
- Prefer asymmetry, modular rhythm, or intentional negative space.
- If
DESIGN_VARIANCE > 4, avoid centered hero compositions by default.
- Avoid the interchangeable centered hero plus three-card grid pattern.
- Treat the first viewport like a poster, not a document.
- Use sections, columns, dividers, lists, and media before defaulting to card
grids.
- Use
min-h-[100dvh] instead of h-screen for full-height hero sections.
- Collapse high-variance layouts aggressively to one column on mobile.
Landing Pages
- Default flow: hero, support, detail, final CTA.
- Make the brand or product unmistakable in the first screen.
- Give the first viewport one dominant visual anchor.
- Avoid hero cards, logo clouds, stat strips, and floating fake dashboards by
default.
- Keep the hero text column narrow and placed on a calm tonal area.
Dashboards And Product UI
- Default to calm hierarchy, strong spacing, few colors, and minimal chrome.
- Organize around workspace, navigation, context, and one clear action accent.
- Prefer utility copy over marketing copy.
- If
VISUAL_DENSITY > 7, prefer dividers, spacing, and alignment over
generic cards.
Copy And Imagery
- Write real copy. No lorem ipsum, fake brand names, generic people names, or
empty hype language.
- Keep headlines concise and meaning-heavy.
- Make imagery do narrative work; decorative texture alone is not enough.
- Prefer real-looking, in-situ imagery over fake dashboards or abstract filler.
- Avoid emojis in UI copy, alt text, and interface chrome unless already part
of the product language.
- If real assets are unavailable, use deliberate placeholders that make the
intended structure obvious instead of low-credibility filler.
Components
- Customize primitives so they belong to the chosen direction.
- Add loading, empty, error, hover, focus, and pressed states.
- Prefer visible labels above inputs.
- Aim for at least
44px touch targets.
Motion Rules
Tool Choice
- CSS for simple hover, focus, and lightweight entrances
- Framer Motion for UI choreography and layout transitions
- GSAP for precise scroll sequencing only
- Three.js / React Three Fiber only when 3D materially improves the experience
Guardrails
- Do not mix GSAP and Framer Motion in the same component tree.
- Animate
transform, opacity, filter, and carefully chosen clip-path,
not layout properties.
- Respect
prefers-reduced-motion.
- Do not use React
useState for magnetic hover or continuous motion.
- Keep perpetual or CPU-heavy animation in small leaf components.
- Keep
staggerChildren parents and animated children in the same client tree.
- Use
IntersectionObserver, whileInView, or scroll libraries instead of raw
window.addEventListener("scroll").
- Apply grain or noise overlays only to fixed, pointer-events-none layers.
- Clean up timers, scroll triggers, and effects.
- Remove ornamental motion with no hierarchy, affordance, or atmosphere value.
Assets
Only generate media when it directly improves the frontend outcome.
Preferred execution path:
- use the currently installed, workspace-approved media generation toolchain
first;
mmx-cli is the preferred MiniMax path when available
- use the installed toolchain (e.g.
mmx-cli); avoid script-based
workflows that require separate environment setup
Asset rules:
- never ship placeholder media URLs
- save generated assets locally
- prefer WebP for images, compressed MP4 for video, normalized audio where
relevant
- show prompts to the user before generation when the visual direction is
sensitive
- keep commands reproducible and non-interactive when running generation in an
agent workflow
Output Integrity
- No placeholder comments such as
TODO, ..., or "same pattern".
- No skeleton output when full implementation is required.
- If the task asks for a full file or full component set, deliver the whole
thing.
- If output must pause, stop at a clean breakpoint instead of compressing the
rest into summaries.
Prototype And Artifact Rules
Apply these when the deliverable is an HTML prototype, design study, or
standalone frontend artifact:
- choose a descriptive filename that reflects the screen or concept
- avoid giant monolithic files; split large artifacts into smaller components
or support files when the structure starts hiding intent
- for major revisions, preserve the old version or make the variant boundary
explicit so comparison is easy
- avoid fake title screens unless the user explicitly wants a presentation-like
artifact
- keep the design centered on the interface itself, not decorative framing
Escalation Rules
Pause and ask before:
- changing an established brand or design system in a major way
- adding motion or media that materially increases delivery risk
- shipping without responsive and accessibility validation
Quality Gates
Before delivery, verify:
- responsive on mobile and desktop
- reduced-motion path handled
- loading, empty, and error states present when applicable
- no placeholder media URLs remain
- generated media saved locally
- heavy libraries justified and isolated
- code matches the intended aesthetic instead of a generic template
- first screen has one unmistakable visual anchor
- brand or product is unmistakable in the first screen
- each section has one job
- cards are used only when they earn their place
- no obvious filler, unfinished implementation, or generic slop remains
- when the UI is runnable, preview the implemented result rather than trusting
static code inspection alone
Anti-AI-Slop Checks
Run craft/anti-ai-slop.md as the quality gate before shipping. Covers:
indigo accent, trust gradients, emoji icons, wrong display fonts, AI
dashboard tiles, invented metrics, filler copy, and external placeholder CDNs.
Final Output Contract
Every use of this skill should end with:
Skill Fit
Primary Deliverable
Execution Evidence
Design System Alignment
Reference Evidence - selected design-md anchor and any references loaded
Risks / Open Questions
Next Action
References
Read only as needed:
references/composition-playbook.md
references/motion-recipes.md
references/redesign-audit.md
references/troubleshooting.md
references/asset-prompt-guide.md
references/env-setup.md
Craft Rules
Brand-agnostic design craftsmanship. Read as needed during review:
craft/anti-ai-slop.md — anti-AI-tell rules and quality gates
craft/color.md — accent discipline, contrast, dark-theme rules
craft/typography-hierarchy.md — hierarchy vectors, rhythm, controlled
violations
craft/state-coverage.md — loading, empty, error, edge, and form states
craft/accessibility-baseline.md — WCAG 2.2 AA, ARIA, focus, labels
craft/laws-of-ux.md — cognitive heuristics, decision-making, memory laws
1---2name: frontend-design3description: Implement distinctive, production-grade frontend UI code with strong visual direction, motion systems, local media asset generation, conversion-aware copy, and polished frontend execution. Use when building landing pages, marketing sites, product pages, dashboards, motion-heavy interfaces, or frontend experiences that need real assets and compelling copy.4---56# Frontend Design78Build distinctive, production-grade frontend interfaces that feel intentional,9polished, and ready to ship. This skill exists to prevent generic AI UI: weak10typography, timid color, repetitive layouts, placeholder copy, and ornamental11motion.1213## Use This Skill When1415- the output is implemented frontend code, not just critique16- the task is a landing page, product page, marketing site, dashboard, app17 shell, docs surface, or interactive prototype18- the UI needs strong visual direction, premium polish, motion, assets, or19 conversion-aware copy20- an existing frontend needs targeted redesign without a full rewrite2122## Do Not Use This Skill When2324- the task is backend, API, database, or infrastructure work25- the user wants UX critique before implementation -> use `ui-ux-pro-max`26- the user wants broader full-stack delivery -> use `developer`2728## Non-Negotiables2930- Do not ship generic AI aesthetics.31- Do not guess critical design direction when it would materially change the32 implementation.33- Do not design from scratch when local code, screenshots, or a design system34 already exist and can be mined first.35- Do not use placeholder copy, placeholder media URLs, or half-finished code.36- Do not break an existing design system unless the user explicitly asks.37- Do not add heavy motion or media without clear payoff.38- If a required asset is missing, prefer an explicit local placeholder or39 simple custom illustration over irrelevant stock UI or fake product chrome.4041## Execution Model4243Before implementation, lock these four inputs:4445- **Purpose**: what the interface does and who it serves46- **Anchor**: brand, product, or mood reference47- **Constraints**: framework, design system, accessibility, performance,48 device priority49- **Difference-maker**: the one memorable visual or interaction idea5051Then write three anchors:5253- **Visual thesis**: one sentence for mood, material, and energy54- **Content plan**: hero, support, detail, final CTA55- **Interaction thesis**: two or three motion ideas that change the feel of56 the page5758Each section gets one job, one dominant idea, and one primary takeaway or59action.6061## Design Controls6263Use these internal dials to avoid generic output:6465- **DESIGN_VARIANCE**66 - `1-3`: restrained, symmetrical, predictable67 - `4-7`: offset, structured, moderately experimental68 - `8-10`: asymmetric, broken-grid, high-contrast composition69- **MOTION_INTENSITY**70 - `1-3`: hover, focus, pressed states only71 - `4-7`: reveals, stagger, restrained choreography72 - `8-10`: scroll-linked sequencing, magnetic motion, cinematic behavior73- **VISUAL_DENSITY**74 - `1-3`: airy, luxurious, gallery-like75 - `4-7`: balanced product UI76 - `8-10`: dense operational or telemetry surfaces7778Default baseline:7980- `DESIGN_VARIANCE = 6`81- `MOTION_INTENSITY = 4`82- `VISUAL_DENSITY = 4`8384Adapt the dials to the product type, user request, and existing brand language.8586## Clarification Rule8788If missing information would materially change the implementation, ask exactly89one focused clarification question before proceeding.9091Clarification triggers:9293- no clear reference anchor94- no clear interface type95- unclear motion intensity96- unclear device priority97- unclear requirement to preserve an existing brand or design system98- no usable design context for a net-new design task99100Use `AskUserQuestion` if available. If not, ask the same question in plain101text. Prefer multiple-choice framing. Ask one thing at a time.102103When no brand or style is specified, proactively recommend 2-3 anchors from104`design-md/` based on page type and product tone. Example question patterns:105106- "Which direction should we anchor to: a specific brand in `design-md/`, a107 URL reference, or a mood description?"108- "Is there an existing brand or design system I must preserve?"109- "What is the best starting context: existing repo UI, screenshots, a design110 system, or should I choose an anchor and proceed?"111112Skip clarification only when:113114- the repo already has a strong design system115- the user explicitly says to choose the direction116- the missing detail would not meaningfully change the implementation117118If you proceed without asking, state the assumption first.119120## Workflow121122### 1. Align1231241. Identify page type, audience, and technical constraints.1252. Confirm framework and styling stack before importing dependencies.1263. If direction is ambiguous enough to change the build, ask one question.1274. Inspect the most relevant existing UI context first: local components,128 screenshots, route shells, design-system docs, or brand references.1295. If the user names a brand or style, immediately load130 `design-md/<brand>/DESIGN.md` and treat it as authoritative.1316. If no brand is named, recommend 2-3 anchors from `design-md/` based on page132 type and product tone, then load the chosen anchor.1337. If no anchor fits, summarize the intended style as a visual thesis before134 building.1358. When offering options, recommend 2-3 concrete directions max.136137### 2. Plan1381391. Break the UI into sections and reusable components.1402. Decide which sections need motion, which need static polish, and which need141 supporting media.1423. Set the three design controls.1434. Prefer the smallest toolset that can still deliver the effect.1445. Decide whether the task is best handled as direct implementation, a focused145 design study, or a clickable prototype.146147### 3. Read References148149Load only what the task needs:150151- layout, hero composition, hierarchy, section rhythm ->152 `references/composition-playbook.md`153- motion, reveal choreography, stagger, scroll behavior ->154 `references/motion-recipes.md`155- redesigning an existing page or app -> `references/redesign-audit.md`156- media generation -> `references/asset-prompt-guide.md` first, then the157 currently supported toolchain docs; prefer the installed toolchain (e.g. `mmx-cli`)158- tooling trouble -> `references/troubleshooting.md`,159 `references/env-setup.md`160161### 3.5. Acquire Context Before Freehanding162163- Prefer code and design context over screenshots alone when both exist.164- When editing an existing product, inspect the visual vocabulary before making165 changes: hierarchy, spacing, color roles, radius, borders, shadows, motion,166 copy tone, and density.167- When the repo lacks enough context, explicitly anchor to one of:168 `design-md/`, a provided reference, or a written visual thesis.169- Treat full freehand invention as the last resort, not the default.170171### 4. Build172173- write responsive, accessible, production-ready UI174- integrate real copy, local assets, and intentional motion175- preserve the existing system when working inside a product176- redesign in place unless the user explicitly asks for a rebuild177- when the task is exploratory, keep variants easy to compare inside the same178 implementation path unless separation is clearly cleaner179- check `package.json` before introducing any new dependency180- do not mix Tailwind v3 and v4 syntax181- keep interactive or animation-heavy behavior inside the correct client182 boundary when using React or Next.js183184### 5. Verify185186- run quality gates before delivery187188## DESIGN.md Consumption189190Treat `design-md/` as the authoritative style library.191192Each `DESIGN.md` may contain two layers:1931941. YAML front matter for machine-readable tokens1952. Markdown body for rationale and application guidance196197Each `DESIGN.md` typically covers these areas:1981991. Visual Theme and Atmosphere2002. Color Palette and Roles (hex values with semantic names)2013. Typography Rules (families, sizes, weights, line-heights)2024. Component Stylings (buttons, cards, inputs with exact specs)2035. Layout Principles (spacing scale, grid, container)2046. Depth and Elevation (shadow system)2057. Do's and Don'ts (explicit design constraints)2068. Responsive Behavior (breakpoints and collapsing)2079. Agent Prompt Guide (reusable component prompts)208209Extract and apply all relevant sections systematically, not just color and210typography.211212When YAML exists:213214- read tokens first for exact colors, typography, spacing, radius, and215 component defaults216- treat tokens as normative values217- use prose for tone, hierarchy, composition philosophy, and edge cases218- if prose and tokens conflict, follow tokens for exact values and prose for219 intent, then note the ambiguity220221When the user does not specify a brand or style:2222231. ask for direction if needed2242. recommend 2-3 anchors max2253. load the chosen `DESIGN.md`2264. extract the core token set if YAML exists2275. build against that anchor instead of freehanding the aesthetic228229## Exploration Modes And Variations230231Choose the working mode by the actual problem:232233- purely visual direction work -> produce tightly scoped visual comparisons234 rather than a bloated full app shell235- interaction, flow, or concept exploration -> prefer a realistic clickable236 prototype or end-to-end implemented slice237- direct product implementation -> ship the chosen direction cleanly instead of238 over-optimizing for breadth239240When the user wants options:241242- vary 2-4 meaningful dimensions max: layout, typography, color treatment,243 motion language, or interaction model244- start with one direction that stays close to the existing product language,245 then expand into bolder alternatives246- make variants comparable; avoid creating unrelated designs with no shared247 evaluation frame248- if a single code path can support comparison cleanly, prefer toggles, props,249 or structured variants over fragmented duplicate files250- if a design needs multiple files, name them clearly and preserve the prior251 revision when making a major directional change252253## Design Rules254255### Typography256257- Use distinctive display and body pairings.258- Avoid Inter, Arial, Roboto, and generic defaults unless the existing product259 already uses them.260- Match font personality to product tone.261- For dashboards and operational UI, avoid serif unless already established.262- Use monospace or tabular numerals for dense numbers and technical labels.263264### Color And Surface265266- Commit to one coherent palette with one accent color. See `craft/color.md` for palette structure, contrast min, and dark theme rules.267- Avoid pure `#000000`, purple-on-white AI gradients, and generic black shadows.268- Use CSS variables for token-driven consistency.269270### Layout271272- Prefer asymmetry, modular rhythm, or intentional negative space.273- If `DESIGN_VARIANCE > 4`, avoid centered hero compositions by default.274- Avoid the interchangeable centered hero plus three-card grid pattern.275- Treat the first viewport like a poster, not a document.276- Use sections, columns, dividers, lists, and media before defaulting to card277 grids.278- Use `min-h-[100dvh]` instead of `h-screen` for full-height hero sections.279- Collapse high-variance layouts aggressively to one column on mobile.280281### Landing Pages282283- Default flow: hero, support, detail, final CTA.284- Make the brand or product unmistakable in the first screen.285- Give the first viewport one dominant visual anchor.286- Avoid hero cards, logo clouds, stat strips, and floating fake dashboards by287 default.288- Keep the hero text column narrow and placed on a calm tonal area.289290### Dashboards And Product UI291292- Default to calm hierarchy, strong spacing, few colors, and minimal chrome.293- Organize around workspace, navigation, context, and one clear action accent.294- Prefer utility copy over marketing copy.295- If `VISUAL_DENSITY > 7`, prefer dividers, spacing, and alignment over296 generic cards.297298### Copy And Imagery299300- Write real copy. No lorem ipsum, fake brand names, generic people names, or301 empty hype language.302- Keep headlines concise and meaning-heavy.303- Make imagery do narrative work; decorative texture alone is not enough.304- Prefer real-looking, in-situ imagery over fake dashboards or abstract filler.305- Avoid emojis in UI copy, alt text, and interface chrome unless already part306 of the product language.307- If real assets are unavailable, use deliberate placeholders that make the308 intended structure obvious instead of low-credibility filler.309310### Components311312- Customize primitives so they belong to the chosen direction.313- Add loading, empty, error, hover, focus, and pressed states.314- Prefer visible labels above inputs.315- Aim for at least `44px` touch targets.316317## Motion Rules318319### Tool Choice320321- CSS for simple hover, focus, and lightweight entrances322- Framer Motion for UI choreography and layout transitions323- GSAP for precise scroll sequencing only324- Three.js / React Three Fiber only when 3D materially improves the experience325326### Guardrails327328- Do not mix GSAP and Framer Motion in the same component tree.329- Animate `transform`, `opacity`, `filter`, and carefully chosen `clip-path`,330 not layout properties.331- Respect `prefers-reduced-motion`.332- Do not use React `useState` for magnetic hover or continuous motion.333- Keep perpetual or CPU-heavy animation in small leaf components.334- Keep `staggerChildren` parents and animated children in the same client tree.335- Use `IntersectionObserver`, `whileInView`, or scroll libraries instead of raw336 `window.addEventListener("scroll")`.337- Apply grain or noise overlays only to fixed, pointer-events-none layers.338- Clean up timers, scroll triggers, and effects.339- Remove ornamental motion with no hierarchy, affordance, or atmosphere value.340341## Assets342343Only generate media when it directly improves the frontend outcome.344345Preferred execution path:346347- use the currently installed, workspace-approved media generation toolchain348 first; `mmx-cli` is the preferred MiniMax path when available349- use the installed toolchain (e.g. `mmx-cli`); avoid script-based350 workflows that require separate environment setup351352Asset rules:353354- never ship placeholder media URLs355- save generated assets locally356- prefer WebP for images, compressed MP4 for video, normalized audio where357 relevant358- show prompts to the user before generation when the visual direction is359 sensitive360- keep commands reproducible and non-interactive when running generation in an361 agent workflow362363## Output Integrity364365- No placeholder comments such as `TODO`, `...`, or "same pattern".366- No skeleton output when full implementation is required.367- If the task asks for a full file or full component set, deliver the whole368 thing.369- If output must pause, stop at a clean breakpoint instead of compressing the370 rest into summaries.371372## Prototype And Artifact Rules373374Apply these when the deliverable is an HTML prototype, design study, or375standalone frontend artifact:376377- choose a descriptive filename that reflects the screen or concept378- avoid giant monolithic files; split large artifacts into smaller components379 or support files when the structure starts hiding intent380- for major revisions, preserve the old version or make the variant boundary381 explicit so comparison is easy382- avoid fake title screens unless the user explicitly wants a presentation-like383 artifact384- keep the design centered on the interface itself, not decorative framing385386## Escalation Rules387388Pause and ask before:389390- changing an established brand or design system in a major way391- adding motion or media that materially increases delivery risk392- shipping without responsive and accessibility validation393394## Quality Gates395396Before delivery, verify:397398- responsive on mobile and desktop399- reduced-motion path handled400- loading, empty, and error states present when applicable401- no placeholder media URLs remain402- generated media saved locally403- heavy libraries justified and isolated404- code matches the intended aesthetic instead of a generic template405- first screen has one unmistakable visual anchor406- brand or product is unmistakable in the first screen407- each section has one job408- cards are used only when they earn their place409- no obvious filler, unfinished implementation, or generic slop remains410- when the UI is runnable, preview the implemented result rather than trusting411 static code inspection alone412413### Anti-AI-Slop Checks414415Run `craft/anti-ai-slop.md` as the quality gate before shipping. Covers:416indigo accent, trust gradients, emoji icons, wrong display fonts, AI417dashboard tiles, invented metrics, filler copy, and external placeholder CDNs.418419## Final Output Contract420421Every use of this skill should end with:4224231. `Skill Fit`4242. `Primary Deliverable`4253. `Execution Evidence`4264. `Design System Alignment`4275. `Reference Evidence` - selected `design-md` anchor and any references loaded4286. `Risks / Open Questions`4297. `Next Action`430431## References432433Read only as needed:434435- `references/composition-playbook.md`436- `references/motion-recipes.md`437- `references/redesign-audit.md`438- `references/troubleshooting.md`439- `references/asset-prompt-guide.md`440- `references/env-setup.md`441442### Craft Rules443444Brand-agnostic design craftsmanship. Read as needed during review:445446- `craft/anti-ai-slop.md` — anti-AI-tell rules and quality gates447- `craft/color.md` — accent discipline, contrast, dark-theme rules448- `craft/typography-hierarchy.md` — hierarchy vectors, rhythm, controlled449 violations450- `craft/state-coverage.md` — loading, empty, error, edge, and form states451- `craft/accessibility-baseline.md` — WCAG 2.2 AA, ARIA, focus, labels452- `craft/laws-of-ux.md` — cognitive heuristics, decision-making, memory laws