Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add phrazzld/claude-config --skill "design-exploration"
Install specific skill from multi-skill repository
# Description
|
# SKILL.md
name: design-exploration
description: |
Generate visual design proposal catalogues for existing projects. Use when:
- User wants to explore design directions before implementation
- Redesigning or refreshing an existing interface
- Starting /aesthetic or /polish without clear direction
- User says "explore designs", "show me options", "design directions"
Keywords: design catalogue, proposals, visual exploration, aesthetic directions, DNA
Design Exploration
Investigate existing designs, generate a visual catalogue of 6-12 diverse proposals, facilitate iterative refinement, and output a selected direction for implementation.
When to Use
- Before
/aestheticor/polishwhen direction is unclear - 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:
- references/viewer-template.html - Main catalogue viewer
- references/proposal-template.html - Individual proposal page
- references/catalogue-template.md - Metadata structure
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"
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 | pencil-to-code β exports .pen β React/Tailwind |
| HTML | design-theme β 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:
- /design command (directly)
- /aesthetic at Phase 0 (recommended)
- /polish when maturity < 6 (suggested)
Outputs to:
- pencil-to-code β when Pencil backend, user wants code
- design-theme β when HTML backend, user wants implementation
- /aesthetic β guides all subsequent phases
- /polish β constrains DNA for refinement loop
Related Skills
pencil-rendererβ Pencil MCP rendering primitivepencil-to-codeβ .pen β React/Tailwind exportaesthetic-systemβ DNA codes, anti-convergence rulesdesign-tokensβ Token system patternsdesign-themeβ Theme implementation
References
references/viewer-template.html- Catalogue viewer HTMLreferences/proposal-template.html- Individual proposal HTMLreferences/catalogue-template.md- Metadata structureaesthetic-system/references/dna-codes.md- DNA axis definitionsaesthetic-system/references/banned-patterns.md- Anti-convergence rules
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.