Black-Box Experience Review
Core Principle
The app is a black box: evidence comes from observable behavior, never from source-code assumptions.
When to Use
Use when an app must be checked before shipping or after changes, and the
question is whether real users can complete real work across happy paths and
failure paths. The app is a black box: evidence comes from observable behavior,
never from source-code assumptions.
When NOT to use
- Mapping journeys and seams first -> app-experience-mapping
- Screen-level UI review -> ux-review
- Visual styling or design tokens -> design-taste-frontend / design-system-audit
Workflow
- Functional round: walk each core journey end to end; the next action must be discoverable at every step.
- Adversarial round: break each seam (unauthorized access, expired sessions, offline start, network loss mid-task, partial input, destructive actions without confirmation).
- Coverage gaps: sweep every journey at narrow viewport and across channels.
- State checks at every seam: loading, empty, partial, error, success.
- Persistence and resumability: interrupted tasks resume where they stopped.
- Handoffs and channels: return path works, partial failures recover, no state lost in transit.
- Rate severity (Critical/Major/Minor/Enhancement) and issue the verdict: Pass, Needs Improvement, or Fail.
Source-code independence
Do not infer behavior from code. Drive the app as a user and record what is
observable: screens, controls, states, timing, messages, and recovery paths.
Use the platform's browser or runtime tools (browser-tools, playwright,
chrome-devtools) with no external testing service or credentials.
Review rounds
- Functional: map core journeys (entry, action, feedback, completion) and
walk each end to end. The next action must be discoverable at every step.
- Adversarial: break each seam. Unauthorized access, expired sessions,
revoked roles, shared links, offline start, network loss mid-task,
partial input, invalid data, missing routes, cancelled external handoffs,
and destructive actions without confirmation.
- Coverage gaps: sweep every journey at narrow viewport and across channels
(web, mobile, desktop, CLI, API where applicable), checking navigation,
back behavior, and dead ends.
State checks
At every seam verify loading, empty, partial, error, and success states.
Failures must preserve user input, explain the problem in plain language,
offer retry or recovery, and never expose technical errors. Loading must not
cause layout shift; success must not be silent.
Persistence and resumability
Fill a form halfway, navigate away, and return: input must survive or be
restored with a clear path. Interrupt a task (background, refresh, app
switch): the session must resume where it stopped, and an expired session
must return the user to the interrupted location after sign-in.
Handoffs and channels
For every external handoff (payments, OAuth, file pickers, deep links,
notifications, background jobs) verify: the user is told what is happening,
the return path works, partial failures recover, and no state is lost in
transit. Check the same intent across channels for continuity.
Severity and verdict
Rate findings Critical (blocks the journey), Major (serious friction this
release), Minor (polish), Enhancement (backlog). Every finding carries
evidence: screen, control, step, observed behavior, console or runtime
output, viewport width, exact copy, and the user blocked. Verdict: Pass,
Needs Improvement, or Fail. Any Critical finding makes the verdict Fail.
Red Flags
- Failures that lose user input.
- Technical errors exposed to users.
- Silent success or layout shift on loading.
- Findings without evidence.
- Any Critical finding with a verdict other than Fail.
Verification
Every finding carries evidence: screen, control, step, observed behavior, console or runtime output, viewport width, exact copy, and the user blocked. Verdict Pass/Needs Improvement/Fail; any Critical finding makes the verdict Fail.
References
N/A, no reference files; this skill is self-contained.
1---2name: black-box-experience-review3description: Use when reviewing an app as a black box for observable experience failures across journeys, seams, states, and recovery before shipping or after changes.4license: MIT5---67# Black-Box Experience Review89## Core Principle1011The app is a black box: evidence comes from observable behavior, never from source-code assumptions.1213## When to Use1415Use when an app must be checked before shipping or after changes, and the16question is whether real users can complete real work across happy paths and17failure paths. The app is a black box: evidence comes from observable behavior,18never from source-code assumptions.1920## When NOT to use2122- Mapping journeys and seams first -> app-experience-mapping23- Screen-level UI review -> ux-review24- Visual styling or design tokens -> design-taste-frontend / design-system-audit2526## Workflow27281. Functional round: walk each core journey end to end; the next action must be discoverable at every step.292. Adversarial round: break each seam (unauthorized access, expired sessions, offline start, network loss mid-task, partial input, destructive actions without confirmation).303. Coverage gaps: sweep every journey at narrow viewport and across channels.314. State checks at every seam: loading, empty, partial, error, success.325. Persistence and resumability: interrupted tasks resume where they stopped.336. Handoffs and channels: return path works, partial failures recover, no state lost in transit.347. Rate severity (Critical/Major/Minor/Enhancement) and issue the verdict: Pass, Needs Improvement, or Fail.3536## Source-code independence3738Do not infer behavior from code. Drive the app as a user and record what is39observable: screens, controls, states, timing, messages, and recovery paths.40Use the platform's browser or runtime tools (browser-tools, playwright,41chrome-devtools) with no external testing service or credentials.4243## Review rounds44451. Functional: map core journeys (entry, action, feedback, completion) and46 walk each end to end. The next action must be discoverable at every step.472. Adversarial: break each seam. Unauthorized access, expired sessions,48 revoked roles, shared links, offline start, network loss mid-task,49 partial input, invalid data, missing routes, cancelled external handoffs,50 and destructive actions without confirmation.513. Coverage gaps: sweep every journey at narrow viewport and across channels52 (web, mobile, desktop, CLI, API where applicable), checking navigation,53 back behavior, and dead ends.5455## State checks5657At every seam verify loading, empty, partial, error, and success states.58Failures must preserve user input, explain the problem in plain language,59offer retry or recovery, and never expose technical errors. Loading must not60cause layout shift; success must not be silent.6162## Persistence and resumability6364Fill a form halfway, navigate away, and return: input must survive or be65restored with a clear path. Interrupt a task (background, refresh, app66switch): the session must resume where it stopped, and an expired session67must return the user to the interrupted location after sign-in.6869## Handoffs and channels7071For every external handoff (payments, OAuth, file pickers, deep links,72notifications, background jobs) verify: the user is told what is happening,73the return path works, partial failures recover, and no state is lost in74transit. Check the same intent across channels for continuity.7576## Severity and verdict7778Rate findings Critical (blocks the journey), Major (serious friction this79release), Minor (polish), Enhancement (backlog). Every finding carries80evidence: screen, control, step, observed behavior, console or runtime81output, viewport width, exact copy, and the user blocked. Verdict: Pass,82Needs Improvement, or Fail. Any Critical finding makes the verdict Fail.8384## Red Flags8586- Failures that lose user input.87- Technical errors exposed to users.88- Silent success or layout shift on loading.89- Findings without evidence.90- Any Critical finding with a verdict other than Fail.9192## Verification9394Every finding carries evidence: screen, control, step, observed behavior, console or runtime output, viewport width, exact copy, and the user blocked. Verdict Pass/Needs Improvement/Fail; any Critical finding makes the verdict Fail.959697## References9899N/A, no reference files; this skill is self-contained.