← ClaudeAtlas

write-maestro-flowlisted

Write a Maestro E2E flow for a feature — the mandatory happy/failure/edge trio, file layout and naming, selecting by widget Key, waiting without sleeps, driving error states through the mock interceptor, subflows, tags, and running locally or in CI. Use when a feature is functionally complete and needs its end-to-end proof.
NarekManukyan/flutter-mobx-kit · ★ 0 · AI & Automation · score 70
Install: claude install-skill NarekManukyan/flutter-mobx-kit
# Write a Maestro flow Governed by [ADR-0015](../../../docs/adr/0015-mandatory-test-coverage-and-qa-gate.md). Every feature ships **three** categories of flow. Docs: https://docs.maestro.dev ## Layout and naming ``` .maestro/ config.yaml workspace config: appId, includeTags, flakiness retries common/ launch.yaml launch + clear state, reused by every flow login.yaml sign-in subflow flows/{feature}/ {feature}_{scenario}_happy.yaml {feature}_{scenario}_failure.yaml {feature}_{scenario}_edge.yaml ``` The category is in the filename so a directory listing shows immediately whether the trio exists. It is also a tag, so CI can run `--include-tags happy` on every PR and the full set nightly. ## The mandatory trio | Category | Proves | |---|---| | **happy** | the intended path completes and the success state is visible | | **failure** | server 5xx / expired auth / dropped network → a recoverable error, no crash, no permanent spinner | | **edge** | empty list, single item, max-length input, offline start, backgrounding mid-request, rapid double-tap on the primary action | One file per category minimum. A feature with only a happy flow is not done. ## Select by identifier, never by copy **A plain Flutter `Key` is invisible to Maestro.** Verified on device: a widget carrying only a `Key` appears in the hierarchy with an empty `resource-id`. What `id:` matches is the *native* accessi