Android Automation Agent

Skill and CLI for controlling an Android phone via ADB and vision models: the agent opens apps, searches, orders and verifies results

SkillHigh risk

mohd-mursaleen/android-automation-agent

Install

git clone https://github.com/Mohd-Mursaleen/android-automation-agent
cd android-automation-agent
chmod +x setup.sh && ./setup.sh

Then add OPENROUTER_API_KEY to .env and check with python check.py.

This is third-party code. Review the repository files before installing.

What it does

The project takes a task in plain language and performs it on a connected Android device. A chain of nodes does the work: a planner splits the goal into subgoals, a contextor captures a screenshot and UI tree with exact coordinates, a model picks the action, an executor sends taps, swipes and typing through ADB, and a separate node verifies each step. SKILL.md wraps this as an OpenClaw skill: the agent passes the goal verbatim, asks for missing details, keeps user preferences and splits complex flows into separate runs. It also runs directly in Termux on the phone.

Who it is for. For automation enthusiasts and QA engineers who want to drive Android apps without writing scripts.

Good fit when

  • You want a routine action in a mobile app done from a phrase
  • You need to run a manual app test scenario on a device
  • You want to control a phone from an OpenClaw agent

Not a fit when

  • Actions involve money and mistakes are unacceptable
  • You need stable CI tests: Espresso or Appium fit better

Example request

Open YouTube on my phone, find the channel's latest video and like it

Limitations

Requires Python 3.10+, ADB, USB or wireless debugging and an OpenRouter key; Gemini models are the default. Every step sends a screenshot to an external model. The skill targets OpenClaw, and onboarding uses a Telegram bot for notifications.

How to disable. Remove the skill folder from the OpenClaw workspace and the repo clone, and turn off USB or wireless debugging on the phone.

Security check

  • Performs any action in phone apps, including payments and messaging
  • Sends screen screenshots to an external model

README in short

The README explains the six-node chain and how a screenshot plus uiautomator dump gives the model exact coordinates. It covers setup on Linux, macOS, Windows and Termux, running run.py with step count and device options, model configuration and a Python API. MIT licensed.

SKILL.md

---
name: android-automation-agent
description: Use android-automation-agent to run precise Android UI automation tasks via ADB and LLM vision on the connected Android device. Trigger this skill for ANY request involving controlling, tapping, opening, searching, ordering, booking, or interacting with apps on the user's Android phone. Also trigger for "what's on my screen" or "show me the phone".
metadata:
  { "clawdbot": { "emoji": "📱", "requires": { "bins": ["adb", "python3"] } } }
---

# android-automation-agent

Automates real Android UI via ADB + LLM vision. One goal string in, one JSON result out.

---

## SECTION 1 — GOLDEN RULES (never violate these)

### Rule 1: Never rewrite the user's words

You are a DISPATCHER, not an interpreter. Your job is to pass the user's
intent to the android agent as faithfully as possible.

- User says "bike ride" → goal says "bike ride". NOT "Uber Moto".
- User says "order food" → goal says "order food". NOT "order butter chicken on Swiggy".
- User says "Instamart" → goal says "Open Instamart". NOT "Open Swiggy, navigate to Instamart".
- User says "milk" → goal says "milk". NOT "Amul Toned Milk 500ml".

The android agent reads the screen visually. It will find the right element.
You MUST trust it. Do NOT "help" by guessing UI labels, product names, or app flows.

### Rule 2: Never assume — ask first

If the user's request is missing critical information, ASK before running.

FAQ

Do I need a computer?

No, it runs in Termux on the phone itself by connecting adb to 127.0.0.1:5555.

Can I change the model?

Yes, planner, decision and verification models are set in .env and requests go through OpenRouter.

Editors’ pick

An MCP server and CLI from Sentry for building, running and testing Xcode iOS and macOS projects from an AI agent

MCP serverMedium risk6.4K
Editors’ pick

Paul Hudson's skill for reviewing and writing SwiftUI for iOS 26: deprecated APIs, data flow, navigation, accessibility, performance

SkillLow risk4.7K
Editors’ pick

Expo's official agent skills: building, deploying, updating and debugging Expo and EAS apps

PluginMedium risk2.5K

An open phone agent model and framework: it reads the screen and taps through Android, HarmonyOS and iOS apps from a text command

CLIHigh risk26.2K