← ClaudeAtlas

flutter-ux-gatelisted

Run a Flutter UI slice's visual and accessibility checks, returning findings in vwf's UX-gate vocabulary. Invoked by vwf's `execute-ux-reviewer` for a project whose stack this plugin owns — not a general-purpose skill.
virajp/ai-plugins · ★ 1 · Web & Frontend · score 78
Install: claude install-skill virajp/ai-plugins
# flutter-ux-gate vwf's `execute-ux-reviewer` knows a UI slice must have its screens rendered and scanned. It does not know how. This skill is the how, for a Flutter project. > **`invocation` must stay `both`.** A `user` skill is removed from the model's > context entirely and cannot be invoked by vwf — and the failure is silent, not > an error. vwf would see no gate and report `rendered: n/a` forever. ## Inputs The reviewer passes the slice, the changed screens, the path to `docs/blueprint/design-system.md`, and the flow's Screens contract. You run the checks. **You do not judge** — conformance against the design system is the reviewer's call, and duplicating it here would produce two verdicts that can disagree. ## What to do A Flutter surface is checked as **tests**, headless. Never boot a simulator interactively. 1. **Visual** — run the project's golden tests (`flutter test --tags golden`, or whatever the repo's canonical task is; read its task list rather than assuming). Point the reviewer at the failure images the runner writes on a diff. **A changed screen with no golden at all is not a pass.** Report it as a finding, so it reaches vwf as a spec gap rather than as silence. 2. **Accessibility** — run `flutter_test`'s accessibility guidelines: `meetsGuideline(textContrastGuideline)`, `meetsGuideline(androidTapTargetGuideline)`, `meetsGuideline(iOSTapTargetGuideline)` and `meetsGuideline(labeledTapTargetGuideline)`. A failed guideline is