Validate a UX spec, HUD design or pattern library — accessibility, GDD alignment, readiness. APPROVED / NOT ASSESSED / NEEDS REVISION / MAJOR REVISION NEEDED.
60
76%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.claude/skills/ux-review/SKILL.md!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys workflow
Resolved above — use as-is. No block → defaults in
.claude/docs/config-resolution.md.
Validates UX design documents before they enter the implementation pipeline.
Acts as the quality gate between UX Design and Visual Design/Implementation in
the /team-ui pipeline.
Run this skill:
/ux-designui-programmer or art-directorVerdict levels:
NOT ASSESSED ranks above APPROVED and below the two revision verdicts. A
review that could not evaluate a dimension has not shown the spec is
implementation-ready; but a gap somebody found is more actionable than one nobody
could look for, so it must not displace them. Emit it when the spec file cannot
be read, when a checklist dimension has no source of truth to compare against, or
when the accessibility tier is uncommitted (below).
/ux-review design/ux/inventory.md): validate
that one documentall: find all files in design/ux/ and validate eachhud: validate design/ux/hud.md specificallypatterns: validate design/ux/interaction-patterns.md specificallyFor all, output a summary table first (file | verdict | primary issue) then
full detail for each.
Which checklist a file gets (a file path, or each file under all): its
> **Template**: header line, which /ux-design writes — UX Spec → Phase 3A,
HUD Design → 3B, Interaction Pattern Library → 3C. A file without that line
is classified by name — hud.md → 3B, interaction-patterns.md → 3C, anything
else → 3A — and the report says which checklist it assumed, and why.
Before validating any spec, load:
platform block from project.yaml
(platform.targets, platform.primary_input, platform.gamepad_support,
platform.touch_support); if project.yaml has no platform block, fall
back to the ## Input & Platform section of
.claude/docs/technical-preferences.md. For the set of supported input
methods: when reading from project.yaml, derive it — keyboard/mouse if
PC or Web is in targets; gamepad if gamepad_support is Full or
Partial; touch if touch_support is Full or Partial; plus primary_input.
When falling back to technical-preferences.md, use its explicit Input
Methods field instead. This is the authoritative source for the Input Method
Coverage checks in Phase 3A — not the spec's own header. If neither source is
configured, fall back to the spec header.design/accessibility-requirements.md
(if it exists)design/ux/interaction-patterns.md (if
it exists)design/player-journey.md (if it exists) for
context-arrival validationRun all checks against a ux-spec.md-based document.
Player Need Clarity
Completeness of States
Input Method Coverage
Data Architecture
Accessibility
accessibility-requirements.md is matched or exceededGDD Alignment
Pattern Library Consistency
Localization
Acceptance Criteria Quality
Run all checks against a hud-design.md-based document.
design/gdd/systems-index.md with UI category have
representation in HUD (or justified absence)## UX Review: [Document Name]
**Date**: [date]
**Reviewer**: ux-review skill
**Document**: [file path]
**Checklist**: [3A / 3B / 3C — from its Template line, or assumed from the file name]
**Platform Target**: [from header]
**Accessibility Tier**: [from header or accessibility-requirements.md]
### Completeness: [X/Y sections present]
- [x] Purpose & Player Need
- [ ] States & Variants — MISSING: error state not documented
### Quality Issues: [N found]
1. **[Issue title]** [BLOCKING / ADVISORY]
- What's wrong: [specific description]
- Where: [section name]
- Fix: [specific action to take]
### GDD Alignment: [ALIGNED / GAPS FOUND]
- GDD [name] UI Requirements — [X/Y requirements covered]
- Missing: [list any uncovered GDD requirements]
### Accessibility: [COMPLIANT / GAPS / NON-COMPLIANT / NOT ASSESSED]
- Target tier: [tier]
- [list specific accessibility findings]
> **If `design/accessibility-requirements.md` is absent there is no committed
> tier, so this dimension has no criterion.** Report
> `Accessibility: NOT ASSESSED — no committed tier (design/accessibility-requirements.md absent)`
> and do NOT report it as COMPLIANT — a gate compared against an absent standard
> passes the way an assertion that can never fail passes. The same rule lives in
> `/team-ui` Phase 4 and is mirrored here so the two cannot drift. If the spec's own
> header states a tier, carry it forward as an **assumption** and say plainly that
> it was assumed rather than committed. Recommend `/ux-design accessibility` to
> establish the tier.
### Pattern Library: [CONSISTENT / INCONSISTENCIES FOUND / N/A]
- [findings]
> **For a HUD design there is no Pattern Library checklist to run it against (Phase 3B has none), so Pattern Library is N/A, excluded from the dimension count.**
> Report `Pattern Library: N/A — no pattern library checklist for this document
> type`.
>
> For a UX spec, this dimension does have a checklist — it is checked against
> `design/ux/interaction-patterns.md`. If that file is absent: N/A only where
> the workflow tier does not require the library (`minimal`) — report
> `Pattern Library: N/A — interaction pattern library not required at this
> tier`. At any tier that requires or recommends it (`standard`, `full`), report
> `Pattern Library: NOT ASSESSED — design/ux/interaction-patterns.md not found`
> instead: the library is missing, not out of scope, and NOT ASSESSED counts it
> against the verdict as the unresolved item it is.
### Verdict: APPROVED / NOT ASSESSED / NEEDS REVISION / MAJOR REVISION NEEDED
**Blocking issues**: [N] — must be resolved before implementation
**Advisory issues**: [N] — recommended but not blocking
**Dimensions not assessed**: [N] — [name each, and what would make it checkable]
[For APPROVED]: This spec is ready for handoff to `/team-ui` Phase 2
(Visual Design).
[For NOT ASSESSED]: [N] of the four review dimensions could not be evaluated:
[name them]. The spec may well be sound — this review cannot say either way for
those dimensions. [For each: the one input that would make it checkable.]
Handoff to `/team-ui` is not recommended on this result.
[For NEEDS REVISION]: Address the [N] blocking issues above, then re-run
`/ux-review`.
[For MAJOR REVISION NEEDED]: The spec has fundamental gaps in [areas].
Recommend returning to `/ux-design` to rework [sections].This skill is READ-ONLY — it never edits or writes files. It reports findings only.
After delivering the verdict:
/team-ui to begin implementation coordination/ux-design accessibility for an uncommitted tier, the GDD path
for absent UI requirements). Do not re-run the review against the same missing
inputs and report a different verdict — only new inputs change this one/ux-design with the
specific sections to reworkNever block the user from proceeding — the verdict is advisory. Document risks, present findings, let the user decide whether to proceed despite concerns. A user who chooses to proceed with a NEEDS REVISION spec takes on the documented risk.
b21fa0f
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.