Mobile Harness skill

A Markdown instruction set for agents driving Android and iOS phones, locally through ADB or in the cloud.

  • 432 ★ on the repository
  • Last commit
  • MIT
Skill

Broad access

Why this level

  • An agent controls a phone and can open apps and enter data in signed-in accounts.
  • First setup installs Python packages and connects to the device over ADB.
All reasons and checks

droidrun/mobile-harness

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/mobile-harness

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • An agent controls a phone and can open apps and enter data in signed-in accounts.
  • First setup installs Python packages and connects to the device over ADB.

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

What it does

Mobile Harness teaches an agent to work with an Android or iOS phone. The main control path is the Python package `mobilerun_core`: it connects to a device over local ADB, an HTTP portal or the cloud, reads the accessibility tree, takes screenshots, taps by text and node, and scrolls a list to the wanted element. The repository holds platform and recovery guides, rules for credentials and memory, and app cards `apps/*/CARD.md` for Chrome, Settings, Gmail and eBay. It is a set of Markdown files rather than an agent runtime.

Who it is for. Mobile developers and testers who hand an agent scenarios on a real phone, a simulator or a cloud device.

Good fit when

  • An agent walks through an Android Settings flow and checks the result against the accessibility tree.
  • A run goes on a cloud device with no physical phone at hand.
  • An iOS flow is repeated on a simulator through the `ios-portal` app.
  • The agent takes repeated steps from local memory and app cards instead of rediscovering them.

Not a fit when

  • Deterministic UI tests without a model are needed, while the harness is written for an agent.
  • The phone holds personal accounts that cannot be separated from test ones.
  • No Python 3.11–3.13 is present and none can be installed.

Example request

Connect to the Android device over ADB, open Settings, find the Wi-Fi item and show a screenshot.

Limitations

First setup needs Python 3.11–3.13 and the `mobilerun-core[local]` package per `install.md`, even when the skill is already installed through `npx skills add` or the plugin. The `execute_script` method works only on cloud devices, and local backends raise `UnsupportedOperation`. Cloud mode runs through the Mobilerun service. An agent with phone access opens apps and enters data on behalf of the owner: credentials live in the `local/` directory, which should stay out of a shared repository, and scenarios are best tried on a test device first.

How to disable. Remove the skill (`npx skills remove` or `/plugin uninstall mobile-harness`) and the `.venv/` and `local/` directories. Turn off USB debugging on the phone.

FAQ

Install with npx or the plugin?

Both work. Claude Code has `/plugin marketplace add droidrun/mobile-harness` and `/plugin install mobile-harness@mobile-harness`, other agents use `npx skills add droidrun/mobile-harness`.

Which devices fit?

Android over local ADB, Portal or cloud, and iOS through `mobilerun-ios`, cloud or a simulator with `ios-portal`.

Is it an agent runtime?

No. The README calls it a compact set of Markdown files, and the `mobilerun_core` package drives the device.

How do I update it?

`npx skills update` from the same project updates the skill. Python dependencies change only on request, per `UPDATE.md`.

Which apps are described?

`apps/` holds cards for Chrome, Settings, Gmail and eBay on Android, plus Safari and Settings on iOS.

Discussion

No questions or reviews yet.

Skills

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

SkillBroad access26Repository stars

Skills and a CLI that let Claude Code, Codex and OpenCode operate an Android phone: open apps, tap, type and test workflows

SkillBroad access1.8KRepository stars

An MCP server to drive iOS and Android: simulators, emulators and real devices via accessibility trees and screenshots

MCP serverBroad access10.3KRepository stars

mobilecli drives iOS and Android devices, emulators and apps from the terminal, and its skill teaches Claude Code how to use it

CLIBroad access314Repository stars

An MCP server that drives an Android device over ADB: app navigation, input and automated tests

MCP serverBroad access915Repository stars

Awesome Android Agent Skills

awesome-android-agent-skills

Skills for modern Android development for Copilot, Claude, Gemini and Cursor: Kotlin, Jetpack Compose, architecture, Hilt, Room

SkillMinimal access1KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Mobile Harness (this card)no432
claude-in-mobilenonot required382an MCP server that performs device actions itself; Mobile Harness is instructions and app cards on top of `mobilerun_core`
Android MCP Server: control Android through ADBnonot required811an Android-only MCP server; Mobile Harness also covers iOS and cloud devices

README in short

Workflow: connect through `Mobilerun.connect`, then use helpers such as `find_nodes`, `tap_text`, `scroll_until`. Check `device.supports` before optional operations.

README badge

Report a problem

Foxx AIMobile Harness
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.