Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add metahub-tech/agent-fleet --skill using-androidgit clone --depth 1 https://github.com/metahub-tech/agent-fleetWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/metahub-tech/agent-fleet/using-android)<a href="https://agentmods.dev/skills/metahub-tech/agent-fleet/using-android"><img src="https://agentmods.dev/badge/skills/metahub-tech/agent-fleet/using-android/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/metahub-tech/agent-fleet/using-android"><img src="https://agentmods.dev/badge/skills/metahub-tech/agent-fleet/using-android.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00060 | $0.04032 |
| Opus 5.5 | $0.00024 | $0.01613 |
| Sonnet 5.5 | $0.00012 | $0.00806 |
| Haiku 4.5 | $0.00006 | $0.00403 |
Grade B, and why
using-android scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
curl -X POST --data-binary @bg.png \ Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -X POST --data-binary @bg.png \ How it starts
The opening of the file, as written. The whole thing — 244 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Using android-device
Drive one or more Android devices via the android-device MCP server (FastMCP, streamable-http on Tailscale, port 8768). The server runs on a PC host (Windows or macOS), and reaches the phone(s) via ADB (USB or Wireless). 30 tools across 10 categories (+ HTTP POST /upload).
Mental model
[You / Agent] -- streamable-http --> [PC Host running android-device MCP] -- ADB --> [Android Phone]
You drive the SERVER. The server drives ADB. ADB drives the PHONE. You don't touch the phone directly.
Critical patterns
Coordinates are device-screen pixels (no Retina-style scaling)
get_screen_size returns the phone's wm size (e.g. {width: 1080, height: 2340}). take_screenshot returns a PNG sized identically. tap(x, y) uses the same coordinate space. No scaling math needed — phones don't have macOS-style logical/physical pixel split.
get_screen_size # {"width": 1080, "height": 2340}
take_screenshot # PNG also at 1080x2340
tap(x=540, y=1170) # center of screen
tap, NOT click
Phones use touchscreens. The tool is tap, not click. Calling click will fail (it's a Windows / macOS thing).
Keyboard: input text vs press_key
| What | Tool | Note |
|---|---|---|
| Type into a focused input | type_text("hello world") |
Spaces auto-escaped to %s. Newlines / Chinese / emoji NOT supported by adb input text. For SMS specifically, use the intent-extra workaround in Recipes; for in-app search / share, look for an intent the target app accepts with a string extra. |
| System buttons | press_key("back"), press_key("home"), press_key("recent") |
Aliases for KEYCODE_BACK / HOME / APP_SWITCH |
| Volume / power | press_key("volume_up"), press_key("power"), press_key("wake") |
Useful for wakelock testing |
App lifecycle
list_packages(filter_substring="weibo", only_user=True) # find installed user apps
launch_app(target="com.sina.weibo") # launcher intent (default)
launch_app(target="com.example", activity=".MainActivity") # explicit activity
current_app() # what's in front
terminate_app(target="com.sina.weibo") # force-stop
install_app(path="C:\\\\path\\\\to\\\\foo.apk", replace=True)
uninstall_app(target="com.example.foo")
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 244 lines · 60 tokens per session scan B 5c18b7455e2a
using-android is a skill published in the GitHub repository metahub-tech/agent-fleet (2 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 60 tokens to every session and 4,032 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
opentrons-integration
Official Opentrons Protocol API for OT-2 and Flex robots. Use when writing protocols specifically for Opentrons hardware with full access to Protocol API v2 features. Best for production Opentrons protocols, official API compatibility. For multi-vendor automation or broader equipment control use pylabrobot.
pylabrobot
Vendor-agnostic lab automation framework. Use when controlling multiple equipment types (Hamilton, Tecan, Opentrons, plate readers, pumps) or needing unified programming across different vendors. Best for complex workflows, multi-vendor setups, simulation. For Opentrons-only protocols with official API…
app_remix
Create a new Rome app from an App Store source, already installed or identified by a pinned Store version. Copy installed code locally or download and extract a Store bundle without installing the source. Never edit or overwrite an existing source app.
building-ui
Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
use-dom
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
ii-app
Use this skill when you need to initialize or restart local web and mobile app projects through the bundled Rust ii-app CLI instead of calling MCP tools.