From ux
Runs a 10-field interactive intake (project type, audience, goal, tone, constraints, stack, region, success metric) and saves answers to .ux/last-discovery.json for downstream commands.
How this command is triggered — by the user, by Claude, or both
Slash command
/ux:ux-discoverThis command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# /ux-discover — the forcing function **No generation without discovery.** This is the discipline gate. The 10-field intake every project goes through before `/ux-design`, `/ux-component`, `/ux-recommend`, or any other generation command runs. The plugin asks; you answer; the engine has constraints to work with instead of guessing. The 10 fields: 1. **Project type** — landing / marketing-site / dashboard / admin-panel / docs / mobile-app / email 2. **Audience** — who specifically. Concrete. "B2B finance ops in MENA", not "business users." 3. **Primary goal** — ONE job for this surface. ...
No generation without discovery.
This is the discipline gate. The 10-field intake every project goes through before /ux-design, /ux-component, /ux-recommend, or any other generation command runs. The plugin asks; you answer; the engine has constraints to work with instead of guessing.
The 10 fields:
/ux-design, /ux-component, or /ux-recommend./ux-fix./ux-audit or /ux-lint..ux/last-discovery.json for this project and the brief hasn't changed.Inside Claude Code:
python3 -m engine.cli.main discover
The CLI walks the 10 questions interactively, then writes the answers to
.ux/last-discovery.json. Subsequent commands (/ux-recommend,
/ux-design, /ux-component) auto-load that file if present.
.ux/last-discovery.json:
{
"answers": {
"project_type": "landing",
"audience": "B2C, mobile-first, MENA region",
"primary_goal": "Trial signup",
"tone": "warm, editorial, trustworthy",
"must_have": "dark-mode, rtl-arabic, a11y-AA",
"forbidden": "brutalism, purple-gradients, emoji-in-ui",
"reference_brands": "Stripe, Linear, Mercury",
"stack": "nextjs-15-app-router",
"region": "mena",
"success_metric": "Signup CR > 4%"
},
"complete": true,
"missing": []
}
ux discover --load-state .ux/last-discovery.json # answer the missing fields only
Because the alternative — letting the LLM "infer reasonable defaults" — is exactly what produces AI slop. Default Inter font, default purple gradient, default three-card hero. The 10 questions remove the guesswork. The plugin can't improvise its way past a structured input.
After discovery completes, the natural next steps:
/ux-recommend → uses your discovery to pick style + palette + type + motion + components./ux-design [extra brief] → generates frontend code grounded in the recommendation./ux-component <name> → generates one component aligned to the discovered constraints.npx claudepluginhub laith0003/ux-skill --plugin ux/uxOrchestrates UX design workflow phases (research, define, ideate, system, prototype, test, handoff, QA); smart-routes next steps or audits from artifacts.
/ux-briefGenerates junior-dev-ready design system documents for a component, page, or feature through guided discovery questions and context analysis.
/role-ui-uxActs as an independent UX consultant: explores project files with Glob/Read/Grep, analyzes user flows and design, forms opinions, and suggests directions with ASCII wireframes.
/design-teachScans codebase for design elements and tech stack, asks targeted UX/brand questions, saves persistent guidelines to .mint/design-profile.json, .mint/design-notes.md, and CLAUDE.md.
/ux-designerInvokes expert UX designer agent for strategy and design guidance on provided question or starts open consultation session if none given.
/ux-designCreates a complete design system with foundations, brand identity, and UX patterns through guided collaboration.