npx skills add ...
npx skills add donchitos/claude-code-game-studios --skill ux-design
Section-by-section UX spec authoring for a screen, flow or HUD. Reads the player journey to provide context; also project-wide accessibility.
npx skills add donchitos/claude-code-game-studios --skill ux-design
!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation,workflow,docs.density
Resolved above — use as-is. No block → defaults in
.claude/docs/config-resolution.md.
When this skill is invoked:
Every AskUserQuestion call follows .claude/docs/automation-modes.md
(collaborative asks always · guided major-only · autonomous logs and proceeds;
automation_always_ask categories always prompt).
Authoring guidance: the skeletons below are self-contained — author from them directly. When a section needs depth (worked examples, pattern catalogs, accessibility criteria), the matching guide has it:
| Producing | Guide |
|---|---|
| UX spec | .claude/docs/templates/guidance/ux-spec-guide.md |
| HUD design | .claude/docs/templates/guidance/hud-design-guide.md |
| Interaction patterns | .claude/docs/templates/guidance/interaction-pattern-library-guide.md (routes to three topic files) |
| Accessibility requirements | .claude/docs/templates/guidance/accessibility-requirements-guide.md |
Load a guide per-section, never whole — each is organised by section and the pointers in the templates name the exact section to read.
workflow (see .claude/docs/workflow-modes.md):
full — a UX spec is required per screen.standard — core screens only (main menu, HUD, primary game loop).minimal — not required. Can still be run voluntarily.docs.density — it controls per-section depth, where workflow
controls which screens are specced. modes.rigor sets both together; set
docs.density explicitly to vary depth alone: terse (the default, via rigor: minimal) = wireframe descriptions +
interaction bullets; balanced = wireframes + paragraph descriptions of flows
(rigor: standard); thorough = full prose including user-research summaries and
alternative flow considerations. Apply it to every section you author.
Four authoring modes exist based on the argument:
| Argument | Mode | Output file |
|---|---|---|
hud | HUD design | design/ux/hud.md |
patterns | Interaction pattern library | design/ux/interaction-patterns.md |
accessibility | Project-wide accessibility requirements | design/accessibility-requirements.md |
Any other value (e.g., main-menu, inventory) | UX spec for a screen or flow | design/ux/[argument].md |
| No argument | Ask the user | (see below) |
accessibilityis the only mode that writes outsidedesign/ux/. Its output is a project-wide standard the per-screen specs consult, not a spec for one screen —.claude/docs/workflow-catalog.yaml, the Pre-Production and Polish gates, and/architecture-reviewall checkdesign/accessibility-requirements.mdat that exact path. Do not "tidy" it underdesign/ux/: every one of those checks would stop matching, and the Technical Setup → Pre-Production gate would become unpassable again.
If no argument is provided, do not fail — ask instead. Use AskUserQuestion:
If the user selects "I'll name it" or types a screen name, normalize it to kebab-case
for the filename (e.g., "Main Menu" becomes main-menu).
Read references/2-gather-context.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
Read references/3-file-skeleton.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
Read references/4-authoring.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
Per-section authoring guidance lives in its own file per mode. When you reach Phase 4, read only the file matching the mode resolved in Section 1; never load the other two.
| Mode | Guidance file |
|---|---|
| UX Spec (screen or flow) | references/sections-ux-spec.md |
| HUD Design | references/sections-hud.md |
| Interaction Pattern Library | references/sections-patterns.md |
| Accessibility Requirements | .claude/docs/templates/guidance/accessibility-requirements-guide.md |
The accessibility guidance lives under
templates/guidance/rather than this skill'sreferences/because the template it documents (.claude/docs/templates/accessibility-requirements.md) is consumed by/ux-reviewand the gate files too. Same rule applies: load only the part covering the section you are authoring, never the whole file.
Apply docs.density (Section 1) to whatever that file tells you to author — it
controls the depth of each section, not which sections exist.
Read references/5-crossref-handoff.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
If the session is interrupted (compaction, crash, new session):
production/session-state/active.md — it records the current screen
and which sections are complete.design/ux/[filename].md — sections with real content are done;
sections with [To be designed] still need work.This is why incremental writing matters: every approved section survives any disruption.
This skill uses ux-designer as the primary agent (set in frontmatter). For
specific sub-topics, additional context or coordination may be needed:
| Topic | Coordinate with |
|---|---|
| Visual aesthetics, color, layout feel | art-director — UX spec defines zones; art defines how they look |
| Implementation feasibility (engine constraints) | ui-programmer — before finalizing component inventory |
| Gameplay data requirements | game-designer — when data ownership is unclear |
| Narrative/lore visible in the UI | narrative-director — for flavor text, item names, lore panels |
| Accessibility tier decisions | Recorded by this session (/ux-design accessibility; the user picks the tier) against the criteria accessibility-specialist defines and audits — consult it when a requirement's criterion is unclear |
When delegating to another agent via the Agent tool:
In collaborative mode (the default). For guided and autonomous modes,
see the per-mode rules in .claude/docs/automation-modes.md — the steps below
describe what collaborative mode requires, not what applies universally.
This skill follows the collaborative design principle at every step:
Aesthetic deference: When layout or visual choices come down to personal taste, present the options and ask. Do not select a layout because it is "standard" — always confirm. The user is the creative director.
Conflict surfacing: When a GDD requirement and the available screen real estate conflict, surface the conflict and present resolution options. Never silently drop a requirement. Never silently expand the layout without flagging it.
Never auto-generate the full spec and present it as a fait accompli. Never write a section without user approval. Never contradict an existing approved UX spec without flagging the conflict. Always show where decisions come from (GDD requirements, player journey, user choices).
Verdict: COMPLETE — UX spec written and approved section by section.
/ux-review [filename] to validate this spec before it enters the implementation pipeline/ux-design [next-screen] to continue designing remaining screens or flows/gate-check production once all key screens have approved UX specs