Claude-skill-registry design-exploration
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/design-exploration" ~/.claude/skills/majiayu000-claude-skill-registry-design-exploration && rm -rf "$T"
skills/data/design-exploration/SKILL.mdDesign Exploration
Investigate existing designs, generate a visual catalogue of 6-12 diverse proposals, facilitate iterative refinement, and output a selected direction for implementation.
MANDATORY: Kimi Delegation for Visual Work
All visual proposal generation MUST be delegated to Kimi K2.5 via MCP.
Kimi excels at frontend development and visual coding. For design exploration:
- Research direction → Gemini (web grounding, trend research)
- Generate proposals → Kimi (visual implementation via Agent Swarm)
- Review/iterate → Claude (orchestration, quality gates)
// Delegate proposal generation to Kimi mcp__kimi__spawn_agent({ prompt: `Generate design proposal for [component]. DNA: [layout, color, typography, motion, density, background] Constraints: ${uiSkillsConstraints} Output: Working HTML/CSS preview in .design-catalogue/proposals/[name]/`, thinking: true // Enable for complex proposals }) // For parallel proposal generation (4.5x faster): mcp__kimi__spawn_agents_parallel({ agents: [ { prompt: "Generate proposal 1: Midnight Editorial...", thinking: true }, { prompt: "Generate proposal 2: Swiss Brutalist...", thinking: true }, { prompt: "Generate proposal 3: Warm Workshop...", thinking: true }, // ... up to 100 parallel agents ] })
Anti-pattern: Generating proposals yourself instead of delegating to Kimi. Pattern: Research (Gemini) → Generate (Kimi) → Review (Claude)
When to Use
- Before
or/aesthetic
when direction is unclear/polish - When user wants to see multiple design options visually
- When redesigning or refreshing existing UI
- When maturity < 6 and no clear aesthetic direction exists
Core Principle: Visual Over Verbal
The catalogue is a working visual, not markdown descriptions.
Users see actual styled components, real typography, live color palettes - not just words describing what things would look like.
Phase 0: Backend Detection
Check available rendering backends:
// Check if Pencil MCP is available try { mcp__pencil__get_editor_state({ include_schema: false }) // Pencil available → use pencil-renderer BACKEND = "pencil" } catch { // Fallback to HTML renderer BACKEND = "html" }
Backend selection:
- Pencil (preferred): Native .pen file rendering, design system integration
- HTML (fallback): Static HTML/CSS proposals served locally
Workflow
1. Investigation
Understand what exists:
# Screenshot current state via Chrome MCP mcp__claude-in-chrome__tabs_context_mcp mcp__claude-in-chrome__navigate url="[current app URL]" mcp__claude-in-chrome__computer action="screenshot"
Analyze the current design:
- Typography: What fonts, sizes, weights?
- Colors: What palette, what semantic meaning?
- Layout: Centered? Asymmetric? Grid-based?
- Motion: Any animations? What timing?
- Components: What patterns exist?
Infer current DNA:
DNA Axes: - Layout: [centered|asymmetric|grid-breaking|full-bleed|bento|editorial] - Color: [dark|light|monochrome|gradient|high-contrast|brand-tinted] - Typography: [display-heavy|text-forward|minimal|expressive|editorial] - Motion: [orchestrated|subtle|aggressive|none|scroll-triggered] - Density: [spacious|compact|mixed|full-bleed] - Background: [solid|gradient|textured|patterned|layered]
Identify:
- Strengths to preserve
- Weaknesses/opportunities
- Constraints (brand colors, accessibility, tech stack)
Research via Gemini:
gemini -p "I'm building [describe component/page]. Research: 1. Distinctive design approaches (avoid AI-slop aesthetics) 2. Real-world examples of excellent [component type] 3. Current typography/color/layout trends for this context 4. Unexpected alternatives to obvious solutions"
2. Build Visual Catalogue
Generate 6-12 proposals using DNA variation system.
If BACKEND = "pencil":
Use
pencil-renderer primitive:
// For each proposal // 1. Get style guide matching DNA mood mcp__pencil__get_style_guide_tags() mcp__pencil__get_style_guide({ tags: [mapped_tags] }) // 2. Render via pencil-renderer workflow // See: pencil-renderer/SKILL.md
All proposals render to a single .pen document as separate frames.
If BACKEND = "html":
Create catalogue directory:
.design-catalogue/ ├── index.html # Main viewer ├── styles/catalogue.css # Viewer chrome styles ├── proposals/ │ ├── 01-[name]/ │ │ ├── preview.html │ │ └── styles.css │ ├── 02-[name]/ │ │ └── ... │ └── ... (6-12 total) └── assets/
DNA Variation Rule: No two proposals share >2 axes.
Required diversity:
- At least 2 bold/dramatic directions
- At least 2 refined/subtle directions
- At least 1 unexpected/wild card
- At least 1 that preserves current strengths
Each proposal preview includes:
- Hero section in that style
- Sample card component
- Button states (default, hover, active)
- Typography scale (h1-h6, body, caption)
- Color palette swatches with hex codes
- DNA code badge
Reference templates:
- Main catalogue viewerreferences/viewer-template.html
- Individual proposal pagereferences/proposal-template.html
- Metadata structurereferences/catalogue-template.md
Anti-convergence check: Reference
aesthetic-system/references/banned-patterns.md
- No Inter, Space Grotesk, Roboto as primary fonts
- No purple gradients on white
- No centered-only layouts for all proposals
3. Present & Serve
If BACKEND = "pencil":
// Screenshot each proposal frame for (const frame of proposalFrames) { mcp__pencil__get_screenshot({ nodeId: frame.id }) }
Present in chat with screenshots.
If BACKEND = "html":
cd .design-catalogue && python -m http.server 8888 & echo "Catalogue available at http://localhost:8888"
Open in Chrome MCP:
mcp__claude-in-chrome__navigate url="http://localhost:8888" mcp__claude-in-chrome__computer action="screenshot"
Present to user:
Design Catalogue Ready I've built [N] visual proposals exploring different directions for [project]. Quick overview: 1. Midnight Editorial - [soul statement] 2. Swiss Brutalist - [soul statement] 3. Warm Workshop - [soul statement] ... [If Pencil] View the .pen file directly in your editor [If HTML] Browse the catalogue: http://localhost:8888 Tell me which 2-3 resonate.
4. Collaborative Refinement
First selection:
AskUserQuestion: "Which 2-3 directions interest you most?" Options: [Proposal names with brief descriptions]
Refinement dialogue:
- "What specifically appeals about [selection]?"
- "Anything you'd change or combine?"
- "Should I generate hybrid proposals?"
If refinement requested:
- Generate 2-3 new proposals based on feedback
- Add to catalogue as new entries
- Update viewer to highlight refined options
5. Direction Selection
Present finalists with expanded detail:
- Full color palette (all semantic tokens)
- Complete typography scale with specimens
- Component transformation examples (before → after)
- Implementation priority list
Final selection:
AskUserQuestion: "Which direction should we implement?" Options: [Finalist names] + "Make more changes first"
5.5. Expert Panel Review (MANDATORY)
Before presenting any design to user, run expert panel review.
See:
ui-skills/references/expert-panel-review.md
- Simulate 10 world-class advertorial experts (Ogilvy, Rams, Scher, Wiebe, Laja, Walter, Cialdini, Ive, Wroblewski, Millman)
- Each expert scores 0-100 and provides specific improvement feedback
- Calculate average score
- If average < 90: Implement highest-impact feedback, iterate, re-review
- If average ≥ 90: Proceed to handoff
Expert Panel Review: [Design Name] | Expert | Score | Critical Improvement | |--------|-------|---------------------| | Ogilvy | 88 | Headline needs stronger benefit | | Rams | 92 | Clean execution | | ... **Average: 89.2** ❌ → Iterating...
Do not return design until 90+ average achieved.
6. Output & Handoff
Return selected direction:
## Selected Direction: [Name] **DNA:** [layout, color, typography, motion, density, background] **Typography:** - Headings: [Font family, weights] - Body: [Font family, weights] - Code/Mono: [Font family] **Color Palette:** - Background: [hex] - Foreground: [hex] - Primary: [hex] - Secondary: [hex] - Accent: [hex] - Muted: [hex] **Implementation Priorities:** 1. [First change - highest impact] 2. [Second change] 3. [Third change] **Preserve:** - [What to keep from current design] **Transform:** - [What changes dramatically] **Anti-patterns to avoid:** - [Specific things NOT to do]
Handoff routing:
| Backend | Handoff Target |
|---|---|
| Pencil | — exports .pen → React/Tailwind |
| HTML | — implements tokens in codebase |
AskUserQuestion: "Ready to generate implementation code?" Options: - "Yes, generate React components" → invoke handoff - "No, I'll implement manually" → return spec only
Cleanup (HTML backend only):
# Stop local server pkill -f "python -m http.server 8888" # Optionally remove catalogue # rm -rf .design-catalogue
Quick Reference
| Phase | Action |
|---|---|
| Backend Detection | Check Pencil MCP availability |
| Investigation | Screenshot, analyze, infer DNA, research via Gemini |
| Catalogue | Build 6-12 visual proposals with DNA variety |
| Present | Serve/screenshot, describe options |
| Refine | User picks favorites, generate hybrids if needed |
| Select | Final choice with full spec |
| Handoff | Route to pencil-to-code or design-theme |
Integration
Invoked by:
command (directly)/design
at Phase 0 (recommended)/aesthetic
when maturity < 6 (suggested)/polish
Outputs to:
— when Pencil backend, user wants codepencil-to-code
— when HTML backend, user wants implementationdesign-theme
— guides all subsequent phases/aesthetic
— constrains DNA for refinement loop/polish
Related Skills
— Pencil MCP rendering primitivepencil-renderer
— .pen → React/Tailwind exportpencil-to-code
— DNA codes, anti-convergence rulesaesthetic-system
— Token system patternsdesign-tokens
— Theme implementationdesign-theme
References
- Catalogue viewer HTMLreferences/viewer-template.html
- Individual proposal HTMLreferences/proposal-template.html
- Metadata structurereferences/catalogue-template.md
- DNA axis definitionsaesthetic-system/references/dna-codes.md
- Anti-convergence rulesaesthetic-system/references/banned-patterns.md