Create distinctive, non-generic UI designs with aesthetic direction and ASCII wireframes. Use when asked to "design the UI", "create a layout", "wireframe this", or when building UI that should be memorable rather than generic. Avoids AI slop patterns.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: design description: | Create distinctive, non-generic UI designs with aesthetic direction and ASCII wireframes. Use when asked to "design the UI", "create a layout", "wireframe this", or when building UI that should be memorable rather than generic. Avoids AI slop patterns. license: MIT metadata: author: howells
Design Workflow
Create distinctive, non-generic UI. Avoids AI slop (Inter, purple gradients, cookie-cutter layouts).
Prerequisites
- Dev server running — Ensure the app is running locally so you can visually verify changes
- Chrome MCP available — Use browser automation to screenshot and check layouts frequently
Process
Step 1: Understand Scope
"What are we designing?"
- New component/page from scratch
- Redesign existing UI
- Review and refine current implementation
Step 2: Gather Aesthetic Direction
Ask one at a time:
-
"What tone fits this UI?"
- Minimal, bold, playful, editorial, luxury, brutalist, retro, organic
-
"What should be memorable about this?"
- The animation? Typography? Layout? A specific interaction?
-
"Any existing brand/style to match, or fresh start?"
-
"Any reference designs or inspiration?"
- Capture Figma links, screenshots, URLs immediately
Step 3: Capture Direction
## Aesthetic Direction
- **Tone**: [chosen]
- **Memorable element**: [what stands out]
- **Typography**: [display] + [body] (NOT Inter/Roboto/Arial)
- **Color strategy**: [approach - NOT purple gradients]
- **Motion**: [where animation matters]
Step 4: ASCII Wireframe First
Before any code, create ASCII wireframe. See ${CLAUDE_PLUGIN_ROOT}/references/ascii-ui-patterns.md.
┌─────────────────────────────────┐
│ Header │
├─────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ │
│ │ Card │ │ Card │ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────┘
Ask: "Does this layout feel right?"
Step 5: Build or Hand Off
Options:
- Build now → Use /arc:build or /arc:implement
- Create plan → Invoke /arc:detail
- Just the design → Save to docs/plans/ and stop
Step 5b: Visual Verification (During Build)
Use Chrome MCP tools liberally to check how the layout actually looks as you build:
-
After each significant change — Take a screenshot to verify:
mcp__claude-in-chrome__computer action=screenshot -
Check responsive behavior — Resize and screenshot:
mcp__claude-in-chrome__resize_window width=375 height=812 # Mobile mcp__claude-in-chrome__computer action=screenshot mcp__claude-in-chrome__resize_window width=1440 height=900 # Desktop -
Verify spacing, alignment, typography — Don't assume it looks right. See it.
-
Check for visual conflicts — Look for:
- Components overlapping or clipping each other
- Elements clashing with existing UI (headers, footers, sidebars)
- Z-index issues causing unexpected layering
- Scroll containers behaving unexpectedly
- Fixed/sticky elements interfering with content
-
Iterate visually — If something looks off, fix it immediately before moving on.
When to screenshot:
- After implementing a new component
- After adding responsive styles
- After adjusting spacing/layout
- Before declaring a section "done"
- When something feels uncertain
The goal: never commit UI code without visually verifying it looks correct.
Anti-Patterns to Avoid
From ${CLAUDE_PLUGIN_ROOT}/references/frontend-design.md:
- Inter, Roboto, Arial, system-ui defaults
- Purple-to-blue gradients on white
- White backgrounds with gray cards
- Rounded corners on everything
- Generic Heroicons
- Cookie-cutter component patterns
Step 6: Optional UI Compliance Review
If the web-design-guidelines skill is available:
Skill web-design-guidelines: "Review the design against Web Interface Guidelines.
Focus on: [specific areas of concern]"
This provides external validation against established UI best practices.
<progress_append> After completing the design work, append to progress journal:
## YYYY-MM-DD HH:MM — /arc:design
**Task:** [UI/component designed]
**Outcome:** Complete
**Files:** [Design doc or component files]
**Decisions:**
- Tone: [aesthetic direction]
- Memorable: [key element]
**Next:** /arc:build or /arc:implement
---
</progress_append>
Interop
- Can invoke /arc:build for quick implementation
- Can invoke /arc:implement for planned implementation
- Aesthetic direction feeds into implementation tasks
- Can invoke web-design-guidelines skill for compliance review (if available)
- Uses Chrome MCP (
mcp__claude-in-chrome__*) for visual verification throughout
More by howells
View allPersistent task backlog that survives across sessions. Git-committed, always available. Use when asked to "add a task", "show my tasks", "update the backlog", "prioritize", or when managing what needs to be done across sessions.
Remove LLM-generated artifacts from code. Cleans unnecessary comments and defensive checks. Use when asked to "clean up the code", "remove AI slop", "deslop this", or after AI-assisted coding sessions to remove artifacts that don't match codebase style.
Create or review a high-level vision document capturing project goals and purpose. Use when asked to "define the vision", "what is this project", "set goals", or when starting a new project that needs clarity on purpose and direction.
Execute an implementation plan task-by-task with TDD and continuous quality checks. Use when asked to "implement the plan", "execute the tasks", "start building from the plan", or after /arc:detail has created an implementation plan ready for execution.
