← ClaudeAtlas

verify-ui-actionslisted

Verify that interactive UI actions actually DO something - not just that the page renders. Use this whenever you add or fix a button, form, menu item, drag action, or any control that triggers a write/navigation/state change; whenever a user reports "I clicked X and nothing happened" / "it's not working" / "didn't save"; and as the UI layer of any QA pass. Guards against shipping controls that render fine but are inert (no handler), or handlers that swallow failures.
idankars/super-design · ★ 0 · Web & Frontend · score 72
Install: claude install-skill idankars/super-design
# Verify UI actions actually work ## The trap this prevents **"Renders" is not "works."** An HTTP 200, a passing build, green unit tests, an accessibility snapshot, and even a screenshot all prove the page *loaded*. None of them prove a button *does anything*. A `<button>` with no `onClick` renders pixel-perfect and is completely dead. Canonical failure: a review workspace shipped a **Reject** button — plus Advance / Schedule / Message — as `<button type="button">` with **no handler at all**. Clicking did nothing. It passed ESLint, `tsc`, the unit suite, and a 200 smoke-check, because the *page* was fine. A change that added an "Archive" tab + counts was even built on top of reject "working" and declared done — verified by fetching route HTML (200) and never once clicking the button. The user's report: *"the user rejected someone and nothing happened."* The lesson: **if a turn's deliverable is a user action, the verification must exercise that action and assert the resulting state change.** If you literally cannot, you must say so out loud instead of implying it works. ## Do this — every time you touch an interactive control ### 1. Static check: no dead controls Run the scanner (it flags `<button>`s with an action label but no `onClick` / `type="submit"` / forwarded handler): ``` node scripts/find-dead-controls.mjs src --strict ``` If the repo has no `scripts/find-dead-controls.mjs`, use the copy bundled with this skill: ``` node ~/.claude/skills/verify-ui-actions/sc