Maestro Mobile Testing
ListedHelps with mobile development, testing as part of testing, debugging, and quality assurance workflows.
Install on your platform
Showing Claude Code. One command installs this skill into any of the agents below.
- 1
Run this in your project
terminal$ npx skills add tovimx/maestro-mobile-testing-skill --skill maestro-mobile-testing -a claude-code Uses the open-source
skillsCLI and needs Node.js. Add-gto install it for your user instead of this project.
What we know about this skill
Publisher
tovimx
Taken from the source listing. We haven't verified who controls this account.
Install target
Live repository
Not pinned. Installing fetches whatever the repository holds at the time you run the command.
Automated safety checks
This skill failed 2 of 6 checks. A failure is not proof of bad intent; it means something in the code needs a human to look at it before you run it.
No undeclared network calls: failed
Contacts 1 host that is neither well-known infrastructure nor declared in the skill's frontmatter: get.maestro.mobile.dev.
Every host the skill dials — from its scripts, its config endpoints or the commands it tells the agent to run — is either well-known package and API infrastructure or declared in its own frontmatter. Links in documentation are not counted.
Hosts contacted
get.maestro.mobile.devundeclaredWhat it found
- SKILL.md:54contacts get.maestro.mobile.dev
curl -Ls "https://get.maestro.mobile.dev" | bash - SKILL.md:795contacts get.maestro.mobile.dev
RUN curl -Ls "https://get.maestro.mobile.dev" | bash
No pipe-to-shell installers: failed
Runs code fetched at install time in 2 places.
No `curl … | sh` pattern, in the code or in the instructions, that runs code fetched at run time.
What it found
- SKILL.md:54remote script piped into a shell
curl -Ls "https://get.maestro.mobile.dev" | bash - SKILL.md:795remote script piped into a shell
RUN curl -Ls "https://get.maestro.mobile.dev" | bash
Declares what it does: passed
SKILL.md parses and declares a name and a description.
SKILL.md exists, its frontmatter parses, and it declares a name and a description.
No obfuscated payloads: passed
No encoded or obfuscated payloads.
No base64, hex or compressed blob is decoded and then executed, and no encoded shell commands.
No credential access: passed
Reads no keys, tokens, keychains or credential files.
Neither the code nor the SKILL.md instructions read SSH keys, cloud credentials, keychains, token stores, browser cookie databases or dotfiles that hold secrets.
Pinned to a commit: passed
Scanned tovimx/maestro-mobile-testing-skill at d4c0be2c1e.
The exact upstream commit SHA that was scanned is recorded, so the result refers to specific bytes.
- Commit
- d4c0be2c1e
- Manifest
- SKILL.md
- Scanned
- 1 file, 897 lines
About this skill
What it does
Maestro Mobile Testing is an automated mobile end-to-end (E2E) testing framework designed for React Native applications. It uses declarative YAML files to define test steps, eliminating much of the boilerplate code typically found in other frameworks like Detox or Appium. Maestro provides automatic waiting and built-in retry logic for more stable tests, and offers a fast execution speed with minimal setup overhead.
When to use it
- Automating React Native app testing: Ideal for creating repeatable E2E test suites.
- Improving test stability: Reduce flaky tests through automatic waiting and retries.
- Rapidly building tests: Leverage the declarative YAML approach and interactive builder (Maestro Studio) to create tests quickly.
- Running tests on real devices: Utilize Maestro Cloud for testing within CI/CD pipelines without local simulators.
Key capabilities
- Declarative YAML-based tests: Define test steps in a human-readable YAML format, avoiding imperative code.
- Automatic waiting: Eliminates the need for manual
sleep()calls and unreliable waits. - Built-in retry logic: Automatically retries failed test steps to reduce flakiness.
- Fast execution: Optimized for speed with minimal setup overhead.
- Maestro Studio: An interactive tool for visually building tests.
- Sub-flows: Create reusable sequences of YAML steps for DRY (Don't Repeat Yourself) testing.
- JavaScript scripting: Utilizes a GraalJS runtime to handle HTTP calls and data manipulation within tests.
- Maestro Cloud: Enables real device testing in CI/CD environments.
- Selector Strategies: Supports both
testIDand text-based selectors for UI element identification, with guidance on when to use each approach.
Example prompts
While this skill doesn't directly respond to natural language prompts, users would interact with it by providing YAML configuration files or using Maestro Studio. Examples of YAML test configurations include:
maestro test .maestro/smoke-test.yaml- Runs a specific test suite.maestro test --debug .maestro/smoke-test.yaml- Runs the test suite in debug mode, allowing step-by-step execution.maestro studio- Launches the interactive test builder interface.
Tips & gotchas
- Requires Java 17: Ensure you have OpenJDK@17 installed and
JAVA_HOMEproperly configured. - Selector Choice: Carefully consider whether to use
testIDor text selectors based on your app's localization, UI stability, and team preferences. Use testIDs for multi-language apps or dynamic content. - TestID Naming Convention: When using
testIDselectors, follow the recommended naming convention:{component}-{action/type}[-{variant}].