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 OpenMinis/MinisSkills --skill android-ui-automationgit clone --depth 1 https://github.com/OpenMinis/MinisSkillsWrote 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/openminis/minisskills/android-ui-automation)<a href="https://agentmods.dev/skills/openminis/minisskills/android-ui-automation"><img src="https://agentmods.dev/badge/skills/openminis/minisskills/android-ui-automation.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 59 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.00171 | $0.01634 |
| Opus 5 | $0.00086 | $0.00817 |
| Sonnet 5 | $0.00034 | $0.00327 |
| Haiku 4.5 | $0.00017 | $0.00163 |
Grade A, and why
android-ui-automation scanned grade A with 0 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 8d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Android UI Automation
Drive Android apps through their UI layer when they have no public API or web version. This is the fallback that makes "phone-only" apps automatable.
Environment & dependencies (read first)
This skill drives the user's Android phone. It relies on two CLI tools
that ship with the Minis app for Android (installed at
/usr/local/bin/ inside the Minis runtime):
| CLI | Role |
|---|---|
android-a11y-cli |
Accessibility-Service bridge: ui dump, tap node, gesture swipe, wait, extract, ... |
android-open |
Launch any URL/scheme via the system handler (spotify://..., weixin://..., tel:, ...) |
Prerequisites on the device:
- Minis app installed (Android). These CLIs do not exist on other hosts
(macOS/Windows/other Linux) — verify with
which android-a11y-clifirst, and if missing, tell the user this skill only runs inside Minis on Android. - Minis Accessibility Service enabled: Settings → Accessibility → Minis.
Check with
android-a11y-cli service ping; if it reports not running, ask the user to re-enable it before anything else. - The target app installed on the same device.
These are device-side capabilities, not network APIs — no API keys, no
OAuth, no server. If a step returns permission_denied from the a11y service,
it means the service was revoked; recover via Settings → Accessibility.
When to use
- The target app has no API / no web page (WeChat Moments, many CN apps).
- Offload fine-grained clicking to reliable scripts instead of brittle commands.
- The user asks to play/search/open/tap/swipe inside an installed Android app.
Do not use this for apps that already have a proper skill (e.g.
bilibili-hub, spotify-hub) — prefer the API path when one exists.
Core workflow
Follow this order. Each step has a reason; don't skip verification.
- Resolve the target Confirm the app is installed. If unsure, ask the user or try the deep link and check the foreground package (see step 2).
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 8d ago First seen · 146 lines · 171 tokens per session scan A 8db4aa65ab9f
android-ui-automation is a skill published in the GitHub repository OpenMinis/MinisSkills (400 stars, last pushed 4d ago), licensed MIT. It adds 171 tokens to every session and 1,634 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
android-unit-test
Guide for writing and converting Chromium Android unit tests across host Robolectric (chromejunittests) and on-device (chromepublicunittestapk) suites.
android-test-batching
Guide for auditing and applying batching annotations (@Batch) and AutoReset rules (AutoResetCtaTransitTestRule) to Android javatests in Chromium. Use this skill when optimizing Java instrumentation test runtimes, resolving test state leaks, or migrating tests to batched execution.
java-memory-leaks
How to identify and fix Java memory leaks in Android Chrome using LeakCanary traces.
loadline
Running and analyzing LoadLine 1 and 2 benchmarks on Android using Crossbench. Use when you need to measure page loading performance, evaluate performance-related changes in Chrome, or collect Perfetto traces with realistic Chrome workload.
accessibility-cleanup
Finds common violations of the Android accessibility API in the Clank App Java code and attempts to address them (e.g. hardcoded state change announcements, missing events, focus moving, assertive live regions, etc).
remove-unused-object-overrides
Identify and safely remove unreferenced Java Object overrides (equals, hashCode, toString) in Clank to eliminate dead virtual methods from release DEX bytecode while strictly preserving equals/hashCode symmetry.