flutter-ux-gatelisted
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