# android-device-automation

Скилл управляет Android-устройством через ADB по скриншотам: тапы, свайпы, ввод текста, запуск приложений. Пригодится для проверки мобильного приложения без ручных кликов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 5800 установок · ★ 318
- Автор: web-infra-dev
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/web-infra-dev/midscene-skills/tree/HEAD/skills/android-automation/SKILL.md
- Обновлён: 2026-09-08
- HTML: https://affpapa.org/nevibecode/skills/android-device-automation

## Что делает

Скилл работает через `npx -y @midscene/android@1` и не требует DOM или accessibility-меток — агент смотрит на снимок экрана и решает, что нажать. Команды повторяют MCP-инструменты Midscene: `connect` подключает устройство, `launch` открывает приложение или ссылку, `take_screenshot` снимает экран, `act` выполняет действие по описанию на естественном языке, `assert` проверяет состояние экрана. Внутри одного `act` помещаются тап, долгое нажатие, ввод и очистка текста, прокрутка, свайп, перетаскивание, зум двумя пальцами и системные кнопки вроде Back и Home.

Перед запуском нужен доступ к модели с сильным визуальным позиционированием. Четыре переменные — `MIDSCENE_MODEL_API_KEY`, `MIDSCENE_MODEL_NAME`, `MIDSCENE_MODEL_BASE_URL`, `MIDSCENE_MODEL_FAMILY` — задаются в системе или в `.env` в рабочей папке, который Midscene подхватывает сам. Если модель не настроена, скилл попросит вас это сделать. Флаг `--device-id` выбирает конкретное устройство из `adb devices`, а `--use-scrcpy` включает ускоренные скриншоты — его нужно передавать в каждой команде, потому что вызовы CLI не сохраняют состояние.

Есть жёсткое ограничение: команды Midscene нельзя запускать в фоне и нельзя связывать в цепочку. Каждая выполняется синхронно, чтобы вы успели прочитать снимок экрана до следующего шага. Одна команда идёт около минуты, сложный `act` — дольше. Это стоит учитывать, если вы привыкли гонять параллельные задачи.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add web-infra-dev/midscene-skills --skill android-device-automation -a claude-code
```
```bash
npx skills add web-infra-dev/midscene-skills --skill android-automation -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/android-automation/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/android-automation/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add web-infra-dev/midscene-skills --skill android-automation -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/android-automation/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add web-infra-dev/midscene-skills --skill android-automation -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/android-automation/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install web-infra-dev/midscene-skills android-automation
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/android-automation/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add web-infra-dev/midscene-skills --skill android-automation -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/web-infra-dev/midscene-skills --path skills/android-automation
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/android-automation/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add web-infra-dev/midscene-skills --skill android-automation -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/web-infra-dev/midscene-skills/tree/HEAD/skills/android-automation/SKILL.md

## Когда брать
- проверить мобильное приложение на реальном устройстве без ручных тапов
- запустить приложение и дойти до нужного экрана по описанию
- ввести текст в поле и убедиться, что он появился
- снять скриншот текущего экрана и разобрать, что на нём
- выполнить команду `adb shell` для низкоуровневой проверки

## Примеры запросов агенту
- подключись к эмулятору emulator-5554 и открой настройки Wi-Fi, скажи какая сеть подключена
- введи hello world в поле поиска и нажми Enter
- сделай скриншот экрана и опиши, что на нём видно

## Похожие
- [limrun-android-emulator](https://affpapa.org/nevibecode/skills/limrun-android-emulator.md) — скилл · 38700 установок
- [orca-emulator-android](https://affpapa.org/nevibecode/skills/orca-emulator-android.md) — скилл · 5600 установок
- [android-emulator-qa](https://affpapa.org/nevibecode/skills/android-emulator-qa.md) — скилл · 308 установок
- [developer-device-platform-basics](https://affpapa.org/nevibecode/skills/developer-device-platform-basics.md) — скилл · 4500 установок
- [test-android-apps](https://affpapa.org/nevibecode/plugins/test-android-apps.md) — плагин · ★ 7596
- [appium-skill](https://affpapa.org/nevibecode/skills/appium-skill.md) — скилл · 422 установки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
