Skip to main content
Design/ux-validate

UX Validate

You need to validate designs through usability testing and polished handoff.

This is a skillset -- it chains /usability-test-plan -> /usability-findings -> /ux-writing -> /design-handoff in sequence. Each skill also works independently.

Use this when you have a prototype or shipped product and need to validate that it works, polish the copy, and hand off to engineering. Run at sprint end or after a release.


The chain

StepSkillWhat it produces
1/usability-test-planTest plan with task scenarios, success metrics, moderator guide, and observer briefing
2/usability-findingsSeverity-scored findings, task success metrics, and stakeholder summary
3/ux-writingInterface copy -- CTAs, error messages, empty states, tooltips, onboarding sequences
4/design-handoffAnnotated specs with behavior rules, responsive breakpoints, and a11y notes

When to use: Sprint end or after a release. Validates the experience and produces the handoff artifact.


How skills chain

  • /usability-test-plan defines what to test and how to measure it -> task scenarios and success criteria structure the sessions
  • /usability-findings synthesizes sessions into severity-scored issues -> findings inform what to fix and what copy to refine
  • /ux-writing refines interface copy based on findings -> polished copy is incorporated into the final handoff
  • /design-handoff compiles everything engineers need -> annotated specs attached to stories

What the designer does between stages

After...Designer decision
/usability-test-planRecruit participants, run the sessions, capture observer notes
/usability-findingsPrioritize with PM -- create stories for critical findings
/ux-writingIncorporate copy into designs, validate tone with stakeholders
/design-handoffWalk engineers through specs, answer questions during build

Related skills: Part of the ux-orbit recipe. Takes prototype input from /ux-craft. Usability findings feed back into /backlog-craft via the iteration orbit.

Example Output

Input

  • Product: Meridian Health — patient medication refill flow (iOS app), post-sprint prototype in Figma
  • Test focus: End-to-end refill task: locate a prescription, request a refill, confirm pharmacy selection, and receive confirmation
  • Participants: 6 recruited patients aged 45–70, mixed health literacy, 2 using assistive tech (VoiceOver)
  • Known risk areas: Pharmacy picker dropdown has 11 options with no search; confirmation screen copy tested poorly in hallway feedback; empty state when no refills are due is blank
  • Sprint context: Sprint 14 of 18, shipping to production in 3 weeks

Output (abbreviated)

/ux-validate — Meridian Health Medication Refill Flow


Step 1 — /usability-test-plan

Test Objectives

  1. Can patients locate an eligible prescription without guidance?
  2. Can patients complete pharmacy selection and submit a refill in under 90 seconds?
  3. Do VoiceOver users encounter blocking issues in the confirmation flow?

Task Scenarios

#Task PromptSuccess CriteriaTime Limit
T1"You need to refill your Metformin. Show me how you'd do that."Reaches refill request screen without backtracking60 sec
T2"Choose CVS on Main Street as your pickup pharmacy."Correct pharmacy selected and confirmed45 sec
T3"Confirm your refill and show me where you'd track its status."Reaches confirmation + taps status link30 sec

Success Metrics

  • Task completion rate: ≥ 85% per task
  • Error-free rate: ≥ 70% (no wrong taps or backtracking)
  • Time on task: Within defined limits above
  • UMUX-Lite score: ≥ 75/100

Moderator Guide (excerpt)

  • After T1: "Was anything unclear about how the list was organized?"
  • After T2: "How did you feel about the number of choices in that dropdown?"
  • Probe if participant hesitates > 10 seconds without acting.

Observer Briefing

Observers log timestamps, verbatim quotes, and facial/audio cues. Do not prompt. Flag any moment participant says "I'd just call the pharmacy" as a bailout signal.


Step 2 — /usability-findings

Task Success Summary

TaskCompletion RateError-Free RateAvg Timevs. Target
T1 — Locate Rx83% (5/6)50%74 sec⚠️ Below 85%
T2 — Select Pharmacy67% (4/6)33%61 sec🔴 Critical
T3 — Confirm + Status100% (6/6)83%22 sec✅ Pass

UMUX-Lite score: 68/100 — below target of 75.

Severity-Scored Findings

IDFindingSeverityFrequencyRecommended Fix
F1Pharmacy dropdown (11 items, no search) caused task abandonment for 2 users; 1 VoiceOver user couldn't navigate past item 7Critical — S14/6Replace with searchable list; add VoiceOver focus trap fix
F2"Medications" tab label misread as "Medical Records" by 3 participants — delayed T1 startHigh — S23/6Relabel tab; consider icon reinforcement
F3Confirmation screen copy ("Your request has been submitted") didn't communicate next steps; 4 users unsure if refill was approved or pendingHigh — S24/6Rewrite confirmation copy; add status timeline
F4Empty state when no refills are due shows blank white screen — 2 users thought app had crashedHigh — S22/6Design empty state with explanation copy and CTA
F5"Request Refill" CTA label caused hesitation — users expected "Order" or "Send"Medium — S33/6A/B test "Send Refill Request" vs. "Request Refill"

Stakeholder Summary

Two tasks failed target thresholds. The pharmacy picker is the single highest-risk item — it blocked 67% of users on T2 and generated a VoiceOver accessibility defect. Confirmation copy leaves patients uncertain about what happens next, which is a trust and safety concern for a clinical workflow. Recommend creating S1/S2 stories before production release.


Step 3 — /ux-writing

Revised Interface Copy

Tab Label

  • ❌ Before: Medications
  • ✅ After: My Meds (shorter, less clinical; pair with pill-bottle icon)

Request Refill CTA

  • ❌ Before: Request Refill
  • ✅ After: Send Refill Request
  • Rationale: "Send" maps to familiar mental model of sending a message; reduces hesitation.

Confirmation Screen

  • ❌ Before: Your request has been submitted.
  • ✅ After:

    Refill request sent to CVS Main Street Your pharmacist usually has it ready within 1–2 business days. We'll notify you when it's ready for pickup. [Track Refill Status →]

Empty State — No Refills Due

  • ❌ Before: (blank screen)
  • ✅ After:

    You're all set for now None of your prescriptions are due for a refill yet. We'll remind you 7 days before your next refill is needed. [View All Medications]

Error Message — Pharmacy Picker, No Selection Made

  • ✅ New: Please choose a pickup pharmacy to continue. You can search by name or zip code.

Tooltip — Refill Eligibility Badge

  • ✅ New: Eligible to refill means your insurance and prescription date allow a new fill today.`

VoiceOver Announcement — Confirmation

  • ✅ After form submit: "Refill request sent. CVS Main Street. Ready in 1 to 2 business days." (aria-live region, assertive)

Step 4 — /design-handoff

Component Specs

Pharmacy Picker — Searchable List (replaces dropdown)

PropertyValue
ComponentSearchableList
Input typeText search field + scrollable result list
Max visible rows5 (scroll for more)
Search triggersOn input, min 1 character, debounce 300ms
Empty search result"No pharmacies found. Try a different name or zip."
Default selectionLast used pharmacy, pre-highlighted
Keyboard navArrow keys cycle options; Enter selects; Escape closes
VoiceOverrole="listbox", each option role="option", selected state announced

Confirmation Screen Layout

ElementBehavior
HeadlineH1, bold, maps to TextStyle/Heading2
Status linePulls dynamic pharmacy name + estimated time from API response
Notification copyShown only if push permissions granted; hidden otherwise
Track status CTALinks to RxStatusView; deep-link param rx_id passed in URL
aria-live regionassertive, fires once on screen mount

Responsive Breakpoints

BreakpointBehavior
375px (iPhone SE)Pharmacy list rows increase to 48px tap target; search field full width
390px+Standard layout
LandscapeConfirmation card max-width 480px, centered

Accessibility Notes

  • Pharmacy picker focus trap: on open, focus moves to search field; on close, returns to trigger button
  • Minimum tap target: 44×