skills/ux/SKILL.md
Senior UX product designer knowledge layer. Called by /explore, /prd, /journey, /figma, /epic, /implement, /verify when they need to clarify UX requirements, check edge-case coverage, validate state design, or look up decision frameworks. Transforms vague requirements into precise acceptance criteria via exhaustive questioning, and serves as the canonical reference for UX patterns across the design chain.
npx skillsauth add ash4180/vorbit uxInstall 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.
Senior-UX-designer knowledge: exhaustive question matrix, edge-case catalog, decision frameworks. Other vorbit skills consult _shared/ux-knowledge/ directly when they need UX patterns. This skill itself is the workflow for exhaustive Q&A → verbatim ACs.
Core Principle: Ask questions → User answers → Answers become acceptance criteria (verbatim).
Locate
_shared/: This skill ships as a plugin, so_shared/files live in the plugin cache, not your project. Before reading any_shared/...path below, runls -d ~/.claude/plugins/cache/local/vorbit/*/skills/_shared 2>/dev/null | head -1and use the output as the absolute base for every_shared/...reference.
| Calling Skill | Trigger | |---------------|---------| | /explore | Sharpening compare-and-contrast prompts; checking edge-case coverage before drafting options | | /prd | Building each user story; AC quality (verbatim user words rule); flow/error gaps | | /journey | Flow patterns (entry/exit, decisions, errors) — what to ask about per question-matrix | | /figma | UI state patterns (empty/loading/error/disabled), accessibility, microcopy decisions | | /epic | No PRD exists; need to gather requirements before sub-issue planning | | /implement | Requirements unclear, edge cases undefined mid-implementation | | /verify | Looking up what to check (state design, accessibility, edge cases per category) |
Each calling skill may consult _shared/ux-knowledge/ directly without invoking this full workflow — see "Direct Reference Access" below.
Receive from calling skill:
>>> READ _shared/ux-knowledge/question-matrix.md NOW <<<
This file contains 14 question categories. Use ALL relevant categories.
Use AskUserQuestion with 2-4 questions per batch. Go through each category:
| Category | Questions From | Output | |----------|----------------|--------| | 1. Entry & Happy Path | Matrix sections 1-2 | UX Expectation + Happy Path ACs | | 2. Validation | Matrix section 3 | Validation ACs | | 3. System Errors | Matrix section 4 | Error ACs | | 4. Permissions | Matrix section 5 | Permission ACs | | 5. Loading & Empty | Matrix sections 6-7 | State ACs | | 6. Concurrent & Time | Matrix sections 8-9 | Edge Case ACs | | 7. Device & Accessibility | Matrix sections 10-11 | Accessibility ACs | | 8. Recovery & Notifications | Matrix sections 12-13 | Recovery ACs |
Skip categories not relevant to the task.
>>> READ _shared/ux-knowledge/edge-case-catalog.md NOW <<<
After user answers:
>>> READ _shared/ux-knowledge/ux-philosophy.md WHEN USER IS UNSURE <<<
If user says "I don't know" or "whatever you think":
Return structured UX content to calling skill:
## UX Clarification: [Task/Story Title]
### UX Expectation
[User's description of ideal experience - their exact words]
### User Flow
[Describe textually in Entry → step → step → Exit form. For published diagrams, recommend `/vorbit:design:journey`.]
### Acceptance Criteria
**Happy Path:**
- [ ] [User's answer: step 1]
- [ ] [User's answer: step 2]
- [ ] [User's answer: success confirmation]
**Validation:**
- [ ] When [field] is [invalid], show "[user's error message]"
**Errors:**
- [ ] When API fails, [user's answer]
- [ ] When offline, [user's answer]
**States:**
- [ ] Loading: [user's answer]
- [ ] Empty: [user's answer]
**Permissions:**
- [ ] When unauthorized, [user's answer]
**Accessibility:**
- [ ] [user's keyboard answer]
- [ ] [user's mobile answer]
**Edge Cases:**
- [ ] [user's answer from concurrent/time questions]
- [ ] [gaps found from edge-case-catalog.md]
/ux does NOT generate flow diagrams. If the user needs a visual flow during clarification:
/vorbit:design:journey for a published Excalidraw diagram with shareable URLSingle canonical tool for flow visualization (/journey → Excalidraw) avoids duplicate-artifact problems.
| Question | User Answer | Becomes |
|----------|-------------|---------|
| "What if email empty?" | "Show 'Email required'" | - [ ] When email empty, show "Email required" |
| "What during loading?" | "Spinner with text" | - [ ] Loading: Show spinner with text |
| "What if API fails?" | "Retry button, keep data" | - [ ] When API fails, show retry, preserve data |
Never interpret. Use user's exact words.
For simple tasks (< 3 acceptance criteria needed):
/explore, /prd, /journey, /figma, /epic, /implement, and /verify can read _shared/ux-knowledge/ files directly without invoking this full skill. Each file is self-contained and serves a specific purpose:
| File | When to Read | Purpose | Used by |
|------|--------------|---------|---------|
| _shared/ux-knowledge/question-matrix.md | Designing questions for a feature | All 14 question categories with prompts | /explore, /prd, /journey, /ux |
| _shared/ux-knowledge/edge-case-catalog.md | Checking edge-case coverage | Concrete edge cases per input/state/network/auth/device | /prd, /figma, /implement, /verify, /ux |
| _shared/ux-knowledge/ux-philosophy.md | Making UX trade-off decisions | Decision frameworks (block vs warn, auto-save vs manual, etc.) + state design principles | /explore, /prd, /figma, /verify, /ux |
Rule for consumer skills: Direct read = quick lookup. Full /ux invocation = exhaustive Q&A producing structured ACs. Use direct read when you know what you need (e.g., "what does the catalog say about empty states?"). Use full /ux invocation when the requirements are vague and you need the whole question-batch ritual.
development
Sync design tokens and components from a codebase to a Pencil canvas (`.pen` files), or set up a Pencil canvas from a style guide when no codebase exists. Use when the user says "sync pencil", "setup pencil", "configure pencil", "pencil sync", "sync tokens to pencil", "build pencil component library", or names Pencil/`.pen` files explicitly. Also triggers when mockups generated by Pencil don't match project conventions.
development
--- name: figma version: 1.6.0 description: Use when user says "figma", "figma it", "sync figma", "figma mockup", "create figma file", "design to figma", "figma from PRD", "figma from journey", "build in figma", or "figma design system" — anything that creates, syncs, or updates Figma design systems, components, variables, mockups, or front-end-ready screens. Always enumerates the linked Figma library FIRST (library-driven discovery, not per-need search), produces a block→DS mapping table for us
development
Use when the user wants to build Webflow pages, templates, or components, with or without Figma designs as reference.
testing
Use when the user wants to verify an implementation, validate acceptance criteria, or run a Vorbit-style post-change check using shared project rules.