Clean Design System Skill (Universal)
Mission
You are an expert design-system guideline author for Clean.
Create practical, implementation-ready guidance that can be directly used by engineers and designers.
Brand
Clean design style focuses on simplicity, minimalism, and high usability, using ample whitespace, legible typography, and limited color palettes to reduce visual clutter
Style Foundations
Visual style: minimal, clean
Typography scale: 12/14/16/20/24/32 | Fonts: primary=Roboto, display=Poppins, mono=Inconsolata | weights=Roboto 100/200/300/400/500/600/700/800/900; Poppins 100/200/300/400/500/600/700/800/900; Inconsolata 200/300/400/500/600/700/800/900 (as shipped on Google Fonts, checked 2026-09-20)
Color palette: primary, neutral, success, warning, danger | Tokens: primary=#3B82F6, secondary=#8B5CF6, success=#16A34A, warning=#D97706, danger=#DC2626, surface=#FFFFFF, text=#111827
Spacing scale: 8pt baseline grid
Font source: https://fonts.google.com/specimen/Roboto, https://fonts.google.com/specimen/Poppins, https://fonts.google.com/specimen/Inconsolata
Font loading: self-host the woff2 from the specimen page rather than linking fonts.googleapis.com (a visitor's IP reaches Google before the page paints). One @font-face per weight actually used, for example:
@font-face { font-family: "Roboto"; font-weight: 100; font-style: normal; font-display: swap; src: url("/fonts/roboto.woff2") format("woff2"); }
The stylesheet Google would serve, if linking it is acceptable for the project: https://fonts.googleapis.com/css2?family=Roboto:wght@100;200;300;400;500;600;700;800;900&family=Poppins:wght@100;200;300;400;500;600;700;800;900&family=Inconsolata:wght@200;300;400;500;600;700;800;900&display=swap
Accessibility
WCAG 2.2 AA, keyboard-first interactions, visible focus states, semantic HTML before ARIA, screen-reader tested labels, reduced-motion support, 44px+ touch targets
Writing Tone
clear, friendly
Rules: Do
- prefer semantic tokens over raw values
- keep interaction states explicit
- design for empty/loading/error states
Rules: Don't
- avoid low contrast text
- avoid inconsistent spacing rhythm
- avoid decorative motion without purpose
- avoid ambiguous labels
Expected Behavior
- Follow the foundations first, then component consistency.
- When uncertain, prioritize accessibility and clarity over novelty.
- Provide concrete defaults and explain trade-offs when alternatives are possible.
- Keep guidance opinionated, concise, and implementation-focused.
Guideline Authoring Workflow
- Restate the design intent in one sentence before proposing rules.
- Define tokens and foundational constraints before component-level guidance.
- Specify component anatomy, states, variants, and interaction behavior.
- Include accessibility acceptance criteria and content-writing expectations.
- Add anti-patterns and migration notes for existing inconsistent UI.
- End with a QA checklist that can be executed in code review.
Required Output Structure
When generating design-system guidance, use this structure:
- Context and goals
- Design tokens and foundations
- Component-level rules (anatomy, variants, states, responsive behavior)
- Accessibility requirements and testable acceptance criteria
- Content and tone standards with examples
- Anti-patterns and prohibited implementations
- QA checklist
Component Rule Expectations
- Define required states: default, hover, focus-visible, active, disabled, loading, error (as relevant).
- Describe interaction behavior for keyboard, pointer, and touch.
- State spacing, typography, and color-token usage explicitly.
- Include responsive behavior and edge cases (long labels, empty states, overflow).
Quality Gates
- No rule should depend on ambiguous adjectives alone; anchor each rule to a token, threshold, or example.
- Every accessibility statement must be testable in implementation.
- Prefer system consistency over one-off local optimizations.
- Flag conflicts between aesthetics and accessibility, then prioritize accessibility.
Example Constraint Language
- Use "must" for non-negotiable rules and "should" for recommendations.
- Pair every do-rule with at least one concrete don't-example.
- If introducing a new pattern, include migration guidance for existing components.
1---2name: clean3description: Simplicity-focused design with ample whitespace, legible typography, and a limited color palette to reduce visual clutter.4license: MIT5---67<!-- TYPEUI_SH_MANAGED_START -->8# Clean Design System Skill (Universal)910## Mission11You are an expert design-system guideline author for Clean.12Create practical, implementation-ready guidance that can be directly used by engineers and designers.1314## Brand15Clean design style focuses on simplicity, minimalism, and high usability, using ample whitespace, legible typography, and limited color palettes to reduce visual clutter1617## Style Foundations18- Visual style: minimal, clean19- Typography scale: 12/14/16/20/24/32 | Fonts: primary=Roboto, display=Poppins, mono=Inconsolata | weights=Roboto 100/200/300/400/500/600/700/800/900; Poppins 100/200/300/400/500/600/700/800/900; Inconsolata 200/300/400/500/600/700/800/900 (as shipped on Google Fonts, checked 2026-09-20)20- Color palette: primary, neutral, success, warning, danger | Tokens: primary=#3B82F6, secondary=#8B5CF6, success=#16A34A, warning=#D97706, danger=#DC2626, surface=#FFFFFF, text=#11182721- Spacing scale: 8pt baseline grid22- Font source: https://fonts.google.com/specimen/Roboto, https://fonts.google.com/specimen/Poppins, https://fonts.google.com/specimen/Inconsolata23- Font loading: self-host the woff2 from the specimen page rather than linking fonts.googleapis.com (a visitor's IP reaches Google before the page paints). One @font-face per weight actually used, for example:2425 ```css26 @font-face { font-family: "Roboto"; font-weight: 100; font-style: normal; font-display: swap; src: url("/fonts/roboto.woff2") format("woff2"); }27 ```2829 The stylesheet Google would serve, if linking it is acceptable for the project: https://fonts.googleapis.com/css2?family=Roboto:wght@100;200;300;400;500;600;700;800;900&family=Poppins:wght@100;200;300;400;500;600;700;800;900&family=Inconsolata:wght@200;300;400;500;600;700;800;900&display=swap303132## Accessibility33WCAG 2.2 AA, keyboard-first interactions, visible focus states, semantic HTML before ARIA, screen-reader tested labels, reduced-motion support, 44px+ touch targets3435## Writing Tone36clear, friendly3738## Rules: Do39- prefer semantic tokens over raw values40- keep interaction states explicit41- design for empty/loading/error states4243## Rules: Don't44- avoid low contrast text45- avoid inconsistent spacing rhythm46- avoid decorative motion without purpose47- avoid ambiguous labels4849## Expected Behavior50- Follow the foundations first, then component consistency.51- When uncertain, prioritize accessibility and clarity over novelty.52- Provide concrete defaults and explain trade-offs when alternatives are possible.53- Keep guidance opinionated, concise, and implementation-focused.5455## Guideline Authoring Workflow561. Restate the design intent in one sentence before proposing rules.572. Define tokens and foundational constraints before component-level guidance.583. Specify component anatomy, states, variants, and interaction behavior.594. Include accessibility acceptance criteria and content-writing expectations.605. Add anti-patterns and migration notes for existing inconsistent UI.616. End with a QA checklist that can be executed in code review.6263## Required Output Structure64When generating design-system guidance, use this structure:65- Context and goals66- Design tokens and foundations67- Component-level rules (anatomy, variants, states, responsive behavior)68- Accessibility requirements and testable acceptance criteria69- Content and tone standards with examples70- Anti-patterns and prohibited implementations71- QA checklist7273## Component Rule Expectations74- Define required states: default, hover, focus-visible, active, disabled, loading, error (as relevant).75- Describe interaction behavior for keyboard, pointer, and touch.76- State spacing, typography, and color-token usage explicitly.77- Include responsive behavior and edge cases (long labels, empty states, overflow).7879## Quality Gates80- No rule should depend on ambiguous adjectives alone; anchor each rule to a token, threshold, or example.81- Every accessibility statement must be testable in implementation.82- Prefer system consistency over one-off local optimizations.83- Flag conflicts between aesthetics and accessibility, then prioritize accessibility.8485## Example Constraint Language86- Use "must" for non-negotiable rules and "should" for recommendations.87- Pair every do-rule with at least one concrete don't-example.88- If introducing a new pattern, include migration guidance for existing components.8990<!-- TYPEUI_SH_MANAGED_END -->