[AI辅助] Generates 3 distinct, high-quality UI design variations from a prompt using a comprehensive design system with options to vary, remix, polish, critique, and...
The skill's requests and instructions align with its stated purpose (generating UI design variations); it is instruction-only, asks no credentials, and has no install steps — but it does instruct the agent to scan a user's codebase for brand/context, so be mindful of what project files you allow it to read.
评估建议
This skill appears to be what it claims: a design-variation generator using included references. Two practical cautions before installing/using it:
1) Codebase scanning: the skill explicitly says it will scan your project for colors, fonts, components, and README/brand docs if you don't provide context. Only allow this when you want the agent to access those files (e.g., in a project workspace). If you have sensitive code or secrets in the repository, do not allow an untrusted agent to scan it....
详细分析 ▾
✓用途与能力
Name/description (generate UI design variations) match the provided assets and runtime instructions: design references, palettes, and actions are all design-related. No unrelated binaries, env vars, or external services are requested.
ℹ指令范围
SKILL.md instructs the agent to gather project context and, if the user can't answer, to infer from the user's codebase (scan for color variables, font imports, component patterns, README/brand docs). Scanning a codebase is coherent with generating brand-consistent designs, but it means the agent will read project files — confirm consent and scope before allowing scans.
✓安装机制
No install spec and no code files executed at runtime (instruction-only). This minimizes disk writes and arbitrary-code install risk.
✓凭证需求
The skill requires no environment variables, credentials, or config paths. All declared needs (design references, palettes) are local files included in the skill bundle — proportional to the stated function.
✓持久化与权限
Flags show always:false and no special persistence. The skill will not be force-enabled and does not request system-wide configuration or other skills' credentials.
- Initial release introducing AI-driven visual/UI design generation based on the Impeccable design system.
- Generates 3 distinct design variations for each prompt, each referencing robust design system materials covering typography, color, layout, motion, interaction, and more.
- Supports a wide range of variation actions including strong/subtle changes, distillation, style shifts, color remixes, layout shuffling, polishing, critique, token extraction, and alternate views.
- Includes project context initialization to ground designs in user-specific needs and inferred codebase patterns.
- Scenario and design challenge detection automatically loads tailored domain and design system references for each UI prompt.
- Built-in anti-AI-slop quality gate ensures all generated interfaces meet a high standard and avoid common generative UI pitfalls.
Inspired by the Variant design community — a space where designers share divergent takes on the same brief. This skill brings that practice into Claude Code: every prompt yields three designs that feel like they came from different studios, then lets you iterate with one-word actions.
Built on the Impeccable design system — a comprehensive set of design references covering typography, color theory, spatial design, motion, interaction patterns, responsive design, and UX writing. Every design decision is grounded in these principles.
Supports: HTML (默认) · React · 7 domain reference libraries · 27 palettes · design system references · variation actions
Project Context Initialization
On first use in a project, gather design context to ground all future generations. Ask the user:
If the user can't answer, infer from their codebase: scan for existing color variables, font imports, component patterns, and README/brand docs. Confirm inferences before proceeding.
Persist context as a comment block at the top of generated files or in the conversation — reference it in every subsequent generation to ensure consistency across variations.
Scenario Detection → 加载 Reference
Identify the scenario and load the corresponding reference file before designing:
User asks about...
Also matches
Load
Dashboard, analytics, metrics, monitoring, data viz
Generative art, music tool, 3D, creative tool, synthesizer
tool, studio, editor, canvas, sequencer, DAW
references/creative.md
Mobile app, iOS, Android, onboarding, home screen
app, 应用, 界面, UI screen
references/mobile.md
Unsure / general
Use aesthetic directions table below + references/palettes.md
Always 也 加载 relevant design system references 从 references/design-system/ based 在...上 什么 matters 最多 对于 design:
Design challenge
Load
Font selection, type scale, hierarchy
references/design-system/typography.md
Color palette, dark mode, contrast
references/design-system/color-and-contrast.md
Layout, spacing, grids, visual hierarchy
references/design-system/spatial-design.md
Animations, transitions, loading states
references/design-system/motion-design.md
Forms, states, focus, keyboard nav
references/design-system/interaction-design.md
Mobile-first, breakpoints, fluid design
references/design-system/responsive-design.md
Labels, errors, empty states, microcopy
references/design-system/ux-writing.md
For initial generation, load at minimum: typography, color-and-contrast, and spatial-design. Load others as the design demands.
Core Workflow
1. 解析 → Detect → 加载
Identify scenario, load domain reference file + relevant design system references, pick 3 starter prompts and palettes. Study the Real Community Examples for composition patterns and what makes each design work — extract the principle, not the surface style.
2. Generate 3 Distinct Variations
Each variation = a different studio's interpretation. Never two in the same direction.
Universal aesthetic directions:
Direction
Feel
Signature
Minimal / Editorial
Type-driven, generous space
One strong font, minimal color
Bold / Expressive
High contrast, graphic
Dominant color block
Dark / Premium
Moody, atmospheric
Deep bg, elevated surfaces (not shadows)
Warm / Human
Rounded, approachable
Soft palette, organic forms
Data / Technical
Dense, systematic
Grid, monospace, tight
Neo-brutalist
Raw, unconventional
Bold outlines, broken grid
Luxury / Silence
Maximum negative space
One image, sparse text
对于 每个 variation, define 之前 coding:
Starter prompt (从 reference 或 custom)
Color palette (从 reference 或 palettes.md) — 使用 OKLCH 对于 perceptually uniform colors 在哪里 possible
Typography: display font + body font (see banned fonts 列表 下面)
One signature detail makes variation unforgettable
3. Implement
Working code — HTML (default) or React. Real content, no lorem ipsum. Visually complete.
Label: Variation A — [Name] / B — [Name] / C — [Name]
4. AI Slop Test (Quality Gate)
Before presenting, run this check on each variation:
If you showed this interface to someone and said "AI made this," would they believe you immediately? If yes, redesign.
A distinctive interface should make someone ask "how was this made?" not "which AI made this?" Review the Anti-Patterns table below — they are the fingerprints of AI-generated work.
5. Offer Variation Actions
After presenting, always offer:
Which direction resonates? Options: - Vary strong — push aesthetic to its extreme - Vary subtle — polish, same direction - Distill — strip to essence, remove everything non-essential - Change style — keep layout, swap visual language - Remix colors — 3 alternative palettes using OKLCH - Shuffle layout — same content/style, different composition - Polish — refine spacing, typography, and micro-details - Critique — audit against design system principles - Extract tokens — export design tokens as CSS/JSON/Tailwind config - See other views — mobile / dark mode / empty state / onboarding / hover states
Variation Action Definitions
Vary strong
Amplify current direction to maximum. More contrast, stronger type, bolder color, more dramatic composition. Consult references/design-system/typography.md for scale ratios and references/design-system/color-and-contrast.md for high-contrast palette construction.
之前 → 之后 示例:
Body text 16px, heading 32px → Body 15px, heading 72px (ratio 1.25 → 1.5+)
Accent used 在...上 buttons 仅 → Accent dominates hero section, bleeds 进入 nav
Tighten spacing, refine hierarchy, soften where needed. Same direction, higher craft. Focus on vertical rhythm, optical alignment, and micro-interactions per references/design-system/spatial-design.md and references/design-system/motion-design.md.
UX Writing (references/design-system/ux-writing.md): specific 按钮 labels (verb + 对象), 错误 formula (什么 → 为什么 → fix), 空 states teach 接口, 链接 text 带有 standalone meaning
Clarify 复制: Scan 所有 visible text — 替换 vague labels 带有 specific ones, 移除 redundant intros, ensure every word earns place. "Submit" → "创建 账户". "错误" → "Email needs 到 在...中 name@示例.com 格式."
Critique
Systematic audit against design system principles. Score each dimension and provide specific fixes:
1. Acknowledge briefly ("No projects yet")
2. Explain the value of filling it ("Create your first project to start tracking progress")
3. Provide a clear primary action (prominent CTA button)
4. Add visual interest (illustration, icon, or subtle pattern — never a sad face)
5. If applicable, show a preview of what it will look like when populated
Data-filled state — realistic volume: 3–7 items 对于 lists, 6–12 months 的 data 对于 charts, edge cases included (one very long name, one 空 可选 字段)
Mobile viewport — 不 shrunk desktop. Per references/design-system/responsive-design.md:
- Rethink 对于 thumb zones (primary actions bottom-right 对于 right-handed)
- Touch targets ≥44px 带有 padding
- 导航 collapses 到 hamburger + drawer 或 bottom 标签页 bar
- Tables transform 到 cards 带有 data-label attributes
- 使用 @media (pointer: coarse) 对于 larger tap areas
Dark ↔ Light 切换 — per references/design-system/color-和-contrast.md:
- Dark mode uses lighter surfaces 对于 depth (否 shadows)
- Desaturate accent colors slightly 对于 dark backgrounds
- 归约 font weight (light text 在...上 dark appears heavier)
- Never pure black (#000) background — 使用 oklch(12-18% ...) tinted
Onboarding flow — per Impeccable onboard principles:
Inspired by the Variant design community — a space where designers share divergent takes on the same brief. This skill brings that practice into Claude Code: every prompt yields three designs that feel like they came from different studios, then lets you iterate with one-word actions.
Built on the Impeccable design system — a comprehensive set of design references covering typography, color theory, spatial design, motion, interaction patterns, responsive design, and UX writing. Every design decision is grounded in these principles.
Supports: HTML (default) · React · 7 domain reference libraries · 27 palettes · design system references · variation actions
Project Context Initialization
On first use in a project, gather design context to ground all future generations. Ask the user:
Users & Purpose — Who uses this? What problem does it solve? What's the core task?
Brand & Personality — Existing brand colors? Tone (playful / serious / technical / warm)? Any sites you admire?
Aesthetic Preferences — Light or dark? Minimal or dense? Any direction from the aesthetic table you're drawn to?
If the user can't answer, infer from their codebase: scan for existing color variables, font imports, component patterns, and README/brand docs. Confirm inferences before proceeding.
Persist context as a comment block at the top of generated files or in the conversation — reference it in every subsequent generation to ensure consistency across variations.
Scenario Detection → Load Reference
Identify the scenario and load the corresponding reference file before designing:
User asks about...
Also matches
Load
Dashboard, analytics, metrics, monitoring, data viz
Generative art, music tool, 3D, creative tool, synthesizer
tool, studio, editor, canvas, sequencer, DAW
references/creative.md
Mobile app, iOS, Android, onboarding, home screen
app, 应用, 界面, UI screen
references/mobile.md
Unsure / general
Use aesthetic directions table below + references/palettes.md
Always also load the relevant design system references from references/design-system/ based on what matters most for the design:
Design challenge
Load
Font selection, type scale, hierarchy
references/design-system/typography.md
Color palette, dark mode, contrast
references/design-system/color-and-contrast.md
Layout, spacing, grids, visual hierarchy
references/design-system/spatial-design.md
Animations, transitions, loading states
references/design-system/motion-design.md
Forms, states, focus, keyboard nav
references/design-system/interaction-design.md
Mobile-first, breakpoints, fluid design
references/design-system/responsive-design.md
Labels, errors, empty states, microcopy
references/design-system/ux-writing.md
For initial generation, load at minimum: typography, color-and-contrast, and spatial-design. Load others as the design demands.
Core Workflow
1. Parse → Detect → Load
Identify scenario, load domain reference file + relevant design system references, pick 3 starter prompts and palettes. Study the Real Community Examples for composition patterns and what makes each design work — extract the principle, not the surface style.
2. Generate 3 Distinct Variations
Each variation = a different studio's interpretation. Never two in the same direction.
Universal aesthetic directions:
Direction
Feel
Signature
Minimal / Editorial
Type-driven, generous space
One strong font, minimal color
Bold / Expressive
High contrast, graphic
Dominant color block
Dark / Premium
Moody, atmospheric
Deep bg, elevated surfaces (not shadows)
Warm / Human
Rounded, approachable
Soft palette, organic forms
Data / Technical
Dense, systematic
Grid, monospace, tight
Neo-brutalist
Raw, unconventional
Bold outlines, broken grid
Luxury / Silence
Maximum negative space
One image, sparse text
For each variation, define before coding:
Starter prompt (from reference or custom)
Color palette (from reference or palettes.md) — use OKLCH for perceptually uniform colors where possible
Typography: display font + body font (see banned fonts list below)
Layout pattern (from reference) — consult spatial-design.md for grid and hierarchy principles
Motion strategy — consult motion-design.md for timing and easing
One signature detail that makes this variation unforgettable
3. Implement
Working code — HTML (default) or React. Real content, no lorem ipsum. Visually complete.
Label: Variation A — [Name] / B — [Name] / C — [Name]
4. AI Slop Test (Quality Gate)
Before presenting, run this check on each variation:
If you showed this interface to someone and said "AI made this," would they believe you immediately? If yes, redesign.
A distinctive interface should make someone ask "how was this made?" not "which AI made this?" Review the Anti-Patterns table below — they are the fingerprints of AI-generated work.
5. Offer Variation Actions
After presenting, always offer:
Which direction resonates? Options: - Vary strong — push aesthetic to its extreme - Vary subtle — polish, same direction - Distill — strip to essence, remove everything non-essential - Change style — keep layout, swap visual language - Remix colors — 3 alternative palettes using OKLCH - Shuffle layout — same content/style, different composition - Polish — refine spacing, typography, and micro-details - Critique — audit against design system principles - Extract tokens — export design tokens as CSS/JSON/Tailwind config - See other views — mobile / dark mode / empty state / onboarding / hover states
Variation Action Definitions
Vary strong
Amplify current direction to maximum. More contrast, stronger type, bolder color, more dramatic composition. Consult references/design-system/typography.md for scale ratios and references/design-system/color-and-contrast.md for high-contrast palette construction.
Before → After example:
Body text 16px, heading 32px → Body 15px, heading 72px (ratio 1.25 → 1.5+)
Accent used on buttons only → Accent dominates hero section, bleeds into nav
Tighten spacing, refine hierarchy, soften where needed. Same direction, higher craft. Focus on vertical rhythm, optical alignment, and micro-interactions per references/design-system/spatial-design.md and references/design-system/motion-design.md.
Before → After example:
Inconsistent padding (16/20/24px) → Locked to 4pt grid (16/24/32px)
Apply Impeccable design system refinements systematically:
Typography (references/design-system/typography.md): vertical rhythm, modular scale, OpenType features (tabular-nums for data, proper fractions), font-display: swap, size-adjust fallback metrics
Spatial (references/design-system/spatial-design.md): squint test, hierarchy through multiple dimensions, optical alignment (text negative margin -0.05em, icon center offsets)
Interaction (references/design-system/interaction-design.md): all 8 interactive states (default/hover/focus/active/disabled/loading/error/success), focus-visible rings, proper form design (visible labels, blur validation, aria-describedby errors)
Motion (references/design-system/motion-design.md): 100/300/500 rule, ease-out-expo for enters, exit at 75% of enter duration, staggered animations with CSS custom properties
UX Writing (references/design-system/ux-writing.md): specific button labels (verb + object), error formula (what → why → fix), empty states that teach the interface, link text with standalone meaning
Clarify copy: Scan all visible text — replace vague labels with specific ones, remove redundant intros, ensure every word earns its place. "Submit" → "Create account". "Error" → "Email needs to be in name@example.com format."
Critique
Systematic audit against design system principles. Score each dimension and provide specific fixes:
Typography: Is hierarchy clear? Scale ratio consistent? Fonts distinctive? Vertical rhythm locked?
Color: WCAG contrast passing? Neutrals tinted? 60-30-10 balance? No pure black/white?
JSON (for design tools / Figma): Same structure as flat key-value JSON.
Tailwind config: Extend theme with colors, fontFamily, spacing, transitionTimingFunction.
See other views
Render additional views with full design system compliance:
Empty state — not just "No items." Design as an onboarding moment:
1. Acknowledge briefly ("No projects yet")
2. Explain the value of filling it ("Create your first project to start tracking progress")
3. Provide a clear primary action (prominent CTA button)
4. Add visual interest (illustration, icon, or subtle pattern — never a sad face)
5. If applicable, show a preview of what it will look like when populated
Data-filled state — realistic volume: 3–7 items for lists, 6–12 months of data for charts, edge cases included (one very long name, one empty optional field)
Mobile viewport — not a shrunk desktop. Per references/design-system/responsive-design.md:
- Rethink for thumb zones (primary actions bottom-right for right-handed)
- Touch targets ≥44px with padding
- Navigation collapses to hamburger + drawer or bottom tab bar
- Tables transform to cards with data-label attributes
- Use @media (pointer: coarse) for larger tap areas
Dark ↔ Light toggle — per references/design-system/color-and-contrast.md:
- Dark mode uses lighter surfaces for depth (no shadows)
- Desaturate accent colors slightly for dark backgrounds
- Reduce font weight (light text on dark appears heavier)
- Never pure black (#000) background — use oklch(12-18% ...) tinted
Onboarding flow — per Impeccable onboard principles:
- Show Don't Tell: inline demos > text instructions
- Make It Optional: skip button always visible, no forced tours
- Time to Value: reach the "aha moment" in ≤3 steps
- Context Over Ceremony: teach at the moment of need, not upfront
- Respect User Intelligence: no condescending language, allow power-user shortcuts
Hover / active / focus states — all interactive elements with visible state changes
Variation Loop
After any variation action, always:
Present the updated design (labelled with the action taken, e.g. "Variation A — Distill")
Offer the full action menu again — the loop never ends until the user moves on
If the user has iterated 3+ times on the same direction, proactively suggest: "Want to branch? I can apply this to one of the other variations."
Design Principles
Grounded in the Impeccable design system. Consult individual references for deep implementation guidance.
Content & Intent
Real content wins. Plausible headlines, real data values, actual copy. Makes designs feel alive.
Commit fully. Half-executed aesthetics look worse than simple ones. Bold maximalism and refined minimalism both work — the key is intentionality, not intensity.
Never converge. If A is dark, B cannot also be dark. Each must feel like a different studio.
Match type to domain. Don't default to generic app UI — load the right reference.
React: Functional components, Tailwind or CSS modules — state assumptions upfront.
HTML Output Spec
CSS custom properties for all colors — use OKLCH where supported with hex fallback: --accent: oklch(65% 0.2 250); / fallback: #6366F1 */
Semantic token layer: --color-primary, --color-surface, --color-text mapping to primitives
Google Fonts via @import in — always specify weights used, include font-display: swap
Responsive: mobile-first, breakpoints at 640px and 1024px. Use clamp() for fluid values
No frameworks by default — vanilla CSS + HTML. CDN Tailwind only if user asks
Hover states + focus-visible rings on all interactive elements
@media (prefers-reduced-motion: reduce) block for all animations
Minimum visual completeness: populated data, real copy, working nav state
React Output Spec
Functional components only — no class components
Declare color tokens as const theme = { ... } with OKLCH values and hex fallbacks
Google Fonts: add a in the returned JSX or instruct user to add to index.html
Prefer inline styles for one-off values; extract repeated patterns to a styles object
State assumptions upfront in a comment block: which components are stateful, what props to pass
If Tailwind: use @apply for repeated patterns; if CSS modules: one .module.css per component
No useEffect for layout — CSS-only animations and transitions preferred
Prop defaults must be realistic content (no undefined, no "Lorem ipsum")
Multi-Screen / Flow Support
When a user asks for a flow (onboarding, checkout, wizard, multi-step form):
Render all screens side-by-side horizontally, each in a 390px frame with label above
Use a shared currentStep state variable to show/hide screens if making it interactive
Annotate transitions: "→ swipe left to advance" or "→ tab triggers step 2"
Each screen must be visually complete — never leave a screen empty as placeholder
Apply onboarding principles: show don't tell, make skip visible, reach "aha" in ≤3 steps
Performance Baseline
Every output must meet these minimums:
Images:loading="lazy" on below-fold images, width/height attributes to prevent CLS, srcset for responsive images, WebP/AVIF format preference
Fonts:font-display: swap, subset to used character ranges when possible, preconnect to Google Fonts origin:
CSS: No @import for CSS files (blocks render) — only for Google Fonts in . Use content-visibility: auto for off-screen sections
Animation: Only transform and opacity (GPU-composited). No will-change unless animation is imminent. Use Intersection Observer for scroll-triggered animations — never scroll event listeners
Layout: No layout thrashing (read then write, never interleave). Avoid forced synchronous reflows
Production Hardening Checklist
Apply when the design will be used in real products:
Text resilience:
All text containers handle overflow: overflow: hidden; text-overflow: ellipsis for single-line, -webkit-line-clamp for multi-line
Test with 2× expected content length — does the layout survive?
Test with 0 content — does the empty state make sense?
Headings: overflow-wrap: break-word to prevent horizontal scroll on mobile
i18n readiness:
No fixed-width containers for text — allow 30% expansion for German/French
Use logical properties: margin-inline-start not margin-left (RTL support)
Numbers: use Intl.NumberFormat for locale-aware formatting
Dates: use Intl.DateTimeFormat — never hardcode date formats
Error & edge states:
Network failure: show last-known data with "Unable to update" banner, not a blank screen
Slow connection: skeleton screens appear within 200ms if data isn't ready
Invalid data: graceful degradation (show "--" for missing numbers, not NaN/undefined)
Input robustness:
Debounce search/filter inputs (300ms)
Prevent double-submit on forms (disable button after first click, re-enable on error)
Paste handling: strip formatting on paste into plain-text inputs
Anti-Patterns (AI Slop Fingerprints)
Avoid these in every output — they are the telltale signs of AI-generated design:
Anti-pattern
Instead
Two variations in the same aesthetic direction
Ensure A/B/C feel like different studios — re-check the direction table