From x-skills
Use when the user wants to apply a visual design system to a project, references a specific brand's style (Linear-like, Stripe-like, Claude-like), asks for a DESIGN.md, or describes aesthetic intent (warm editorial, dark minimal, stark futuristic) for AI UI generation
How this skill is triggered — by the user, by Claude, or both
Slash command
/x-skills:x-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Resolves user design intent to a curated `DESIGN.md` file from [VoltAgent/awesome-design-md](https://github.com/VoltAgent/awesome-design-md) and installs it into the current project. Index-only by design — fetches via GitHub raw URLs, never bundles upstream files.
Resolves user design intent to a curated DESIGN.md file from VoltAgent/awesome-design-md and installs it into the current project. Index-only by design — fetches via GitHub raw URLs, never bundles upstream files.
Trigger phrases:
When NOT to use:
ui-ux-pro-max directly (note: if there is a brand reference, x-design will chain into ui-ux-pro-max via step 6 anyway)x-reviewmultimodal-looker + write directlyDESIGN.md the user is happy with → point to it, don't overwriteRead these files before routing any request:
0. ../x-shared/capability-loading.md — pin capabilities for the session (used to gate the optional ui-ux-pro-max and shadcn MCP handoffs in steps 6-7).
config.json — pinned commit, URL templates, defaultsreferences/catalog.md — 58 sites with slugs, categories, intent tags, tag vocabulary| Signal | Route |
|---|---|
| Named brand ("Linear", "Stripe", "Claude") | Direct slug lookup in catalog |
| Descriptive intent ("warm editorial", "dark minimal") | Match against intent tags → propose 2–3 candidates |
| "What's available?" / "list styles" | Show catalog section(s) the user cares about |
| "Something like X but Y" | Look up X's tags, filter by Y, propose candidates |
| "Refresh catalog" / "update pin" | See "Re-pinning" section in references/catalog.md |
Resolve target directory. Confirm cwd is a project root (has .git, package.json, pyproject.toml, or user confirms explicitly). If ambiguous, ask before proceeding. Never write outside the user-confirmed directory.
agentmemory.server_up pinned per ../x-shared/capability-loading.md): one curl -fsS -X POST "${AGENTMEMORY_URL:-http://localhost:3111}/agentmemory/vision-search" -H 'content-type: application/json' -d '{"query":"<design topic>","limit":5}' call. Surface prior screenshots / mockups as supplementary context for slug resolution. When agentmemory.server_up is not pinned, skip silently — Claude's native auto-memory file still applies.Resolve slug from intent.
linear.app, mistral.ai, x.ai, cal, not cal.com) — always verify against the catalog.Intent Tags column. Return top 2–3 candidates with their one-liners. Ask the user to pick.references/catalog.md.Preview before install. Show the user:
{commit} and {slug} into preview_url_template from config.json)Fetch the DESIGN.md. Build the raw URL from config.json raw_url_template, substituting {repo}, {commit}, {slug}:
curl -fsSL "https://raw.githubusercontent.com/VoltAgent/awesome-design-md/<commit>/design-md/<slug>/DESIGN.md" -o <target>/DESIGN.md
curl -f fails loudly on 404 (stale commit or wrong slug). If a DESIGN.md already exists at the target, warn and ask before overwriting.
Report. Show:
package.json (React/Next → Tailwind bg-[#hex] or className), nuxt.config / vue deps (Vue → scoped <style>), svelte.config (Svelte → style: directives), pubspec.yaml (Flutter → Color(0xFFhex)), or plain HTML. Append one line: "Section 9 prompts use raw CSS values — adapt to bg-[#f5f4ed] (Tailwind), style={{ background }} (React), or your framework's convention."references/ai-slop-patterns.md — name the top 3–4 pitfalls inline (3-column feature grid, gradient backgrounds, icons in colored circles, cookie-cutter rhythm) and note: "See the full list in the AI slop reference. The site-specific Don'ts in section 7 take precedence."Offer the ui-ux-pro-max handoff. DESIGN.md captures aesthetic intent; ui-ux-pro-max captures enforceable rules (a11y, palettes, stack guidelines, anti-patterns). External user-level skill (NOT shipped in this plugin) — upstream: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill. Install location: ~/.omc/skills/ui-ux-pro-max/ (or ~/.claude/skills/ui-ux-pro-max/). Detect first by checking the available skills list. Behavior:
"Want me to also generate a
design-system/MASTER.mdwith implementation rules viaui-ux-pro-max? It complementsDESIGN.md— vision vs. rules."
"Optional next step:
ui-ux-pro-maxwould generate enforceable rules (design-system/MASTER.md) to complementDESIGN.md. Not installed. Source: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill. Skipping for now."
If user accepts, invoke ui-ux-pro-max with the same intent (brand name + product type + descriptive tags from the catalog row). Primitive: handoff (sync, depends on result). Include a handoff context block: from x-design, slug + brand name + tags, path of the installed DESIGN.md, recommended next step. The two files coexist: DESIGN.md is the north-star; MASTER.md is the rules engine. If user declines, skip silently — never push twice.
Offer the shadcn MCP handoff. DESIGN.md + MASTER.md describe what the UI looks like; shadcn MCP is how to install matching components. Conditional — call mcp__shadcn__get_project_registries first; empty/error result triggers the non-shadcn advisory below, then proceeds to step 8 (never push shadcn onto non-shadcn projects). If registries exist, follow the workflow in references/shadcn-handoff.md (detect → ask once → seed primitives with search_items_in_registries + get_add_command_for_items → optional get_audit_checklist). Primitive: sequential handoff after step 6 — shadcn consumes MASTER.md tokens, so it must follow the ui-ux-pro-max handoff (do NOT fan out steps 6 + 7 in parallel). Print install commands; never auto-run. Include a handoff context line when surfacing the install commands so the next session knows which DESIGN.md/MASTER.md drove the picks.
Non-shadcn framework advisory: When get_project_registries returns empty, check for a detectable framework and offer a one-line hint (never push, just inform):
nuxt.config.* or vue in deps → "Apply DESIGN.md tokens via CSS custom properties or scoped <style> in Vue SFCs."svelte.config.* → "Apply tokens via Svelte's style: directives or a shared tokens.css."pubspec.yaml (Flutter) → "Map DESIGN.md hex values to Color(0xFF...) constants in a theme file."index.html only (vanilla) → "Apply tokens as CSS custom properties in a <style> block or linked stylesheet."Optionally hint the project CLAUDE.md. Default (auto_update_claude_md: false) is to ASK first. If user consents, append one line matched to what was installed:
| Files present | Line to append |
|---|---|
Only DESIGN.md | When generating or modifying UI, read DESIGN.md in the project root for visual styling rules. |
DESIGN.md + design-system/MASTER.md | When generating UI: read DESIGN.md (brand vision) and design-system/MASTER.md (rules). |
| Above + shadcn registries detected | When generating UI: read DESIGN.md (vision) and design-system/MASTER.md (rules); use the shadcn MCP (search_items_in_registries, get_add_command_for_items) to install matching components. |
Never modify any other content in CLAUDE.md.
mcp.agentmemory pinned in bootstrap-active set): one mcp__plugin_agentmemory_agentmemory__memory_save({ content: "<one-line design decision + rationale>", type: "insight", concepts: "x-design,decision,slot:design,<area>" }) call. The slot: token in concepts substitutes for the upstream slot-store API (not present in agentmemory v0.9.21 — convention, not contract; memory_save silently drops unknown top-level fields, so a category arg would be invisible — verified at research/rohitg00/agentmemory/src/mcp/standalone.ts:104-114). Skip silently when not pinned.| Task | How |
|---|---|
| Install a named brand to cwd | Resolve slug from catalog → curl -fsSL <raw_url> -o DESIGN.md |
| List styles in a category | Read references/catalog.md → print the category table |
| Show tag vocabulary | Read the "Tag Vocabulary" section at the bottom of references/catalog.md |
| Refresh to newer upstream commit | Follow "Re-pinning" procedure in references/catalog.md |
| Preview without installing | Construct preview_url_template and print it — don't curl |
Generate matching MASTER.md (rules) | Step 6 — invoke ui-ux-pro-max with brand + tags |
| Find matching shadcn components | Step 7 — search_items_in_registries then get_add_command_for_items |
| Non-shadcn framework hint | Step 7 — when shadcn detection fails, check for Vue/Svelte/Flutter and advise |
| Offline fallback when curl 404s | Use research_fallback_path from config.json |
curl (fail-loud with -f) — fetches raw files from GitHubconfig.json — pinned commit + URL templates + defaultsreferences/catalog.md — 58-site index, authoritative slug + tag sourceVoltAgent/awesome-design-md at the pinned commit in config.jsonui-ux-pro-max skill (step 6 handoff) — generates design-system/MASTER.md. External user-level skill, NOT shipped in this plugin. Upstream: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill. Install path: ~/.omc/skills/ui-ux-pro-max/ (or ~/.claude/skills/ui-ux-pro-max/).shadcn MCP (step 7 handoff) — get_project_registries, search_items_in_registries, get_add_command_for_items, get_audit_checklistui-ux-pro-max — bespoke design authoring (styles, palettes, accessibility). x-design routes to existing references; ui-ux-pro-max helps author decisions from scratch. External user-level skill (not shipped here) — install from https://github.com/nextlevelbuilder/ui-ux-pro-max-skill.update-research — maintains the research-library clone (path in config.json → research_fallback_path); separate from this skill's index-only footprintx-review — post-install visual review passThree-stage pipeline (steps 4 → 6 → 7):
x-design fetches DESIGN.md — brand vision (the what)ui-ux-pro-max generates design-system/MASTER.md — enforceable rules (the constraints)shadcn MCP finds and installs matching components — execution (the how)Each stage is opt-in. Stages 2 and 3 are skipped silently if the user declines or the project can't support them.
| Mistake | Fix |
|---|---|
| Fetching without confirming project root | Always resolve cwd first; ask user if ambiguous |
Overwriting existing DESIGN.md silently | Always warn + confirm |
Modifying CLAUDE.md without consent | Default is ask-first; never auto-append |
| Hardcoding the commit SHA | Always read from config.json → pinned_commit |
| Bundling upstream files into the skill | Skill is index-only — never copy design-md/ into the skill dir |
| Guessing slugs | Always check references/catalog.md (slugs have irregular forms) |
| Skipping section 9 in the report | The agent prompt examples are the highest-leverage takeaway |
| Showing section 9 without philosophy framing | Always remind to read sections 1, 5, 7 first |
| Omitting stack-aware hint | Detect framework and suggest how to adapt CSS values |
| Omitting AI slop warning | Always append the generation pitfalls advisory |
Fetching preview.html to the project | Only DESIGN.md belongs in the project; previews are for eyeballing on github.com |
| Pushing shadcn on non-shadcn projects | Step 7 must call get_project_registries first; empty result = non-shadcn advisory |
| Skipping non-shadcn framework advisory | When shadcn detection fails, check for Vue/Svelte/Flutter and offer a one-line token-application hint |
Auto-running npx shadcn add ... commands | Step 7c prints install commands; the user runs them |
Forcing ui-ux-pro-max when it isn't installed | Step 6 must check the available skills list before invoking |
Silently skipping step 6 when ui-ux-pro-max missing | Surface the install pointer (https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) once, then stop — do NOT no-op |
See gotchas.md for known failure patterns.
npx claudepluginhub quangtran88/x-skills --plugin x-skillsProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.