skills/ship-faster/skills/tool-design-style-selector/SKILL.md
Use when you need to define or converge a project's visual direction. Scan project documentation to identify intent, then produce a design-system.md (either preserve existing style or pick from 30 presets). Triggers: design system, design spec, UI style, visual style, design tokens, color palette, typography, layout. Flow: scan → intent → (gate) preserve vs preset → deploy design-system.md after confirmation → (default) implement UI/UX per design-system.md (plan first, then execute).
npx skillsauth add enuno/claude-command-and-control tool-design-style-selectorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scan project, identify intent, recommend and deploy the most suitable design system style.
This skill can either:
design-system.md (recommended when the project already looks “mature”), ordesign-system.md.Style files live in styles/ and are indexed in:
styles-index.md (ID → filename → theme)Quick examples of presets:
05-saas (B2B tools, dashboards)08-swiss-minimalist (clean hierarchy, corporate)13-neo-brutalism (bold, indie/creative)19-minimal-dark (focus mode, dev tools)Scan the following files to identify project intent:
- README.md / README
- package.json / pyproject.toml / Cargo.toml
- Existing Claude.md / agent.md / AGENTS.md
- src/ or app/ directory structure
- Existing style files (tailwind.config, globals.css)
- Brand assets (logo, favicon)
Extract the following information:
Purpose: Avoid forcing a reskin on projects that are "already good-looking/already branded", preventing unnecessary UI rework and cognitive costs.
When a repo already has UI, first do a quick "style maturity" assessment and write out evidence (don't be purely subjective):
Signals of mature style (meeting multiple criteria is sufficient):
tailwind.config.* has fairly complete color/font/radius/shadow/spacing config, or :root CSS variables form a systemSignals of immature/inconsistent style:
Gate Output (required):
Ask only one question (multiple choice) for user to select strategy:
I've scanned the current project style as [fairly mature / not very unified]. What would you like:
- Preserve existing style: I'll reverse-extract current UI into
design-system.md(document only + light unification, no major reskin)- Use this repo's preset: Select one from 30 styles, replace with unified style (requires more significant UI changes)
- Hybrid: Keep the general direction, but use design tokens/component specs to converge inconsistencies (moderate changes)
If selecting 1): Step 3 doesn't need "recommend 30 styles", instead do "extract and generate design-system.md".
Based on analysis results, recommend Top 3 best matching styles:
Recommendation #1: [Style Name] ⭐ Best Match
- Match Score: 95%
- Reason: ...
- Fit Points: ...
Recommendation #2: [Style Name]
- Match Score: 85%
- Reason: ...
Recommendation #3: [Style Name]
- Match Score: 75%
- Reason: ...
tool-ui-ux-pro-maxIf tool-ui-ux-pro-max is installed, run it by default to make design-system.md more concrete (palette + typography + UX constraints), instead of relying on a single preset text blob. Only skip if the user explicitly asks to keep the spec minimal, and record the reason.
Recommended searches (pick 1–3 results per category, then synthesize into design-system.md):
# Typography pairing (heading + body + CSS import)
python3 ~/.claude/skills/tool-ui-ux-pro-max/scripts/search.py "<brand tone keywords>" --domain typography
# Color palette (primary/secondary/CTA/background/text/border)
python3 ~/.claude/skills/tool-ui-ux-pro-max/scripts/search.py "<product type keywords>" --domain color
# UX / accessibility guardrails (avoid common “looks good but feels broken” issues)
python3 ~/.claude/skills/tool-ui-ux-pro-max/scripts/search.py "accessibility" --domain ux
python3 ~/.claude/skills/tool-ui-ux-pro-max/scripts/search.py "animation" --domain ux
# Stack-specific implementation constraints (pick the actual project stack)
python3 ~/.claude/skills/tool-ui-ux-pro-max/scripts/search.py "layout responsive" --stack nextjs
1. Copy selected style file to project
2. Rename to design-system.md
3. Placement location:
- Primary: Project root directory
- Alternative: docs/ or .cursor/ or .claude/
4. If Claude.md / agent.md exists:
- Add reference at the top of that file
- Explain that design-system.md is the unified design constraint
If "preserve existing style" was selected in Step 2.5: "deployment" here is not copying a preset, but writing the tokens, typography rules, component style constraints you extracted from code/styles into
design-system.md(also placed at root).
The goal of this step is: Make design-system.md actually "live in the UI", not just generate a document and stop.
Execution requirements:
Recommended implementation order (start from "where it can best align the style"):
Note:
📁 Project Scan Complete
Project Name: [name]
Project Type: [type]
Tech Stack: [stack]
Target Users: [audience]
Brand Tone: [tone]
Existing Design Assets:
- ✅ tailwind.config.js (has color config)
- ❌ No design system documentation
- ⚠️ Claude.md exists (needs integration)
✅ Design System Deployed
File: /design-system.md
Style: [selected style]
Completed:
1. Created design-system.md
2. Added reference in Claude.md
Next Steps (execute by default):
- Generate UI/UX transformation plan based on design-system.md (clarify page/component scope and acceptance criteria)
- After user confirmation, redo UI/UX according to plan to implement design specs (avoid "document exists but UI unchanged")
Add at the top of the file:
## Design System
This project uses a unified design system, see [design-system.md](./design-system.md).
All UI development must follow the design-system.md for:
- Color specifications
- Typography rules
- Component styles
- Spacing system
Create design-system.md directly in root directory.
All style prompt files are located at: styles/
File naming: [id]-[name].md (e.g., 01-monochrome.md)
tools
MemPalace local-first AI memory system. Use when setting up persistent memory for Claude Code sessions, mining project files or conversation transcripts, querying past context, configuring MCP tools, managing the knowledge graph, or troubleshooting palace operations.
tools
LangSmith Python SDK — trace, evaluate, and monitor LLM applications. Covers @traceable decorator, trace context manager, Client API, evaluate() / aevaluate(), comparative evaluation, custom evaluators, dataset management, prompt caching, ASGI middleware, and pytest plugin.
development
LangGraph (Python) — build stateful, controllable agent graphs with checkpointing, streaming, persistence, interrupts, fault tolerance, and durable execution. Covers both Graph API (StateGraph) and Functional API (@entrypoint/@task).
development
LangGraph Graph API (Python) — build explicit DAG agent workflows with StateGraph, typed state, nodes, edges, Command routing, Send fan-out, checkpointers, interrupts, and streaming. Use when you need explicit control flow and graph topology.