Agent skill

Run Android

by timusus in timusus/Shuttle2

Build the debug APK, install it on a connected device/emulator via ADB, and launch the app.

Apache-2.0Auto-check passedMobile

Install Run Android

skills CLI
$ npx skills add timusus/Shuttle2 --skill run-android -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install timusus/Shuttle2 run-android --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/timusus/Shuttle2.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/run-android .claude/skills/run-android && rm -rf skills-src

Use ~/.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/

Facts

Skill name
run-android
GitHub stars
229
Token cost
~453 tokens
SKILL.md length
167 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
Apache-2.0

At a glance

Build the debug APK, install it on a connected device/emulator via ADB, and launch the app.

  • Works in 3 steps: A physical device, if one is attached → A lane on the WSL desktop box (the… → A local AVD, only if status says the box…
  • Tasks that involve Mobile testing and debugging
  • SKILL.md covers 1. A physical device, if one…, 2. A lane on the WSL desktop… and 3. A local AVD, only if status…
  • Calls adb

What it does

Run Android is an agent skill from timusus/Shuttle2. Build the debug APK, install it on a connected device/emulator via ADB, and launch the app.

Its SKILL.md is about 450 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering Mobile testing and debugging. It works with Android. The repository describes itself as: Shuttle Music: a music player for Android and iOS. Plays local files and streams from Jellyfin, Emby, Plex and Navidrome/Subsonic, with Chromecast, Android Auto, EQ and replay… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Mobile testing and debugging

Example prompts

  • “/run-android”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. A physical device, if one is attached
  2. A lane on the WSL desktop box (the default when no device is attached)
  3. A local AVD, only if status says the box is unreachable or all three lanes are busy

What it can do on your machine

Read from SKILL.md and the folder at commit 9cef5dd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • adb

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Run Android loads about 453 tokens when it runs. Until then it costs about 26 tokens; SKILL.md has 167 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~26
When it runs · the whole SKILL.md, loaded when a task matches
~453

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from timusus/Shuttle2 at commit 9cef5dd, republished under its Apache-2.0 licence (© timusus). 167 words, ~453 tokens.

Download SKILL.mdSave it as .claude/skills/run-android/SKILL.md (or your agent's skills folder).
name
run-android
description
Build the debug APK, install it on a connected device/emulator via ADB, and launch the app.
user_invocable
true

Run Android

Build, install, and launch the debug app. Pick the device in this order and say which one you used.

1. A physical device, if one is attached

A device listed as device (not unauthorized/offline) in adb devices beats every emulator.

bash
build-brief ./gradlew :android:app:installDebug && adb shell am start -n com.simplecityapps.shuttle.dev/com.simplecityapps.shuttle.ui.MainActivity

2. A lane on the WSL desktop box (the default when no device is attached)

support/scripts/remote-emu.sh status, then start and eval "$(support/scripts/remote-emu.sh env)" — lane protocol, ports and stop discipline are in .claude/rules/android.md's Desktop Emulator section.

bash
support/scripts/remote-emu.sh install   # runs :android:app:assembleDebug and installs over the tunnel
adb shell am start -n com.simplecityapps.shuttle.dev/com.simplecityapps.shuttle.ui.MainActivity

Use remote-emu.sh install instead of :android:app:installDebug (Gradle's install task ignores ANDROID_ADB_SERVER_PORT). Shell state does not persist between tool calls, so re-run the eval in each command that uses adb. remote-emu.sh stop when done, including after a failure.

3. A local AVD, only if status says the box is unreachable or all three lanes are busy

bash
build-brief ./gradlew :android:app:installDebug && adb shell am start -n com.simplecityapps.shuttle.dev/com.simplecityapps.shuttle.ui.MainActivity

Kill it afterwards; never leave a local AVD running, and never kill one you did not start.

If no device is connected and the box is unreachable, check with adb devices and report the issue.

© timusus, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/run-android of timusus/Shuttle2.

Open the folder on GitHubat commit 9cef5dd

Compare with similar skills

Run Android 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.

Run Android compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run Android this skilltimusus/Shuttle2229—~453Automated safety check: PassApache-2.0
Phone HarnessShawnPana/phone-harness3.2k—~4.3kAutomated safety check: PassMIT
Mobile QAtloncorp/tlon-apps107—~2.4kAutomated safety check: PassMIT
Androidyang1ming/android-harness176—~259Automated safety check: PassMIT
Debug Bridgegetknit/knit131—~2.2kAutomated safety check: PassGPL-3.0
Capturing Screenshots And Screenrecordskydoves/android-testing-skills333—~3.7kAutomated safety check: PassApache-2.0

Similar skills

  • Phone Harness

    ShawnPana/phone-harness

    Control the user's phone — an iPhone through the Mac's iPhone Mirroring window, an Android over adb, or a rented cloud Android: open apps, tap, type, swipe, read the screen.

    3.2k GitHub stars~4.3k tokensUpdated 10 days ago
    MobileAuto-check passed
  • Mobile QA

    tloncorp/tlon-apps

    Run a mobile QA checklist on a physical Android device over adb for tlon-apps, then triage what fails into fixes.

    107 GitHub stars~2.4k tokensUpdated today
    MobileAuto-check passed
  • Android

    yang1ming/android-harness

    Direct Android device control through ADB. An agent skill from yang1ming/android-harness.

    176 GitHub stars~259 tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Debug Bridge

    getknit/knit

    Drive and verify Knit on a device or emulator through the headless debug bridge (am broadcast to app.getknit.knit.debug.<ACTION, replies as JSON) — send a message on one phone and confirm it landed…

    131 GitHub stars~2.2k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Capturing Screenshots And Screenrecord

    skydoves/android-testing-skills

    A skill your agent uses to capture visual artefacts from a device for test failures, golden image generation, QA repro, and demo videos.

    333 GitHub stars~3.7k tokensUpdated 4 mo ago
    MobileAuto-check passed
  • Android Emulator Skill

    Moustachauve/WLED-Android

    Production-ready scripts for Android app testing, building, and automation.

    169 GitHub starsUsed in 1 repo~911 tokens
    MobileAuto-check passed

More from timusus/Shuttle2

All 13 skills in this repo
  • Comprehensive guidance for writing deterministic tests for Android code using Kotlin coroutines.

    229 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Debug Receivers

    timusus/Shuttle2

    Drive the S2 debug build's playback and queue over ADB broadcasts — play the whole library, play/pause, skip, seek, remove a queue item, toggle shuffle/repeat, dump playback state as JSON, reimport…

    229 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Deploy Android

    timusus/Shuttle2

    Deploy the Android app to the Play Store via GitHub Actions.

    229 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Reply Reviews

    timusus/Shuttle2

    Weekly Play Store review flow for S2: fetch new reviews, draft replies, get owner approval, then post.

    229 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Check

    timusus/Shuttle2

    Run lint + unit tests, investigate and fix failures. An agent skill from timusus/Shuttle2.

    229 GitHub stars~449 tokensUpdated today
    Auto-check passed
  • Commit

    timusus/Shuttle2

    Analyse working tree changes, group them into logical atomic commits, and create well-structured conventional commits with module scopes.

    229 GitHub stars~1.9k tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about Run Android

What does Run Android do?

Build the debug APK, install it on a connected device/emulator via ADB, and launch the app. Run Android is an agent skill from timusus/Shuttle2. Build the debug APK, install it on a connected device/emulator via ADB, and launch the app.

When should I use Run Android?

Run Android fits situations like: tasks that involve Mobile testing and debugging.

How do I install Run Android in Claude Code?

Run `npx skills add timusus/Shuttle2 --skill run-android -a claude-code`. Or copy the skill folder (.claude/skills/run-android in timusus/Shuttle2) into .claude/skills/run-android in your project. Claude Code loads it when a task matches its description.

How do I install Run Android in Codex?

Run `npx skills add timusus/Shuttle2 --skill run-android -a codex`. Or copy the skill folder (.claude/skills/run-android in timusus/Shuttle2) into .agents/skills/run-android in your project. Codex loads it when a task matches its description.

Can I use Run Android in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add timusus/Shuttle2 --skill run-android -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-android, .gemini/skills/run-android, .github/skills/run-android and .opencode/skills/run-android in your project.

What does Run Android need to run?

Going by SKILL.md and its folder, Run Android needs the command-line tools its instructions call (adb).

Does Run Android access the network?

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.

Is Run Android safe to install?

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.

What licence does Run Android use?

Run Android is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Run Android use?

About 453 tokens (SKILL.md is roughly 1.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Run Android?

Skills that share tags, products or a category with Run Android: Phone Harness (ShawnPana/phone-harness, 3.2k stars), Mobile QA (tloncorp/tlon-apps, 107 stars), Android (yang1ming/android-harness, 176 stars) and Debug Bridge (getknit/knit, 131 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run Android?

timusus (a GitHub user) maintains it in timusus/Shuttle2, which has 229 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.

Source: timusus/Shuttle2 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.