maestrolisted
Install: claude install-skill tuannv14/claude-team-toolkit
# /maestro — mobile E2E (YAML, multi-env)
Wraps `maestro test`. Profiles = device + app build per environment.
Profile resolution: `--profile` → `MAESTRO_PROFILE` → `~/.maestro/active_profile` → `[default]`.
## Overview
Wraps `maestro test` for mobile E2E. Flows are declarative YAML — testers can read/write them without coding. Profiles bind a device + app build per environment. Includes flaky-test detection across multiple JUnit runs.
## When to Use
- Mobile E2E flows on iOS / Android / React Native
- Recording new flows interactively (no coding required)
- Inspecting accessibility hierarchy to find selectors
- Detecting flaky tests across multiple runs (JUnit XML diff)
- Cloud-based device farm runs (Maestro Cloud)
## When NOT to Use
- Pure unit / component tests → Jest / JUnit, not E2E
- Non-mobile (web, desktop) → wrong tool
- Performance / load tests → use k6 or Detox
- Personal phones (Maestro can hit any UI element including OS dialogs — dedicated test devices only)
## Dependencies
```bash
curl -Ls "https://get.maestro.mobile.dev" | bash # macOS / Linux
# Windows: scoop install maestro (or use WSL)
maestro --version
```
iOS: Xcode + simulator. Android: Android Studio + emulator.
## Profile config
`~/.maestro/profiles.ini` (mode 600 — may contain Cloud key):
```ini
[default]
platform = ios # ios | android
device = iPhone 15
app_id = com.example.app
flows_dir = .maestro
[android-emu]
platform = android
device = Pixel_7_API_34