UI Designer Skill (v2)
Use this skill when the user needs interface direction, design-system selection, theming, or visual/product UX structure before or during implementation.
MCP Tools (mcp__the-designer__*)
Core Design Flow
| Tool | When to Call |
|---|---|
evaluate_style |
FIRST STEP — Score styles against product context, returns ranked recommendations + workflow |
detect_genre |
Detect design genre (editorial / modern-minimal / atmospheric / playful) from brief |
pre_flight_scan |
Scan existing project for framework, fonts, palette, motion libs before designing |
list_options |
List all available systems, palettes, archetypes, hybrids |
validate_combo |
Check that a style+palette+hybrid is valid before generating |
generate_rules |
Generate design rules for a style+palette+archetype combo |
generate_tailwind_config |
Generate ready-to-use tailwind.config.js |
generate_template |
Generate full HTML starter page |
get_component |
Get production-ready component snippet (button, card, nav, hero, etc.) |
get_cross_cutting_rules |
Get standalone rules (accessibility, motion, icons, tokens, responsive) |
generate_palette_variants |
Generate light/dark/high-contrast variants from hex colors |
export_project |
Export full project scaffold |
Ellis UI Templates (Bespoke Systems)
| Tool | When to Call |
|---|---|
list_ellis_ui_designs |
List all 24 bespoke Ellis UI design templates (e.g., Swiss Archival, Vintage Airmail, Brutalist). |
get_ellis_ui_template |
Fetch the HTML structure and CSS rules for a specific Ellis UI design system. Use this as a structural foundation for highly thematic, anti-slop designs. |
Theme & Token System
| Tool | When to Call |
|---|---|
generate_tokens |
Generate complete OKLCH token system (tokens.css) with named theme or genre |
list_themes |
List all 16 curated themes with OKLCH values, fonts, axis metadata |
get_reference |
Pull full content of any reference doc |
brand_fetch_design_md |
Download DESIGN.md for a real brand |
brand_list |
List all 328+ brands by category |
Color & Palette
| Tool | When to Call |
|---|---|
palette_fetch |
Fetch live palettes from Color Hunt |
palette_convert |
Convert palette JSON to CSS / Tailwind / SCSS / Figma / Android / Swift |
Quality Gates (NEW in v2)
| Tool | When to Call |
|---|---|
anti_pattern_check |
Run 35-gate slop test on output — detects italic headers, fake chrome, fabricated metrics, etc. |
self_critique |
Score output on 6 quality axes (P-H-E-S-R-V) before shipping — anything < 3 triggers revision |
generate_8state_component |
Generate demo page with all 8 interactive states (hover, focus, active, disabled, loading, error, success) |
Utility
| Tool | When to Call |
|---|---|
list_installed_skills |
Detect installed skill submodules |
generate_motion_snippet |
Generate a ready-to-paste anime.js v3 snippet (CDN + code + usage hint) for any animation category (entrance, micro, stagger, scroll, loader, transition, counter, typewriter) matched to the current design style's easing/duration character. All snippets include prefers-reduced-motion guards. Call after generate_template or get_component whenever motion is needed. |
MANDATORY Workflow (v2)
PHASE 0: DISCOVERY
1. detect_genre({ brief }) ← classify genre from brief
2. pre_flight_scan({ project_path }) ← if existing project, scan context
3. evaluate_style({ description }) ← score style match
PHASE 1: WIREFRAME
4. list_themes({ genre }) ← pick from genre-scoped themes
5. generate_tokens({ genre, theme_name }) ← generate OKLCH token system
6. validate_combo({ style, palette }) ← confirm valid combo
7. generate_rules({ style, palette, archetype }) ← get design rules
PHASE 2: PROTOTYPE
8. generate_template({ style, palette, archetype }) ← starter HTML
9. get_component({ component, style }) ← individual components
10. generate_8state_component({ kind }) ← if interactive component needed
PHASE 3: QUALITY
11. anti_pattern_check({ content, genre }) ← run slop test on output
12. self_critique({ content }) ← score 6 quality axes
13. fix any gate failures (anti-pattern < 3, self-critique < 3)
14. export_project({ style, palette, archetype }) ← full scaffold when ready
NEVER skip Phase 0. The evaluation engine scores all 17 styles. Pre-flight scan prevents stomping on existing tokens. Genre detection scopes which themes and slop gates apply.
NEVER skip Phase 3.
anti_pattern_checkcatches AI-slop tells: italic headers, fake browser chrome, fabricated testimonials/metrics, emoji in UI, 3-col-grid default, specimen fall-through, missing focus-visible, no prefers-reduced-motion.self_critiquescores Philosophy, Hierarchy, Execution, Specificity, Restraint, Variety. Any < 3 = revision pass before shipping.
Anti-Slop Design Philosophy
These rules hold across every workflow:
Structural variety. Two pages for different briefs must not share the same hero → 3-feature → CTA → footer rhythm. Use different macrostructures, not different color swaps of the same template.
Locked tokens. Every color and font-family must reference a named CSS custom property (
var(--color-accent)). No inline OKLCH/hex values bypassing the token block.No fabricated content. If the user did not supply a metric, do not invent one. Stat-led layouts and proof bars must use real numbers or labeled placeholders. Same rule for testimonials, logos, and case-study counts.
No re-drawn chrome. No fake browser bars, phone frames, code-block title bars. Use real screenshots in a
<figure>or omit chrome entirely.Typography purity. Headings are always roman (
font-style: normal). Italic survives only as body-copy emphasis inside running paragraphs.Mobile-responsiveness hard floor. Every output must render at 320/375/414/768px. No horizontal scroll. No two-line clickable text. Section heads collapse to single column on mobile.
Component 8-state discipline. Every interactive component must style all 8 states: default, hover, focus-visible, active, disabled, loading, error, success.
No default purple gradient. Avoid the LLM-trained default of purple-blue gradients without brief justification.
Operating Rules
- MANDATORY: Core Design Principles
- UI: Structural, clear, and tidy; Clear and understandable; Consistent and coherent; Purposeful and relevant; Adaptable and responsive.
- UX: Intuitive and user-friendly; Easy to learn and use; Consistent around the UI; Accessible and inclusive; Efficient and effective.
- MANDATORY: Design Flow — Wireframe → Prototype → Test (Phase 0-3 above)
- MANDATORY: Good Design Criteria — Emphasis; Alignment/Balance; Contrast; Consistency/Repetition; White Space; Hierarchy; Unity/Cohesion.
- FORBIDDEN: Beginner Mistakes — Skipping flow; Excessive complexity/detail/color; No hierarchy/purpose; Poor usability/spacing; Aesthetic > Usability.
- CRITICAL: Icon Sources — NEVER use icons from unapproved sources. Only 6 allowed: Phosphor, Font Awesome, Google Material Symbols, Tabler, Lucide, Heroicons. See
references/icon-guide.md. - Choose systems from product context first, not visual mood first.
- Use a combination only when there is a clear reason and the roles are explicit.
- Prefer predictable, reusable patterns over novelty for operational/workflow-heavy products.
- Avoid generic AI aesthetics: no default purple/indigo gradients, no glossy filler, no emoji in functional UI.
- When cloning/matching a real brand, use
brand_fetch_design_md(MCP) ornpx getdesign@latest add <brand>(CLI). - All animations must respect
prefers-reduced-motion. Seereferences/motion-design.md.
Decision Flow
Classify the product.
- Enterprise/admin/CMS/dashboard:
ant,carbon, oratlassian - Windows/Microsoft:
fluent - Apple platform:
apple-hig - Android/adaptive:
material - Commerce:
polaris - Content/editorial/portfolio:
minimal,swiss,swiss-archival - Expressive/experimental:
neo-brutalism,glass,claymorphism,neo-m3
- Enterprise/admin/CMS/dashboard:
Detect genre.
editorial— default, canonical anti-slop voicemodern-minimal— Stripe/Linear school (SaaS, enterprise, B2B)atmospheric— dark AI-tool school (generative, music, video, late-night)playful— post-Linear soft school (consumer, casual, community)
Run pre-flight scan on existing project to detect framework, font stack, palette, motion stance.
Choose theme from catalog via
list_themes({ genre })→generate_tokens({ theme_name })for OKLCH tokens.Check complexity. Form-heavy, multi-role, operational →
ant,carbon,atlassian. Data density > brand →antorcarbon. Brand expression central → expressive systems.Decide single vs hybrid. Single: one system handles behavior + visual tone. Hybrid: define explicit ownership. No arbitrary mashups.
Build with quality gates. Generate → anti-pattern check → self-critique → fix → ship.
Workflow
Standard (system-first)
- Identify product type, platform, UX density
- Run
detect_genre+pre_flight_scan+evaluate_style - Choose theme via
list_themes+generate_tokens - Score candidates via
QUICK_REFERENCE.md - Choose system or hybrid
- Call
generate_rulesfor design rules - Call
generate_templatefor starter HTML - Call
get_componentfor individual components - Call
anti_pattern_checkon output + fix failures - Call
self_critique— revision if any < 3 - Validate accessibility from
references/accessibility.md
Brand Reference (DESIGN.md-first)
When user wants to match a real brand's look:
- Call
brand_fetch_design_md({ brand })(MCP) OR runnpx getdesign@latest add <brand>(CLI) - Parse DESIGN.md front matter — extract colors, typography, rounded, spacing, components
- Map brand aesthetic to closest structural system (see table in
references/getdesign-md.md) - Generate tokens via
generate_tokens— override with brand values - Call
generate_rules+generate_template+ components - Run quality gates (
anti_pattern_check+self_critique) - Validate accessibility from
references/accessibility.md
Reference Files
Core References
QUICK_REFERENCE.md— System scoring map and fast routingreferences/icon-guide.md— 6 approved icon sources with CDN, packages, usagereferences/component-patterns.md— Forms, tables, nav, modals, buttons, cardsreferences/design-tokens.md— Color, spacing, typography, radius, shadows, z-indexreferences/responsive-layout.md— Grid, breakpoints, mobile patterns, safe areasreferences/accessibility.md— WCAG AA, focus, ARIA, keyboard nav, semantic HTMLreferences/motion-design.md— Durations, easing, animations, reduced motionreferences/tailwind-integration.md— Tailwind config, component classes, dark modereferences/getdesign-md.md— DESIGN.md brand reference system (328+ brands)
Genre References
references/genre-editorial.md— Editorial genre (default, content-driven)references/genre-modern-minimal.md— Modern-minimal genre (SaaS, enterprise, B2B)references/genre-atmospheric.md— Atmospheric genre (dark, AI-tool, immersive)references/genre-playful.md— Playful genre (consumer, casual, community)
System References
references/ant-design.mdreferences/carbon-design.mdreferences/fluent-design.mdreferences/atlassian-design.mdreferences/apple-hig.mdreferences/material-you.mdreferences/shopify-polaris.mdreferences/minimalism.mdreferences/swiss-design.mdreferences/swiss-archival.mdreferences/neo-brutalism.mdreferences/glassmorphism.mdreferences/claymorphism.mdreferences/skeuomorphism.mdreferences/neo-m3-hybrid.mdreferences/m3-pastel-glass.md
Page Archetypes
assets/archetypes/dashboard.mdassets/archetypes/settings.mdassets/archetypes/table-detail.mdassets/archetypes/marketing-hero.mdassets/archetypes/editorial-landing.md
Palettes
assets/palettes/swiss-archival/— Swiss-Archival palette sourceassets/palettes/m3-pastel/— M3 Pastel candidate swatchesassets/palettes.json— All palettes index