e2e-testing-mobile

Solid

Plans, generates, runs, and heals end-to-end tests for Expo and React Native mobile apps using Maestro (the 2026 standard for RN E2E, adopted by Meta, Microsoft, and DoorDash, and integrated with Expo via EAS Workflows). Drives a spec-first YAML-flow loop, proposes `testID` source diffs (never `accessibilityLabel` reuse), runs Maestro Cloud as an EAS job, and stays token-aware via `--shards`, `--retries`, and failure-only healing. Use for native flows in Expo / RN apps. Triggers on "test this RN flow", "add mobile e2e", "maestro flow", "expo e2e", "e2e for react native", "test the native app", "/e2e-testing-mobile". Defer to [`e2e-testing`](../e2e-testing/SKILL.md) for web flows and the WebView portion of hybrid apps.

Testing & QA 8 stars 2 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 84/100

Stars 20%
32
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# E2E Testing — Mobile (Expo / React Native) Drive native mobile end-to-end tests through Maestro and Maestro MCP. The user writes (or approves) a Markdown feature spec; an agent emits a Maestro YAML flow, runs it against a simulator or Maestro Cloud, and self-heals when locators drift. This is the **mobile** counterpart to [`e2e-testing`](../e2e-testing/SKILL.md). Anything orthogonal to native (web flows, WebViews inside a hybrid app) defers to that skill. The two skills compose; they do not overlap. > **This `SKILL.md` is a thin index.** > Decision rules live in [`rules/*.md`](./rules) and load on demand. > Worked references (Maestro CLI surface, MCP tool catalog, EAS Workflow > wiring, Detox legacy notes, mobile pyramid math) live in > [`references/*.md`](./references). > Literal boilerplate the skill emits lives in > [`templates/*.md`](./templates). > Do not preload everything — load only what the current phase asks for. --- ## When to use Reach for this skill when any of the following is true: - An Expo or React Native app needs E2E coverage of a native user flow. - A bug only repros across native navigation, deep links, push, permissions prompts, or a real device sensor. - A flake needs a Maestro heal pass instead of a manual locator hunt. - The repo has no `.maestro/` flows or EAS E2E build profile yet and needs Phase 0 setup. Do **not** reach for this skill when: - A unit or component test would catch the same bug — defer to [`tdd`](../../quality/tdd/SK...

Details

Author
mthines
Repository
mthines/agent-skills
Created
3 months ago
Last Updated
2 days ago
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

Testing & QA Solid

e2e-testing

Plans, generates, runs, and heals end-to-end tests using Playwright Test Agents (Planner, Generator, Healer) and the official `@playwright/mcp` server. Drives a spec-first feature-flow loop, proposes `data-testid` source diffs only when accessibility-tree locators fail, and stays token-aware via snapshot mode and `--last-failed` reruns. Use when adding E2E coverage, verifying a user journey, hardening a flaky flow, or wiring Playwright MCP into a repo. Triggers on "test this flow", "add e2e", "verify the user journey", "write e2e test", "feature test", "playwright agents", "/e2e-testing".

8 Updated 2 days ago
mthines
Testing & QA Listed

mobile-flows-maestro

Use this skill when writing or running Maestro flows for iOS or Android apps, driving the Maestro MCP server, diagnosing flaky mobile UI tests, or onboarding a new team to mobile e2e testing. Trigger whenever the user mentions Maestro, mobile e2e testing, iOS Simulator flows, Android emulator flows, "test my iOS app", "test my Android app", YAML test flows, GraalJS test scripting, assertVisible / tapOn / launchApp, deep links from tests, or "why is my Maestro test flaky". NOT for web, desktop, or backend testing — those have their own validators. Applies to Swift/SwiftUI, React Native, Flutter, Kotlin, Java, .NET MAUI, Ionic, and Capacitor apps. Prefer this skill over letting Claude write Maestro flows from scratch — Maestro YAML looks deceptively simple but has many platform-specific gotchas (GraalJS constraints, iOS Keychain persistence, ASWebAuthenticationSession system sheets, permission timing) that first-drafts get wrong.

11 Updated 3 weeks ago
johnkozaris
Testing & QA Listed

maestro

Use when running mobile E2E on React Native / iOS / Android, recording user flows, inspecting view hierarchy, or hunting flaky UI tests with Maestro. Multi-environment via MAESTRO_PROFILE.

1 Updated 3 days ago
tuannv14