← ClaudeAtlas

qa-featurelisted

Run the QA gate on a finished feature before it can be called done — map every acceptance criterion to a passing test or flow, then walk the happy, failure and edge matrix covering states, input, network, navigation, accessibility, theming and localization. Use at the end of every feature, before opening a PR, and when reviewing someone else's.
NarekManukyan/flutter-mobx-kit · ★ 0 · Testing & QA · score 70
Install: claude install-skill NarekManukyan/flutter-mobx-kit
# QA gate Governed by [ADR-0015](../../../docs/adr/0015-mandatory-test-coverage-and-qa-gate.md). This is the exit criterion of the delivery loop ([ADR-0016](../../../docs/adr/0016-plan-first-delivery-workflow.md)). A feature that has not passed this gate is not done, regardless of how complete the diff looks. ## Step 1 — AC traceability Take the AC checklist from the plan. Every line gets a row, and every row names a **specific file** that proves it. | AC | Proof | Status | |---|---|---| | AC1 tapping + opens the modal | `.maestro/flows/home/home_add_todo_happy.yaml` | ✅ passing | | AC2 non-empty title creates the todo | `home_store_test.dart` + happy flow | ✅ passing | | AC3 empty title shows inline error | `add_todo_modal_state_test.dart` | ✅ passing | | AC4 5xx keeps modal open with retry | `home_add_todo_failure.yaml` | ❌ missing | "Manually verified" is not a proof. An AC with no automated proof is an open item; list it and say so plainly rather than marking the gate passed. ## Step 2 — the three categories ### Happy - [ ] The primary journey completes end to end on a device. - [ ] The success state is visibly distinct — the user can tell it worked. - [ ] Data persists across a kill-and-relaunch where the AC implies it should. ### Failure - [ ] **Server 5xx** → recoverable error surface, spinner stopped, retry actually re-runs the request. - [ ] **Server 4xx** (validation, conflict) → the specific message, not the generic one. - [ ] **Expired / missing auth** →