Run Jetpack Android App
wordpress-mobile/WordPress-Android
Builds the Jetpack debug app with Gradle and installs it on a connected Android device or an emulator started from an available AVD.
Drives Android devices, emulators, SDK packages and Gradle builds through the acli command, with JSON output and per-device targeting.
$ npx skills add ErikHellman/cli-for-android --skill acli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ErikHellman/cli-for-android acli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ErikHellman/cli-for-android.git skills-src && mkdir -p .claude/skills && cp -r skills-src/assets/skills/acli .claude/skills/acli && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "acli" agent skill from https://github.com/ErikHellman/cli-for-android/tree/main/assets/skills/acli into .claude/skills/acli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "acli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ErikHellman/cli-for-android/tree/main/assets/skills/acliType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ErikHellman/cli-for-android --skill acli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ErikHellman/cli-for-android acli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ErikHellman/cli-for-android.git skills-src && mkdir -p .agents/skills && cp -r skills-src/assets/skills/acli .agents/skills/acli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "acli" agent skill from https://github.com/ErikHellman/cli-for-android/tree/main/assets/skills/acli into .agents/skills/acli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "acli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ErikHellman/cli-for-android --skill acli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ErikHellman/cli-for-android acli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ErikHellman/cli-for-android.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/assets/skills/acli .cursor/skills/acli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "acli" agent skill from https://github.com/ErikHellman/cli-for-android/tree/main/assets/skills/acli into .cursor/skills/acli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "acli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ErikHellman/cli-for-android.git --path assets/skills/acli--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ErikHellman/cli-for-android --skill acli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ErikHellman/cli-for-android acli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ErikHellman/cli-for-android.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/assets/skills/acli .gemini/skills/acli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "acli" agent skill from https://github.com/ErikHellman/cli-for-android/tree/main/assets/skills/acli into .gemini/skills/acli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "acli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ErikHellman/cli-for-android acliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ErikHellman/cli-for-android --skill acli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ErikHellman/cli-for-android.git skills-src && mkdir -p .github/skills && cp -r skills-src/assets/skills/acli .github/skills/acli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "acli" agent skill from https://github.com/ErikHellman/cli-for-android/tree/main/assets/skills/acli into .github/skills/acli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "acli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ErikHellman/cli-for-android --skill acli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ErikHellman/cli-for-android acli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ErikHellman/cli-for-android.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/assets/skills/acli .opencode/skills/acli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "acli" agent skill from https://github.com/ErikHellman/cli-for-android/tree/main/assets/skills/acli into .opencode/skills/acli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "acli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
acliDrives Android devices, emulators, SDK packages and Gradle builds through the acli command, with JSON output and per-device targeting.
The agent uses a single acli command in place of separate Android tools. Command groups cover devices and emulators, SDK packages, installed apps, builds and an environment check. Examples include listing devices with their serials, reading the model and Android version, installing an APK, listing or installing SDK packages, launching or force-stopping an app, assembling a debug build, running unit tests and cleaning build outputs.
An instrument group can simulate battery level and status, network speed and latency, and GPS location on a device, and acli doctor reports on the health of the whole setup. Adding --json gives output the agent can parse, and errors go to stderr as JSON with a code, message, detail and suggested fix commands. With several devices connected, the target is set with --device or the ACLI_DEVICE variable to avoid ambiguity.
Read from SKILL.md and the folder at commit ea064a5. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(acli *)From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Android CLI (acli) loads about 709 tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 73 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ErikHellman/cli-for-android at commit ea064a5, republished under its MIT licence (© ErikHellman). 73 words, ~709 tokens.
.claude/skills/acli/SKILL.md (or your agent's skills folder).You have access to the acli command, which provides a unified interface to all Android development tools.
acli device list --json # list devices/emulators with serials
acli device -d <serial> info # model, Android version, API level, ABI
acli device -d <serial> install path/to/app.apk # install APK
acli device -d <serial> logs --follow --level E # stream error logs
acli device -d <serial> screenshot screen.png # capture screen
acli avd list --json # list AVDs
acli avd start <name> --headless --wait-boot # start emulator, wait for boot
acli avd stop <serial> # stop a running emulatoracli sdk list --installed --json # list installed packages
acli sdk list --updates # list packages with updates
acli sdk install "platforms;android-35" # install a package
acli sdk licenses # accept all pending licensesacli app list --json # list all installed apps
acli app launch <package> # launch an app
acli app stop <package> # force-stop an app
acli app clear <package> # clear app data
acli app deep-link <uri> # open a URI deep linkacli build assemble --variant debug # build debug APK
acli build test --unit # run unit tests
acli build clean # clean build outputsacli instrument battery --level 10 --status discharging
acli instrument network --speed edge --latency gprs
acli instrument location --lat 37.7749 --lng -122.4194
acli instrument input text "Hello World"
acli instrument input tap 540 960acli doctor --json # full environment check (parseable)Always pass --json when you need to parse results programmatically.
All errors are written to stderr as:
{"error": {"code": "...", "message": "...", "detail": "...", "fix": ["cmd1", "cmd2"]}}Use --device <serial> or set ACLI_DEVICE=<serial> to target a specific device.
When multiple devices are connected, always specify a target to avoid ambiguity.
© ErikHellman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in assets/skills/acli of ErikHellman/cli-for-android.
Open the folder on GitHubat commit ea064a5
Android CLI (acli) next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Android CLI (acli) this skillErikHellman/cli-for-android | 119 | — | ~709 | Automated safety check: Pass | MIT | |
| Run Jetpack Android Appwordpress-mobile/WordPress-Android | 3.2k | — | ~886 | Automated safety check: Pass | GPL-2.0 | |
| Orca Android Emulator Controlstablyai/orca | 87k | — | ~558 | Automated safety check: Pass | Apache-2.0 | |
| Warpdroid UI TestWarp-net/warpnet | 157 | — | ~3.5k | Automated safety check: Pass | Custom licence | |
| Capturing Preview Screenshots In CIskydoves/android-testing-skills | 333 | — | ~4.5k | Automated safety check: Notes | Apache-2.0 | |
| Android Debuggingrcosteira79/android-skills | 150 | — | ~2.6k | Automated safety check: Pass | MIT |
wordpress-mobile/WordPress-Android
Builds the Jetpack debug app with Gradle and installs it on a connected Android device or an emulator started from an available AVD.
stablyai/orca
Android device and emulator control from inside Orca over adb, with the live device view in Orca's emulator pane. Use when driving an adb-connected emulator…
Warp-net/warpnet
A skill your agent uses whenever a warpdroid (Android client) change or bug needs to be verified by actually driving the app's visual UI — any task phrased as "test the warpdroid UI", "click through…
skydoves/android-testing-skills
A skill your agent uses to render every Jetpack Compose @Preview as a screenshot on a real Android device or emulator and publish a browsable HTML catalog from CI.
rcosteira79/android-skills
Android and KMP debugging techniques for crashes, ANRs, memory leaks, R8 traces, Gradle failures and Compose recomposition, built on finding the root cause first.
OpenMinis/MinisSkills
在 Minis 的 ARM64 Alpine PRoot 中从零诊断、安装并验证 Android 构建环境,以及创建、构建、签名验证、安装和启动原生 Android App;覆盖 Java/Kotlin/Gradle/SDK/AAPT2、APK、ADB/无线调试/Shizuku,以及条件式 JNI/NDK。用户提到 Android…
Categories
Drives Android devices, emulators, SDK packages and Gradle builds through the acli command, with JSON output and per-device targeting. The agent uses a single acli command in place of separate Android tools. Command groups cover devices and emulators, SDK packages, installed apps, builds and an environment check.
Android CLI (acli) fits situations like: installing an APK on a connected device or emulator; installing or updating Android SDK packages; building a debug APK or running unit tests through Gradle; simulating low battery, slow network or a fixed location during testing.
Run `npx skills add ErikHellman/cli-for-android --skill acli -a claude-code`. Or copy the skill folder (assets/skills/acli in ErikHellman/cli-for-android) into .claude/skills/acli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ErikHellman/cli-for-android --skill acli -a codex`. Or copy the skill folder (assets/skills/acli in ErikHellman/cli-for-android) into .agents/skills/acli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ErikHellman/cli-for-android --skill acli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/acli, .gemini/skills/acli, .github/skills/acli and .opencode/skills/acli in your project.
SKILL.md names no scripts, command-line tools or credentials: Android CLI (acli) is instructions for the agent only. Our summary lists: The acli command-line tool; An Android SDK setup, plus a device or emulator to target. Its frontmatter pre-approves these tools: Bash(acli *).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Android CLI (acli) is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 709 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Android CLI (acli): Run Jetpack Android App (wordpress-mobile/WordPress-Android, 3.2k stars), Orca Android Emulator Control (stablyai/orca, 87k stars), Warpdroid UI Test (Warp-net/warpnet, 157 stars) and Capturing Preview Screenshots In CI (skydoves/android-testing-skills, 333 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ErikHellman (a GitHub user) maintains it in ErikHellman/cli-for-android, which has 119 GitHub stars. The repository was last updated on April 7, 2026.
Source: ErikHellman/cli-for-android on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.