Files
pixelheros/CCGS Skill Testing Framework/skills/team/team-ui.md
2026-05-15 14:52:29 +08:00

11 KiB

Skill Test Spec: /team-ui

Skill Summary

Orchestrates the UI team through the full UX pipeline for a single UI feature. Coordinates ux-designer, ui-programmer, art-director, the engine UI specialist, and accessibility-specialist through five structured phases: Context Gathering + UX Spec (Phase 1a/1b) → UX Review Gate (Phase 1c) → Visual Design (Phase 2) → Implementation (Phase 3) → Review in parallel (Phase 4) → Polish (Phase 5). Uses AskUserQuestion at each phase transition. Delegates all file writes to sub-agents and sub-skills (/ux-design, ui-programmer). Produces a summary report with verdict COMPLETE / BLOCKED and handoffs to /ux-review, /code-review, /team-polish.


Static Assertions (Structural)

  • Has required frontmatter fields: name, description, argument-hint, user-invocable, allowed-tools
  • Has ≥2 phase headings (Phase 1a through Phase 5 are all present)
  • Contains verdict keywords: COMPLETE, BLOCKED
  • Contains "May I write" or "File Write Protocol" — writes delegated to sub-agents and sub-skills, orchestrator does not write files directly
  • Has a next-step handoff at the end (references /ux-review, /code-review, /team-polish)
  • Error Recovery Protocol section is present with all four recovery steps
  • Uses AskUserQuestion at phase transitions for user approval before proceeding
  • Phase 4 is explicitly marked as parallel (ux-designer, art-director, accessibility-specialist)
  • UX Review Gate (Phase 1c) is defined as a blocking gate — skill must not proceed to Phase 2 without APPROVED verdict
  • Team Composition lists all five roles (ux-designer, ui-programmer, art-director, engine UI specialist, accessibility-specialist)
  • References the interaction pattern library (design/ux/interaction-patterns.md) — ui-programmer must use existing patterns
  • Phase 1a reads design/accessibility-requirements.md before design begins

Test Cases

Case 1: Happy Path — Full pipeline from UX spec through polish succeeds

Fixture:

  • design/gdd/game-concept.md exists with platform targets and intended audience
  • design/player-journey.md exists
  • design/ux/interaction-patterns.md exists with relevant patterns
  • design/accessibility-requirements.md exists with committed tier (e.g., Enhanced)
  • Engine UI specialist configured in .claude/docs/technical-preferences.md

Input: /team-ui inventory screen

Expected behavior:

  1. Phase 1a — orchestrator reads game-concept.md, player-journey.md, relevant GDD UI sections, interaction-patterns.md, accessibility-requirements.md; summarizes a brief for the ux-designer
  2. Phase 1b — /ux-design inventory-screen invoked (or ux-designer spawned directly); produces design/ux/inventory-screen.md using ux-spec.md template; AskUserQuestion confirms spec before review
  3. Phase 1c — /ux-review design/ux/inventory-screen.md invoked; returns APPROVED; gate passed, proceed to Phase 2
  4. Phase 2 — art-director spawned; reviews full UX spec (not only wireframes); applies visual treatment; verifies color contrast; produces visual design spec with asset manifest; AskUserQuestion confirms before Phase 3
  5. Phase 3 — engine UI specialist spawned first (read from technical-preferences.md); produces implementation notes for ui-programmer; ui-programmer spawned with UX spec + visual spec + engine notes; implementation produced; interaction-patterns.md updated if new patterns introduced
  6. Phase 4 — ux-designer, art-director, accessibility-specialist spawned in parallel; all three return results before Phase 5
  7. Phase 5 — review feedback addressed; animations verified skippable; UI sounds confirmed through audio event system; interaction-patterns.md final check; verdict: COMPLETE
  8. Summary report: UX spec APPROVED, visual design COMPLETE, implementation COMPLETE, accessibility COMPLIANT, all input methods supported, pattern library updated, verdict: COMPLETE

Assertions:

  • Phase 1a reads all five sources before briefing ux-designer
  • UX Review Gate checked before Phase 2 — Phase 2 does NOT begin until APPROVED
  • Art-director in Phase 2 reviews full spec, not just wireframe images
  • Engine UI specialist spawned before ui-programmer in Phase 3
  • Phase 4 agents launched simultaneously (ux-designer, art-director, accessibility-specialist)
  • All file writes delegated to sub-agents and sub-skills
  • Verdict COMPLETE in final summary report
  • Next steps include /ux-review, /code-review, /team-polish

Case 2: UX Review Gate — Spec fails review; skill halts before implementation

Fixture:

  • design/ux/inventory-screen.md produced by Phase 1b
  • /ux-review returns verdict NEEDS REVISION with specific concerns flagged (e.g., gamepad navigation flow incomplete, contrast ratio below minimum)

Input: /team-ui inventory screen

Expected behavior:

  1. Phase 1a + 1b complete — UX spec produced
  2. Phase 1c — /ux-review design/ux/inventory-screen.md returns NEEDS REVISION
  3. Skill does NOT advance to Phase 2
  4. AskUserQuestion presented with the specific flagged concerns and options:
    • (a) Return to ux-designer to address the issues and re-review
    • (b) Accept the risk and proceed to Phase 2 anyway (conscious decision)
  5. If user chooses (a): ux-designer revises spec, /ux-review re-run; loop continues until APPROVED or user overrides
  6. If user chooses (b): skill proceeds with an explicit NEEDS REVISION note in the final report
  7. Skill does NOT silently proceed past the gate

Assertions:

  • Phase 2 does NOT begin while UX review verdict is NEEDS REVISION
  • AskUserQuestion presents the specific flagged concerns before offering options
  • User must make a conscious choice to override — skill does not assume override
  • If user accepts risk, NEEDS REVISION concern is documented in the final report
  • Revision-and-re-review loop is offered (not just a one-shot failure)
  • Skill does NOT discard the produced UX spec on review failure

Case 3: No Argument — Usage guidance shown

Fixture:

  • Any project state

Input: /team-ui (no argument)

Expected behavior:

  1. Skill detects no argument provided
  2. Outputs usage message explaining the required argument (UI feature description)
  3. Provides an example invocation: /team-ui [UI feature description]
  4. Skill exits without spawning any subagents or reading any project files

Assertions:

  • Skill does NOT spawn any subagents when no argument is given
  • Usage message includes the argument-hint format from frontmatter
  • At least one example of a valid invocation is shown
  • No UX spec files or GDDs read before failing
  • Verdict is NOT shown (pipeline never starts)

Case 4: Accessibility Parallel Review — Phase 4 runs three streams simultaneously

Fixture:

  • design/ux/inventory-screen.md exists (APPROVED)
  • Visual design spec complete
  • Implementation complete
  • design/accessibility-requirements.md committed tier: Enhanced

Input: /team-ui inventory screen (resuming from Phase 3 complete)

Expected behavior:

  1. Phase 4 begins after implementation is confirmed complete
  2. Three Task calls issued simultaneously: ux-designer, art-director, accessibility-specialist
  3. Each stream operates independently:
    • ux-designer: verifies implementation matches wireframes, tests keyboard-only and gamepad-only navigation, checks accessibility features function
    • art-director: verifies visual consistency with art bible at minimum and maximum supported resolutions
    • accessibility-specialist: audits against the Enhanced accessibility tier in design/accessibility-requirements.md; any violation flagged as a blocker
  4. Skill waits for all three results before proceeding to Phase 5
  5. AskUserQuestion presents all three review results before Phase 5 begins

Assertions:

  • All three Task calls issued before any result is awaited (parallel, not sequential)
  • Phase 5 does NOT begin until all three Phase 4 agents have returned
  • Accessibility-specialist explicitly reads design/accessibility-requirements.md for the committed tier
  • Accessibility violations flagged as BLOCKING (not merely advisory)
  • AskUserQuestion shows all three review streams' results together before Phase 5 approval
  • No Phase 4 agent's output is used as input for another Phase 4 agent

Case 5: Missing Interaction Pattern Library — Skill notes the gap rather than inventing patterns

Fixture:

  • design/ux/interaction-patterns.md does NOT exist
  • All other required files present

Input: /team-ui settings menu

Expected behavior:

  1. Phase 1a — orchestrator attempts to read design/ux/interaction-patterns.md; file not found
  2. Skill surfaces the gap: "interaction-patterns.md does not exist — no existing patterns to reuse"
  3. AskUserQuestion presented with options:
    • (a) Run /ux-design patterns first to establish the pattern library, then continue
    • (b) Proceed without the pattern library — ux-designer will document new patterns as they are created
  4. Skill does NOT invent or assume patterns from other sources
  5. If user chooses (b): ui-programmer is explicitly instructed to treat all patterns created as new and to add each to a new design/ux/interaction-patterns.md at completion
  6. Final report notes that interaction-patterns.md was created (or is still absent if user skipped)

Assertions:

  • Skill does NOT silently ignore the missing pattern library
  • Skill does NOT invent patterns by guessing from the feature name or GDD alone
  • AskUserQuestion offers a "create pattern library first" option (referencing /ux-design patterns)
  • If user proceeds without the library, ui-programmer is told to treat all patterns as new
  • Final report documents pattern library status (created / absent / updated)
  • Skill does NOT fail entirely — the gap is noted and user is given a choice

Protocol Compliance

  • AskUserQuestion used at each phase transition — user approves before pipeline advances
  • UX Review Gate (Phase 1c) is blocking — Phase 2 cannot begin without APPROVED or explicit user override
  • All file writes delegated to sub-agents and sub-skills — orchestrator does not call Write or Edit directly
  • Phase 4 agents launched in parallel per skill spec
  • Error Recovery Protocol followed: surface → assess → offer options → partial report
  • Partial report always produced even when agents are BLOCKED
  • Verdict is one of COMPLETE / BLOCKED
  • Next steps present at end: /ux-review, /code-review, /team-polish

Coverage Notes

  • The HUD-specific path (/ux-design hud + hud-design.md template + visual budget check in Phase 5) is not separately tested here; it shares the same phase structure but uses different templates.
  • The "Update in place" path for interaction-patterns.md (new pattern added during implementation) is exercised implicitly in Case 1 Step 5 — a dedicated fixture with a known new pattern would strengthen coverage.
  • Engine UI specialist unavailable (no engine configured) — skill spec states "skip if no engine configured"; this path is asserted in Case 1 but not given a dedicated fixture.
  • The NEEDS REVISION acceptance-risk override (Case 2 option b) requires the override to be explicitly documented in the report; this is asserted but not further tested for downstream effects.