write-maestro-flowlisted
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