Product UI Design
Create interfaces that feel native to the product rather than generated from a fashionable prompt.
Preserve the user's chosen stack, product direction, and existing design system.
Establish the design basis
Before choosing a style, inspect the relevant product and repository evidence: user task, content,
navigation, nearby screens, tokens, components, assets, typography, supported themes, and target
devices. Reuse established primitives and conventions unless the request is explicitly a redesign.
For a new product with no visual language, state a short design basis containing:
- primary user and task
- information-density and usage context
- content hierarchy and critical action
- one visual thesis tied to the product's subject or behavior
- accessibility, platform, brand, and performance constraints
- assumptions that remain reversible
Do not infer a visual identity from the words AI, SaaS, modern, or from the implementation
framework. A style catalog or generated design-system suggestion is input to evaluate, not a design
decision.
Work by mode
- Design: define the user flow and content hierarchy, then layout, components, tokens, and
interaction behavior. Use realistic content shapes; label unknown copy and data as placeholders.
- Implement: detect the existing stack, extend its components and tokens, preserve working
behavior, and keep the change inside the requested surface.
- Review: inspect the rendered interface and code. Report issues by user impact, evidence,
location, and a concrete correction. Do not replace the product's taste with personal preference.
For visual direction and anti-pattern decisions, read anti-slop.md.
Before claiming an implementation complete, apply quality-gates.md.
Design the complete experience
Model the normal path and every applicable state: loading, empty, partial, error, success, disabled,
permission denied, offline or stale data, long content, localization, and destructive confirmation.
Make the primary task obvious without turning every action into a prominent button or every content
group into a card.
Use semantic controls, visible keyboard focus, meaningful labels, logical focus order, sufficient
contrast, zoom-safe layouts, reduced-motion behavior, and non-color status cues. On touch surfaces,
respect platform navigation, safe areas, and adequately sized targets. Prefer motion that explains a
state or spatial change; omit motion that merely advertises polish.
Preserve authorship
- Use hierarchy, proportion, rhythm, type, and content before decoration.
- Give a screen one dominant visual idea. Supporting elements should not compete with it.
- Derive distinctive details from product content, interaction, or brand assets—not arbitrary blobs,
gradients, glows, mascots, or geometric ornaments.
- Use icons from the repository's existing icon system. Do not substitute emoji or mix icon families.
- Do not invent metrics, testimonials, activity, users, certifications, or product capabilities to
make a screen look complete.
- Keep microcopy specific to the action and consequence. Remove promotional filler from operational
interfaces.
- Treat consistency as a system property, not identical cards, pills, spacing, and animation on
every surface.
Completion
When implementation is requested, render the actual interface at representative narrow and wide
viewports and inspect it. Exercise keyboard navigation and the important interaction states when the
environment permits. Fix visible defects, then re-render. A successful build or screenshot command
does not prove visual quality.
Report changed paths, the design basis, reused and introduced tokens/components, states verified,
viewport and accessibility checks, and unresolved assumptions. If the interface could not be
rendered or inspected, say visual verification: NOT_RUN and do not claim the UI is finished.
1---2name: product-ui-design3description: Design, implement, or review web, mobile, and desktop product interfaces from real product context and the repository's existing design language. Use for pages, flows, components, responsive behavior, interaction states, accessibility, and visual refinement. Reject generic template aesthetics and unverified visual-completion claims. Do not use for document, slide, or technical-diagram styling.4---56# Product UI Design78Create interfaces that feel native to the product rather than generated from a fashionable prompt.9Preserve the user's chosen stack, product direction, and existing design system.1011## Establish the design basis1213Before choosing a style, inspect the relevant product and repository evidence: user task, content,14navigation, nearby screens, tokens, components, assets, typography, supported themes, and target15devices. Reuse established primitives and conventions unless the request is explicitly a redesign.1617For a new product with no visual language, state a short design basis containing:1819- primary user and task20- information-density and usage context21- content hierarchy and critical action22- one visual thesis tied to the product's subject or behavior23- accessibility, platform, brand, and performance constraints24- assumptions that remain reversible2526Do not infer a visual identity from the words `AI`, `SaaS`, `modern`, or from the implementation27framework. A style catalog or generated design-system suggestion is input to evaluate, not a design28decision.2930## Work by mode3132- **Design:** define the user flow and content hierarchy, then layout, components, tokens, and33 interaction behavior. Use realistic content shapes; label unknown copy and data as placeholders.34- **Implement:** detect the existing stack, extend its components and tokens, preserve working35 behavior, and keep the change inside the requested surface.36- **Review:** inspect the rendered interface and code. Report issues by user impact, evidence,37 location, and a concrete correction. Do not replace the product's taste with personal preference.3839For visual direction and anti-pattern decisions, read [anti-slop.md](references/anti-slop.md).40Before claiming an implementation complete, apply [quality-gates.md](references/quality-gates.md).4142## Design the complete experience4344Model the normal path and every applicable state: loading, empty, partial, error, success, disabled,45permission denied, offline or stale data, long content, localization, and destructive confirmation.46Make the primary task obvious without turning every action into a prominent button or every content47group into a card.4849Use semantic controls, visible keyboard focus, meaningful labels, logical focus order, sufficient50contrast, zoom-safe layouts, reduced-motion behavior, and non-color status cues. On touch surfaces,51respect platform navigation, safe areas, and adequately sized targets. Prefer motion that explains a52state or spatial change; omit motion that merely advertises polish.5354## Preserve authorship5556- Use hierarchy, proportion, rhythm, type, and content before decoration.57- Give a screen one dominant visual idea. Supporting elements should not compete with it.58- Derive distinctive details from product content, interaction, or brand assets—not arbitrary blobs,59 gradients, glows, mascots, or geometric ornaments.60- Use icons from the repository's existing icon system. Do not substitute emoji or mix icon families.61- Do not invent metrics, testimonials, activity, users, certifications, or product capabilities to62 make a screen look complete.63- Keep microcopy specific to the action and consequence. Remove promotional filler from operational64 interfaces.65- Treat consistency as a system property, not identical cards, pills, spacing, and animation on66 every surface.6768## Completion6970When implementation is requested, render the actual interface at representative narrow and wide71viewports and inspect it. Exercise keyboard navigation and the important interaction states when the72environment permits. Fix visible defects, then re-render. A successful build or screenshot command73does not prove visual quality.7475Report changed paths, the design basis, reused and introduced tokens/components, states verified,76viewport and accessibility checks, and unresolved assumptions. If the interface could not be77rendered or inspected, say `visual verification: NOT_RUN` and do not claim the UI is finished.