About maestro-e2e
maestro-e2e is a skill reference for developers creating or debugging Maestro end-to-end, UI, and integration tests. Its guidance is organized around core commands, platform-specific rules, and advanced test patterns.
Key features
- 01Write Maestro YAML tests
- 02Target UI elements and assert states
- 03Handle permission dialogs and platform differences
- 04Reuse subflows and configure conditions
- 05Debug tests and inspect UI hierarchy
- 06Set up screenshots, recordings, and CI
Use cases
- 01Test login, registration, and navigation flows
- 02Verify camera or location permission dialogs
- 03Investigate flaky UI test failures
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ raphaelbarbosaqwerty/ maestro-dev-skills --skill maestro-e2eAfter installing, type/maestro-e2ein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
LICENSEREADME.mdpackage.jsonrules/assertions.mdci-integration.mddebugging.mdinstallation.mdpermissions.mdcommands.mdbest-practices.mdinteractions.mdscreenshots.mdselectors.mdtest-structure.mdrules/advanced/parameters.mdconditions.mdjavascript.mdnested-flows.mdwaiting.mdrepeat-retry.mdrules/platforms/ios.mdandroid.mdflutter.mdweb.mdreact-native.mdDetails
From the project READMEWhen to use
Use this skill whenever you are:
- Creating E2E, UI, or integration tests
- Testing login, registration, or navigation flows
- Handling permission dialogs (camera, location, notifications)
- Debugging test failures or exploring UI hierarchy
- Working with Maestro test files (.yaml)
Captions
When dealing with native permission dialogs, load the ./rules/permissions.md file for platform-specific information.
When working with Flutter apps, load the ./rules/platforms/flutter.md file for Semantics patterns.
How to use
Read individual rule files for detailed explanations and code examples:
Core
- rules/installation.md - Installing Maestro on macOS, Linux, and Windows
- rules/test-structure.md - YAML test structure, appId, env variables, and flow definition
- rules/commands.md - Complete reference of 40+ Maestro commands
- rules/selectors.md - Element targeting with id, text, index, and matchers
- rules/assertions.md - assertVisible, assertNotVisible, assertTrue, and AI assertions
- rules/interactions.md - tapOn, inputText, scroll, swipe, and gesture commands
- rules/permissions.md - iOS vs Android permission configuration and dialog handling
Platforms
- rules/platforms/android.md - Android-specific: ADB, permission dialogs, emulators
- rules/platforms/ios.md - iOS-specific: auto-dismiss dialogs, simulators, limitations
- rules/platforms/flutter.md - Flutter integration using Semantics and identifier
- rules/platforms/react-native.md - React Native with testID and accessibilityLabel
- rules/platforms/web.md - Desktop browser testing with Chromium
Advanced
- rules/advanced/parameters.md - Environment variables, external params, ${} syntax
- rules/advanced/conditions.md - Conditional execution with when: visible, platform
- rules/advanced/nested-flows.md - Reusable subflows with runFlow command
- rules/advanced/javascript.md - evalScript, runScript, and GraalJS support
- rules/advanced/waiting.md - extendedWaitUntil, waitForAnimationToEnd
- rules/advanced/repeat-retry.md - Repeat and retry patterns for flaky tests
Additional
- rules/debugging.md - Maestro Studio, hierarchy inspection, troubleshooting
- rules/screenshots.md - Screenshots, video recording, and visual evidence
- rules/ci-integration.md - GitHub Actions, GitLab CI, Maestro Cloud
- rules/best-practices.md - Semantic identifiers, atomic tests, project structure
Comments
Markdown supported