UX Review
Performs a UX review optimized for productivity tools and admin interfaces. Based on the principle: "Hands stay on keyboard, mouse is optional."
This review evaluates features against efficiency-first UX patterns used in best-in-class productivity tools: command palettes, keyboard-first navigation, inline editing, optimistic UI, and minimal context switching.
When to use
Use this skill when the user needs to:
- Validate that a feature feels fast and professional
- Check if keyboard shortcuts and command palette are properly integrated
- Verify inline editing vs unnecessary page transitions
- Ensure optimistic UI and instant feedback
- Review a feature for "pro tool" experience quality
Core UX Principles
The interface should think faster than the user
- Command Palette — single entry point for all actions (⌘K / Ctrl+K)
- Keyboard-First — frequent actions have shortcuts, arrow navigation works
- Inline Editing — no modals for simple edits, Enter saves, Esc cancels
- Minimal States — side panels over pages, overlays without context loss
- Search-First — search is the primary navigation method
- Strong Defaults — zero decisions needed for common actions
- Optimistic UI — instant response, no spinners when avoidable
- List-Centric — lists as main screens, saved views, fast filters
- Context > Settings — actions next to objects, not buried in settings
- Visual Clarity — no noise, color = meaning only
Instructions
Step 1: Determine Review Target
Parse $0 to determine what to review:
- Spec name — if provided, read documents from
.specs/<spec-name>/ (requirements, design, tasks)
- File paths — if provided, review specific files or directories
- Branch diff — if
branch is specified, review all changes on the current branch vs main
If no arguments provided:
- Check if there are specs in
.specs/ and list them
- Check if there are uncommitted changes or branch changes
- Ask the user what to review
Step 2: Gather Context
Read all available materials depending on the target:
From spec documents (if available):
requirements.md — extract user stories, acceptance criteria, and described user flows
design.md — extract UI components, data flow diagrams, and interaction patterns
From codebase:
Use parallel sub-agents (subagent_type: "Explore") to investigate:
- Command palette agent — find command palette implementation, registered commands, keyboard shortcut definitions
- UI patterns agent — find forms, dialogs, pages, lists; identify inline editing vs modal patterns
- Navigation agent — find route definitions, side panels, drawers, overlay patterns
- Feedback agent — find optimistic updates, loading states, toast notifications, undo mechanisms
Launch all four agents in a single message (parallel tool calls).
Step 3: Evaluate Efficiency-First Patterns
For each pattern, evaluate the current implementation level:
3a. Command & Control
| Pattern |
❌ Missing |
⚠️ Basic |
✅ Good |
🚀 Excellent |
| Command Palette |
No ⌘K |
Opens but limited actions |
Search + navigation + actions |
Context-aware commands, recent items, fuzzy search |
| Keyboard Shortcuts |
None |
Only global (save, close) |
CRUD shortcuts (C/E/D) + navigation (↑↓) |
Full coverage, discoverable hints, customizable |
| Focus Management |
Random focus |
Focus on page load |
Logical tab order |
Keyboard trap-free, skip links, roving tabindex |
3b. Editing & Data Entry
| Pattern |
❌ Missing |
⚠️ Basic |
✅ Good |
🚀 Excellent |
| Inline Editing |
Always navigate away |
Modal for every edit |
Click-to-edit in lists |
Enter=save, Esc=cancel, blur=save, multi-field inline |
| Strong Defaults |
All fields required |
Some defaults |
Smart defaults based on context |
Auto-fill from context, minimal required fields |
| Form Efficiency |
One field per page |
Standard form |
Logical grouping, clear optionals |
Auto-advance, paste-to-fill, batch entry |
3c. Navigation & Context
| Pattern |
❌ Missing |
⚠️ Basic |
✅ Good |
🚀 Excellent |
| Minimal States |
Full page transitions |
Modals for everything |
Side panels for details |
Overlays preserve context, split views, peek preview |
| Search-First |
No search |
Basic text match |
Instant search, multiple entities |
Filters, saved searches, search by ID/status/user |
| List-Centric |
Card grids only |
Basic lists |
Sortable, filterable lists |
Saved views, column customization, bulk actions |
3d. Feedback & Performance
| Pattern |
❌ Missing |
⚠️ Basic |
✅ Good |
🚀 Excellent |
| Optimistic UI |
Wait for server |
Spinner on every action |
Optimistic for reads |
Full optimistic with rollback, background sync |
| Response Time |
Visible delays |
< 500ms responses |
< 200ms, skeleton loading |
< 100ms, no spinners, prefetching |
| Undo/Redo |
Confirm dialogs only |
Toast with undo for delete |
Undo for all destructive |
Full undo stack, Ctrl+Z support |
3e. Visual Design
| Pattern |
❌ Missing |
⚠️ Basic |
✅ Good |
🚀 Excellent |
| Visual Clarity |
Cluttered, many icons |
Some organization |
Clean, purposeful layout |
Typography-driven, color = status only |
| Context > Settings |
Actions in settings page |
Actions in dropdown menu |
Actions visible on hover |
Inline actions, contextual toolbars |
| Information Density |
Too sparse or too dense |
Acceptable density |
Scannable, grouped info |
Progressive disclosure, smart truncation |
Step 4: Cross-Reference with Spec
If spec documents are available, verify:
- Keyboard flows documented — spec mentions keyboard shortcuts and navigation
- Inline editing specified — design prefers inline over modal where appropriate
- Performance requirements — response time and optimistic UI mentioned
- Command palette integration — new actions registered in command palette
Step 5: Generate UX Review Report
Present a structured report:
# UX Review: [Feature Name]
**Scope:** [What was reviewed — spec docs, files, branch diff]
**UX Maturity:** [🚀 Pro-tool / ✅ Good / ⚠️ Basic / ❌ Needs Work]
---
## Efficiency-First Assessment
### Command & Control
| Pattern | Level | Evidence |
|---------|-------|----------|
| Command Palette | [emoji] | [What was found] |
| Keyboard Shortcuts | [emoji] | [What was found] |
| Focus Management | [emoji] | [What was found] |
### Editing & Data Entry
| Pattern | Level | Evidence |
|---------|-------|----------|
| Inline Editing | [emoji] | [What was found] |
| Strong Defaults | [emoji] | [What was found] |
| Form Efficiency | [emoji] | [What was found] |
### Navigation & Context
| Pattern | Level | Evidence |
|---------|-------|----------|
| Minimal States | [emoji] | [What was found] |
| Search-First | [emoji] | [What was found] |
| List-Centric | [emoji] | [What was found] |
### Feedback & Performance
| Pattern | Level | Evidence |
|---------|-------|----------|
| Optimistic UI | [emoji] | [What was found] |
| Response Time | [emoji] | [What was found] |
| Undo/Redo | [emoji] | [What was found] |
### Visual Design
| Pattern | Level | Evidence |
|---------|-------|----------|
| Visual Clarity | [emoji] | [What was found] |
| Context > Settings | [emoji] | [What was found] |
| Information Density | [emoji] | [What was found] |
---
## 🔴 Critical Issues
> Blocks keyboard users or forces unnecessary navigation
### [Issue Title]
**Pattern violated:** [Which efficiency pattern]
**Location:** `path/to/component.tsx`
[What the user experiences and why it slows them down]
**Fix:** [Specific recommendation]
---
## 🟠 Friction Points
> Slows down power users
- **[Location]** — [What's slow and why]
- **[Location]** — [What's slow and why]
---
## 🟡 Polish Opportunities
> Would elevate to pro-tool level
- [Opportunity 1]
- [Opportunity 2]
---
## ✅ What's Already Great
- [Positive finding 1]
- [Positive finding 2]
---
## Edge Cases
| Scenario | Status | Notes |
|----------|--------|-------|
| Empty state | [emoji] | [Has CTA? Keyboard accessible?] |
| Error state | [emoji] | [Dismissible? Undo available?] |
| Loading state | [emoji] | [Skeleton? Optimistic?] |
| Bulk operations | [emoji] | [Keyboard select? Batch actions?] |
---
## Quick Wins
> Low effort, high impact improvements
1. [ ] [Quick win 1]
2. [ ] [Quick win 2]
3. [ ] [Quick win 3]
---
## Summary
| Category | Score |
|----------|-------|
| Command & Control | [X/3 patterns at Good+] |
| Editing & Data Entry | [X/3 patterns at Good+] |
| Navigation & Context | [X/3 patterns at Good+] |
| Feedback & Performance | [X/3 patterns at Good+] |
| Visual Design | [X/3 patterns at Good+] |
| **Overall** | [X/15 patterns at Good+] |
Step 6: Offer Next Steps
After presenting the report, offer actions:
- Add keyboard shortcuts — help implement missing shortcuts
- Convert to inline editing — refactor modals to inline patterns
- Add to command palette — register new actions in ⌘K
- Implement optimistic UI — add optimistic updates for slow operations
- Re-review — run the review again after changes
Severity Levels
| Level |
Criteria |
Examples |
| 🔴 Critical |
Keyboard users blocked; forced full-page navigation for simple actions |
No keyboard access to primary action; modal required for single-field edit |
| 🟠 Friction |
Power users slowed down; inconsistent with app patterns |
Missing shortcut for frequent action; spinner where optimistic would work |
| 🟡 Polish |
Good but not pro-level; minor efficiency gains possible |
Could add to command palette; could show undo toast |
Arguments
$ARGUMENTS - Spec name, file paths, or review scope
<spec-name> — review UX based on spec documents and related code
<file-path> — review UX of specific files or directories
branch — review UX of all changes on current branch vs main
Examples:
review:ux user-auth — review UX for the user-auth feature spec
review:ux src/pages/settings/ — review UX of the settings pages
review:ux branch — review UX of all UI changes on the current branch
Source: ikatsuba/skills — distributed by TomeVault.
1---2name: reviewux3description: UX Review - analyzes feature for efficiency-first UX patterns, keyboard navigation, and pro-tool experience Use when this capability is needed.4---56# UX Review78Performs a UX review optimized for **productivity tools and admin interfaces**. Based on the principle: **"Hands stay on keyboard, mouse is optional."**910This review evaluates features against efficiency-first UX patterns used in best-in-class productivity tools: command palettes, keyboard-first navigation, inline editing, optimistic UI, and minimal context switching.1112## When to use1314Use this skill when the user needs to:15- Validate that a feature feels fast and professional16- Check if keyboard shortcuts and command palette are properly integrated17- Verify inline editing vs unnecessary page transitions18- Ensure optimistic UI and instant feedback19- Review a feature for "pro tool" experience quality2021## Core UX Principles2223> The interface should think faster than the user24251. **Command Palette** — single entry point for all actions (⌘K / Ctrl+K)262. **Keyboard-First** — frequent actions have shortcuts, arrow navigation works273. **Inline Editing** — no modals for simple edits, Enter saves, Esc cancels284. **Minimal States** — side panels over pages, overlays without context loss295. **Search-First** — search is the primary navigation method306. **Strong Defaults** — zero decisions needed for common actions317. **Optimistic UI** — instant response, no spinners when avoidable328. **List-Centric** — lists as main screens, saved views, fast filters339. **Context > Settings** — actions next to objects, not buried in settings3410. **Visual Clarity** — no noise, color = meaning only3536## Instructions3738### Step 1: Determine Review Target3940Parse `$0` to determine what to review:41421. **Spec name** — if provided, read documents from `.specs/<spec-name>/` (requirements, design, tasks)432. **File paths** — if provided, review specific files or directories443. **Branch diff** — if `branch` is specified, review all changes on the current branch vs main4546If no arguments provided:471. Check if there are specs in `.specs/` and list them482. Check if there are uncommitted changes or branch changes493. Ask the user what to review5051### Step 2: Gather Context5253Read all available materials depending on the target:5455#### From spec documents (if available):56- `requirements.md` — extract user stories, acceptance criteria, and described user flows57- `design.md` — extract UI components, data flow diagrams, and interaction patterns5859#### From codebase:60Use **parallel sub-agents** (`subagent_type: "Explore"`) to investigate:61621. **Command palette agent** — find command palette implementation, registered commands, keyboard shortcut definitions632. **UI patterns agent** — find forms, dialogs, pages, lists; identify inline editing vs modal patterns643. **Navigation agent** — find route definitions, side panels, drawers, overlay patterns654. **Feedback agent** — find optimistic updates, loading states, toast notifications, undo mechanisms6667Launch all four agents in a **single message** (parallel tool calls).6869### Step 3: Evaluate Efficiency-First Patterns7071For each pattern, evaluate the current implementation level:7273#### 3a. Command & Control7475| Pattern | ❌ Missing | ⚠️ Basic | ✅ Good | 🚀 Excellent |76|---------|-----------|----------|---------|--------------|77| **Command Palette** | No ⌘K | Opens but limited actions | Search + navigation + actions | Context-aware commands, recent items, fuzzy search |78| **Keyboard Shortcuts** | None | Only global (save, close) | CRUD shortcuts (C/E/D) + navigation (↑↓) | Full coverage, discoverable hints, customizable |79| **Focus Management** | Random focus | Focus on page load | Logical tab order | Keyboard trap-free, skip links, roving tabindex |8081#### 3b. Editing & Data Entry8283| Pattern | ❌ Missing | ⚠️ Basic | ✅ Good | 🚀 Excellent |84|---------|-----------|----------|---------|--------------|85| **Inline Editing** | Always navigate away | Modal for every edit | Click-to-edit in lists | Enter=save, Esc=cancel, blur=save, multi-field inline |86| **Strong Defaults** | All fields required | Some defaults | Smart defaults based on context | Auto-fill from context, minimal required fields |87| **Form Efficiency** | One field per page | Standard form | Logical grouping, clear optionals | Auto-advance, paste-to-fill, batch entry |8889#### 3c. Navigation & Context9091| Pattern | ❌ Missing | ⚠️ Basic | ✅ Good | 🚀 Excellent |92|---------|-----------|----------|---------|--------------|93| **Minimal States** | Full page transitions | Modals for everything | Side panels for details | Overlays preserve context, split views, peek preview |94| **Search-First** | No search | Basic text match | Instant search, multiple entities | Filters, saved searches, search by ID/status/user |95| **List-Centric** | Card grids only | Basic lists | Sortable, filterable lists | Saved views, column customization, bulk actions |9697#### 3d. Feedback & Performance9899| Pattern | ❌ Missing | ⚠️ Basic | ✅ Good | 🚀 Excellent |100|---------|-----------|----------|---------|--------------|101| **Optimistic UI** | Wait for server | Spinner on every action | Optimistic for reads | Full optimistic with rollback, background sync |102| **Response Time** | Visible delays | < 500ms responses | < 200ms, skeleton loading | < 100ms, no spinners, prefetching |103| **Undo/Redo** | Confirm dialogs only | Toast with undo for delete | Undo for all destructive | Full undo stack, Ctrl+Z support |104105#### 3e. Visual Design106107| Pattern | ❌ Missing | ⚠️ Basic | ✅ Good | 🚀 Excellent |108|---------|-----------|----------|---------|--------------|109| **Visual Clarity** | Cluttered, many icons | Some organization | Clean, purposeful layout | Typography-driven, color = status only |110| **Context > Settings** | Actions in settings page | Actions in dropdown menu | Actions visible on hover | Inline actions, contextual toolbars |111| **Information Density** | Too sparse or too dense | Acceptable density | Scannable, grouped info | Progressive disclosure, smart truncation |112113### Step 4: Cross-Reference with Spec114115If spec documents are available, verify:1161171. **Keyboard flows documented** — spec mentions keyboard shortcuts and navigation1182. **Inline editing specified** — design prefers inline over modal where appropriate1193. **Performance requirements** — response time and optimistic UI mentioned1204. **Command palette integration** — new actions registered in command palette121122### Step 5: Generate UX Review Report123124Present a structured report:125126```markdown127# UX Review: [Feature Name]128129**Scope:** [What was reviewed — spec docs, files, branch diff]130**UX Maturity:** [🚀 Pro-tool / ✅ Good / ⚠️ Basic / ❌ Needs Work]131132---133134## Efficiency-First Assessment135136### Command & Control137| Pattern | Level | Evidence |138|---------|-------|----------|139| Command Palette | [emoji] | [What was found] |140| Keyboard Shortcuts | [emoji] | [What was found] |141| Focus Management | [emoji] | [What was found] |142143### Editing & Data Entry144| Pattern | Level | Evidence |145|---------|-------|----------|146| Inline Editing | [emoji] | [What was found] |147| Strong Defaults | [emoji] | [What was found] |148| Form Efficiency | [emoji] | [What was found] |149150### Navigation & Context151| Pattern | Level | Evidence |152|---------|-------|----------|153| Minimal States | [emoji] | [What was found] |154| Search-First | [emoji] | [What was found] |155| List-Centric | [emoji] | [What was found] |156157### Feedback & Performance158| Pattern | Level | Evidence |159|---------|-------|----------|160| Optimistic UI | [emoji] | [What was found] |161| Response Time | [emoji] | [What was found] |162| Undo/Redo | [emoji] | [What was found] |163164### Visual Design165| Pattern | Level | Evidence |166|---------|-------|----------|167| Visual Clarity | [emoji] | [What was found] |168| Context > Settings | [emoji] | [What was found] |169| Information Density | [emoji] | [What was found] |170171---172173## 🔴 Critical Issues174175> Blocks keyboard users or forces unnecessary navigation176177### [Issue Title]178**Pattern violated:** [Which efficiency pattern]179**Location:** `path/to/component.tsx`180181[What the user experiences and why it slows them down]182183**Fix:** [Specific recommendation]184185---186187## 🟠 Friction Points188189> Slows down power users190191- **[Location]** — [What's slow and why]192- **[Location]** — [What's slow and why]193194---195196## 🟡 Polish Opportunities197198> Would elevate to pro-tool level199200- [Opportunity 1]201- [Opportunity 2]202203---204205## ✅ What's Already Great206207- [Positive finding 1]208- [Positive finding 2]209210---211212## Edge Cases213214| Scenario | Status | Notes |215|----------|--------|-------|216| Empty state | [emoji] | [Has CTA? Keyboard accessible?] |217| Error state | [emoji] | [Dismissible? Undo available?] |218| Loading state | [emoji] | [Skeleton? Optimistic?] |219| Bulk operations | [emoji] | [Keyboard select? Batch actions?] |220221---222223## Quick Wins224225> Low effort, high impact improvements2262271. [ ] [Quick win 1]2282. [ ] [Quick win 2]2293. [ ] [Quick win 3]230231---232233## Summary234235| Category | Score |236|----------|-------|237| Command & Control | [X/3 patterns at Good+] |238| Editing & Data Entry | [X/3 patterns at Good+] |239| Navigation & Context | [X/3 patterns at Good+] |240| Feedback & Performance | [X/3 patterns at Good+] |241| Visual Design | [X/3 patterns at Good+] |242| **Overall** | [X/15 patterns at Good+] |243```244245### Step 6: Offer Next Steps246247After presenting the report, offer actions:2482491. **Add keyboard shortcuts** — help implement missing shortcuts2502. **Convert to inline editing** — refactor modals to inline patterns2513. **Add to command palette** — register new actions in ⌘K2524. **Implement optimistic UI** — add optimistic updates for slow operations2535. **Re-review** — run the review again after changes254255## Severity Levels256257| Level | Criteria | Examples |258|-------|----------|----------|259| 🔴 Critical | Keyboard users blocked; forced full-page navigation for simple actions | No keyboard access to primary action; modal required for single-field edit |260| 🟠 Friction | Power users slowed down; inconsistent with app patterns | Missing shortcut for frequent action; spinner where optimistic would work |261| 🟡 Polish | Good but not pro-level; minor efficiency gains possible | Could add to command palette; could show undo toast |262263## Arguments264265- `$ARGUMENTS` - Spec name, file paths, or review scope266 - `<spec-name>` — review UX based on spec documents and related code267 - `<file-path>` — review UX of specific files or directories268 - `branch` — review UX of all changes on current branch vs main269270Examples:271- `review:ux user-auth` — review UX for the user-auth feature spec272- `review:ux src/pages/settings/` — review UX of the settings pages273- `review:ux branch` — review UX of all UI changes on the current branch274275---276> Source: [ikatsuba/skills](https://github.com/ikatsuba/skills) — distributed by [TomeVault](https://tomevault.io).277<!-- tomevault:4.0:skill_md:2026-06-04 -->