visual-playtest · diff
git:20260810.cf963da to git:20260818.df52d11
36 added, 24 removed. Audit A to A.
---
name: visual-playtest
- description: Run a concise, evidence-backed browser playtest of a visual web app, especially image/video generation UIs. Use when asked to QA a deployed or local interface, find dead controls, verify media playback/download/expansion, check responsive scrolling and bottom spacing, audit generation settings, or compare a clone with a reference product.
+ description: Visually inspect a local or deployed site/app in a real browser and report concrete layout, responsive, or design regressions. Use when asked to visually check UI changes, reproduce a screenshot issue, compare a page with a reference, or playtest representative visual states. Do not use for code-only review or open-ended design ideation.
---
# Visual Playtest
- Use the Chrome control skill for real browser interaction, including existing logged-in sessions. Test the smallest safe path first; do not submit paid generations or destructive actions unless the user explicitly authorizes them. Prefer demo/starter assets and local builds for destructive or expensive checks.
+ Use the applicable browser-control skill. Match the effort to the request: a
+ static page review is not a full product certification.
- ## Pass
+ ## Choose the scope
- 1. Open the target at desktop and a narrow mobile viewport. Capture a DOM snapshot and screenshot before interacting.
- 2. Audit every control that looks clickable. Verify that each action changes visible UI, URL, focus, media state, or a persisted record; a click with no observable result is a bug.
- 3. Check the media loop: select image and video assets; play/pause with both the custom button and native controls; confirm a video has `paused === false` and `currentTime` advances; check error messaging; test expand/lightbox, Escape, backdrop close, overflow menu, copy/open/download, edit, animate, and delete confirmation.
- 4. Check navigation and workspace: controls panel open/close, sidebar collapse/mobile navigation, search, advertised keyboard shortcuts, history selection, access to every asset (not only the first eight), independent panel scrolling, and 24–40px bottom breathing room.
- 5. Check the composer and inspector: Enter submits, Shift+Enter inserts a newline, upload and URL references validate, reference counts/order are clear, required image/video inputs disable generation, workflow/model/settings changes update estimates, and clamped values are reflected in both the control and estimate.
- 6. At narrow widths, ensure overlays are opaque enough that the canvas does not bleed through, focus is inside dialogs, Escape works, and there is no horizontal overflow.
- 7. Run a trust-state pass: compare status badges, counts, connected-provider labels, approval targets, cost estimates, and completion claims against persisted/API state. A polished but false “connected,” “ready,” or “complete” state is a release bug. Verify every clickable control produces an observable result; inspect protected actions without executing them unless explicitly authorized.
+ Identify the few states that can materially change the result: named pages,
+ viewport ranges, theme, scroll position, navigation state, and persistent or
+ fixed UI. Reproduce the user's reported combination before exploring adjacent
+ states.
- ## Known regression checklist
+ Load additional guidance only when it is in scope:
- Always explicitly retest these recurring failures:
+ - Read [references/app-interactions.md](references/app-interactions.md) for
+ functional QA of controls, dialogs, panels, keyboard flows, or app workspaces.
+ - Read [references/media-workflows.md](references/media-workflows.md) for audio,
+ video, image-generation, asset-management, download, or media trust-state QA.
+ - Read neither reference for an ordinary static or content-site visual review.
- - Expand icon opens a real focused-media view rather than doing nothing.
- - Three-dot icon opens an accessible menu with useful actions and outside-click/Escape dismissal.
- - Desktop inspector close removes its layout footprint and pointer events; mobile close/reopen also works.
- - Asset counts match reachable thumbnails or provide a working “See all”/scroll path.
- - Downloads either produce a browser download or explain a same-origin/fallback path; never fail silently.
- - Video playback advances and errors are surfaced; opening a lightbox pauses any background video.
- - Delete is keyboard dismissible, focuses a safe dialog action, and updates selection/references/history coherently.
- - Connected/ready badges come from authoritative backend state, not demo copy or optimistic UI defaults.
- - Approval dialogs show the authoritative frozen target and payload; focus enters the dialog and Escape/backdrop dismissal work without performing the action.
- - Settings, icon-only, and decorative-looking controls are not dead: each changes URL, focus, visible state, or a persisted record.
- - Console checks come from a fresh tab or clean reload after edits. Separate reproducible application errors from stale HMR/development warnings.
+ Do not load both references automatically.
+ ## Core pass
+
+ 1. Open the target at one representative desktop width and one narrow mobile
+ width. Add tablet or unusual wide states only when the design or report makes
+ them material.
+ 2. Capture the reported state before changing anything. When verifying a fix,
+ compare the same URL, viewport, theme, scroll position, and persistent UI.
+ 3. Inspect the top, middle, and bottom of the page for overlap, clipping,
+ overflow, broken wrapping, weak hierarchy, unreadable contrast, awkward
+ empty space, and fixed UI covering content.
+ 4. Exercise only controls that create a visually distinct state or belong to
+ the requested flow. A visual review does not require auditing every control.
+ 5. Use a fresh reload for final screenshots and console checks so stale state
+ is not mistaken for a current defect.
+ 6. Stop when the named issue and its closest responsive variants are resolved.
+ Do not expand into unrelated product QA without evidence or a user request.
+
## Report
- Return a short severity-ranked table with: `control`, `repro`, `expected`, `observed`, `evidence`, and `smallest fix`. Separate observed facts from inference and label anything not tested because it would spend money, mutate data, grant access, or invoke a protected action. Include viewport(s), URL/build if available, which state claims were checked against authoritative data, and a final list of verified working paths. If comparing a reference product, record the reference behavior separately and recommend only concrete, subtle improvements that fit the clone.
+ Lead with the visual outcome. List observed defects by severity with the
+ viewport/state, evidence, and smallest useful fix. Separate observed facts from
+ inference and unavailable states. Use a table only when several defects benefit
+ from comparison; otherwise keep the report short.