maestro-e2e — скилл для Claude Code: E2E-тесты UI на Maestro
Скилл для написания и отладки E2E-тестов на Maestro: логины, регистрация, навигация, диалоги разрешений. Работает с iOS, Android, Flutter, React Native и вебом.
npx skills add raphaelbarbosaqwerty/maestro-dev-skills --skill maestro-e2e -a claude-codeЧто делает maestro-e2e
Скилл подключает к агенту справочник по Maestro: структура YAML-тестов, appId, переменные окружения, больше 40 команд, селекторы по id и тексту, ассерты, жесты. Отдельные файлы правил разбирают платформы — Android с ADB и эмуляторами, iOS с автоскрытием диалогов и симуляторами, Flutter через Semantics, React Native через testID и accessibilityLabel, веб через Chromium.
Есть разделы про параметры и синтаксис ${}, условное выполнение, вложенные переиспользуемые флоу через runFlow, скрипты на GraalJS, ожидания и повторы для нестабильных тестов. Плюс отладка через Maestro Studio, скриншоты и запись видео, интеграция с GitHub Actions, GitLab CI и Maestro Cloud.
Скилл читает правила по требованию: при работе с нативными диалогами разрешений подгружается rules/permissions.md, для Flutter — rules/platforms/flutter.md. Поэтому в контекст попадает только нужное. Сначала стоит проверить, что Maestro установлен в системе — сам скилл его не ставит, только объясняет, как это сделать на macOS, Linux и Windows.
Какие задачи решает
- написать E2E-тест на вход в приложение
- разобраться с диалогами разрешений на камере и геолокации
- найти элемент по id или тексту в дереве UI
- починить падающий тест из-за анимации
- вынести повторяющиеся шаги в переиспользуемый флоу
Примеры запросов агенту
- Напиши E2E-тест Maestro на логин и переход на главный экран
- Почему падает assertVisible после тапа — помоги отладить
- Сделай subflow для ввода телефона и переиспользуй его в двух тестах
Как установить maestro-e2e
1Через Skills CLI (Vercel)
npx skills add raphaelbarbosaqwerty/maestro-dev-skills --skill maestro-e2e -a claude-code2Вручную: положить файлы
~/.claude/skills/maestro-e2e/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/maestro-e2e/
1Через Skills CLI (Vercel)
npx skills add raphaelbarbosaqwerty/maestro-dev-skills --skill maestro-e2e -a codex2Вручную: положить файлы
.agents/skills/maestro-e2e/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add raphaelbarbosaqwerty/maestro-dev-skills --skill maestro-e2e -a cursor2Вручную: положить файлы
.cursor/skills/maestro-e2e/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install raphaelbarbosaqwerty/maestro-dev-skills maestro-e2e2Вручную: положить файлы
.github/skills/maestro-e2e/SKILL.md1Через Skills CLI (Vercel)
npx skills add raphaelbarbosaqwerty/maestro-dev-skills --skill maestro-e2e -a gemini-cli2Командой платформы
gemini skills install https://github.com/raphaelbarbosaqwerty/maestro-dev-skillsВручную: положить файлы
.devin/skills/maestro-e2e/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add raphaelbarbosaqwerty/maestro-dev-skills --skill maestro-e2e -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о maestro-e2e
Как установить maestro-e2e в Claude?
Выполните npx skills add raphaelbarbosaqwerty/maestro-dev-skills --skill maestro-e2e -a claude-code. Файл скилла окажется по пути ~/.claude/skills/maestro-e2e/SKILL.md.
Что делает maestro-e2e?
Даёт агенту правила и примеры для E2E-тестов на Maestro: структура YAML, селекторы, ассерты, жесты, работа с разрешениями и платформенные особенности iOS, Android, Flutter, React Native и веба.
Нужно ли ставить сам Maestro отдельно?
Да. Скилл содержит инструкцию по установке Maestro на macOS, Linux и Windows, но не устанавливает его за вас.
Исходный текст
SKILL.md · MIT
---
name: maestro-e2e
description: E2E UI testing with Maestro for iOS, Android, Flutter, React Native, and Web
metadata:
tags: maestro, e2e, testing, ui, automation, flutter, react-native, ios, android, web
---
## When 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](./rules/permissions.md) file for platform-specific information.
When working with Flutter apps, load the [./rules/platforms/flutter.md](./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](rules/installation.md) - Installing Maestro on macOS, Linux, and Windows
- [rules/test-structure.md](rules/test-structure.md) - YAML test structure, appId, env variables, and flow definition
- [rules/commands.md](rules/commands.md) - Complete reference of 40+ Maestro commands
- [rules/selectors.md](rules/selectors.md) - Element targeting with id, text, index, and matchers
- [rules/assertions.md](rules/assertions.md) - assertVisible, assertNotVisible, assertTrue, and AI assertions
- [rules/interactions.md](rules/interactions.md) - tapOn, inputText, scroll, swipe, and gesture commands
- [rules/permissions.md](rules/permissions.md) - iOS vs Android permission configuration and dialog handling
### Platforms
- [rules/platforms/android.md](rules/platforms/android.md) - Android-specific: ADB, permission dialogs, emulators
- [rules/platforms/ios.md](rules/platforms/ios.md) - iOS-specific: auto-dismiss dialogs, simulators, limitations
- [rules/platforms/flutter.md](rules/platforms/flutter.md) - Flutter integration using Semantics and identifier
- [rules/platforms/react-native.md](rules/platforms/react-native.md) - React Native with testID and accessibilityLabel
- [rules/platforms/web.md](rules/platforms/web.md) - Desktop browser testing with Chromium
### Advanced
- [rules/advanced/parameters.md](rules/advanced/parameters.md) - Environment variables, external params, ${} syntax
- [rules/advanced/conditions.md](rules/advanced/conditions.md) - Conditional execution with when: visible, platform
- [rules/advanced/nested-flows.md](rules/advanced/nested-flows.md) - Reusable subflows with runFlow command
- [rules/advanced/javascript.md](rules/advanced/javascript.md) - evalScript, runScript, and GraalJS support
- [rules/advanced/waiting.md](rules/advanced/waiting.md) - extendedWaitUntil, waitForAnimationToEnd
- [rules/advanced/repeat-retry.md](rules/advanced/repeat-retry.md) - Repeat and retry patterns for flaky tests
### Additional
- [rules/debugging.md](rules/debugging.md) - Maestro Studio, hierarchy inspection, troubleshooting
- [rules/screenshots.md](rules/screenshots.md) - Screenshots, video recording, and visual evidence
- [rules/ci-integration.md](rules/ci-integration.md) - GitHub Actions, GitLab CI, Maestro Cloud
- [rules/best-practices.md](rules/best-practices.md) - Semantic identifiers, atomic tests, project structure
© raphaelbarbosaqwerty · MIT · raphaelbarbosaqwerty/maestro-dev-skills