Agent skill

Run App

by MartinStyk in MartinStyk/apk-analyzer

A skill your agent uses to build, install, and launch ApkAnalyzer on a connected device or emulator, or to verify a code change actually works at runtime rather than just compiling.

GPL-3.0Auto-check passedMobile

Install Run App

skills CLI
$ npx skills add MartinStyk/apk-analyzer --skill run-app -a claude-code

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

GitHub CLI
$ gh skill install MartinStyk/apk-analyzer run-app --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/MartinStyk/apk-analyzer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/run-app .claude/skills/run-app && 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-app
GitHub stars
369
Token cost
~932 tokens
SKILL.md length
404 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
GPL-3.0

At a glance

A skill your agent uses to build, install, and launch ApkAnalyzer on a connected device or emulator, or to verify a code change actually works at runtime rather than just compiling.

  • Works in 4 steps: Find adb → Build and install → If install fails with… → …
  • Launch ApkAnalyzer on a connected device
  • SKILL.md covers Step 1 — Find adb, Step 2 — Build and install, Step 3 — If install fails with… and Step 4 — Launch and verify…, plus 1 more section
  • Calls adb

What it does

Run App is an agent skill from MartinStyk/apk-analyzer. Use to build, install, and launch ApkAnalyzer on a connected device or emulator, or to verify a code change actually works at runtime rather than just compiling. Triggered by phrases like "run the app", "install on device", "launch the app", "try it on my phone", "deploy to device", "see if this works", "run it".

Its SKILL.md is about 930 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. The repository describes itself as: The most downloaded APK analysis app on Google Play. Detailed reports of every app on your device. No root, no ads, nothing leaves the phone. The licence is GPL-3.0.

When your agent uses it

  • Launch ApkAnalyzer on a connected device
  • Verify a code change actually works at runtime rather than just compiling

Example prompts

  • “run the app”
  • “install on device”
  • “launch the app”
  • “/run-app”

Workflow steps

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

  1. Find adb
  2. Build and install
  3. If install fails with INSTALL_FAILED_VERSION_DOWNGRADE
  4. Launch and verify it's actually running

What it can do on your machine

Read from SKILL.md and the folder at commit d807559. 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 App loads about 932 tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 404 words of instructions outside code blocks.

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

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 MartinStyk/apk-analyzer at commit d807559, republished under its GPL-3.0 licence (© MartinStyk). 404 words, ~932 tokens.

Download SKILL.mdSave it as .claude/skills/run-app/SKILL.md (or your agent's skills folder).
name
run-app
description
Use to build, install, and launch ApkAnalyzer on a connected device or emulator, or to verify a code change actually works at runtime rather than just compiling. Triggered by phrases like "run the app", "install on device", "launch the app", "try it on my phone", "deploy to device", "see if this works", "run it".

Skill: Build, Install, and Run ApkAnalyzer on a Device

Debug builds and any release build the user already has installed share the same applicationId (sk.styk.martin.apkanalyzer — no debug suffix), so installing over an existing release can hit a version conflict. Read Step 3 before installing, especially the first time on a given device.

Step 1 — Find adb

adb is often not on PATH. Try it directly first; if that fails, it lives under the Android SDK:

bash
adb devices -l || "$ANDROID_HOME/platform-tools/adb" devices -l   # macOS/Linux
powershell
adb devices -l 2>$null; if (-not $?) { & "$env:ANDROID_HOME\platform-tools\adb.exe" devices -l }

If ANDROID_HOME isn't set either, see the setup-local-tools skill. Confirm at least one device/emulator is listed as device (not unauthorized or offline) before continuing. If multiple devices are attached, target one explicitly with -s <serial> on every adb command below.

Step 2 — Build and install

bash
./gradlew installDebug

This assembles :app:debug and installs it via the AGP-managed install task. If it succeeds, skip to Step 4.

Step 3 — If install fails with INSTALL_FAILED_VERSION_DOWNGRADE

This happens when the device already has a build with a higher versionCode than the debug build's versionCode = 1 (see app/build.gradle.kts) — typically a release build (from the Play Store, a manual release, or a prior CI artifact) already on the device.

  1. Check whether -d (allow downgrade) is enough — it only works if the existing install is itself debuggable, so this recovers cleanly with no data loss when the device already has a debug build:
    bash
    adb install -r -d app/build/outputs/apk/debug/app-debug.apk
  2. If that still fails (the existing install is a non-debuggable release build), the only way to get the debug build on is to uninstall first — and this wipes the app's local data (DataStore prefs: recently-viewed apps, search history, color scheme). Ask the user before doing this — it's exactly the kind of hard-to-reverse action that needs confirmation, not an assumption:
    bash
    adb uninstall sk.styk.martin.apkanalyzer
    ./gradlew installDebug
Show full SKILL.md (124 more words)Show less

Step 4 — Launch and verify it's actually running

Installing is not running. Launch the main activity and confirm the process is alive with no immediate crash:

bash
adb shell am start -n sk.styk.martin.apkanalyzer/.ui.ApkAnalyzerActivity
sleep 2
adb shell pidof sk.styk.martin.apkanalyzer   # a PID means it's running; empty means it crashed on launch

If pidof comes back empty, pull the crash from logcat rather than guessing:

bash
adb logcat -d -t 200 | grep -A 30 "FATAL EXCEPTION"

Verification

  • adb devices -l showed a device (not unauthorized/offline) before installing
  • Install succeeded — either directly, or via the -r -d / uninstall path in Step 3, with explicit user confirmation before any uninstall
  • App launched via am start and pidof returned a PID (not empty)
  • For a specific feature/screen change: actually navigated to it in the running app, not just confirmed the process didn't crash on the launch screen — see the navigate-app-adb skill to do this via adb instead of a human tapping through the device

© MartinStyk, GPL-3.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-app of MartinStyk/apk-analyzer.

Open the folder on GitHubat commit d807559

Compare with similar skills

Run App 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 App compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run App this skillMartinStyk/apk-analyzer369—~932Automated safety check: PassGPL-3.0
Phone HarnessShawnPana/phone-harness3.2k—~4.3kAutomated safety check: PassMIT
Maa Issue Log AnalysisMaaAssistantArknights/MaaAssistantArknights24k—~4kAutomated safety check: PassAGPL-3.0
Mobile QAtloncorp/tlon-apps107—~2.4kAutomated safety check: PassMIT
Store Listing Screenshotstherxmv/Telegram-Themer119—~2.5kAutomated safety check: PassNone
Maestro ImproveReinaMacCredy/maestro233—~1.9kAutomated safety check: PassMIT

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 yesterday
    MobileAuto-check passed
  • Maa Issue Log Analysis

    MaaAssistantArknights/MaaAssistantArknights

    分析 MaaAssistantArknights 上游仓库公开 Issue(https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/...

    24k GitHub stars~4k tokensUpdated yesterday
    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 yesterday
    MobileAuto-check passed
  • Store Listing Screenshots

    therxmv/Telegram-Themer

    Generate TelegramThemer's Play Store listing images — capture the 8 required app screenshots on a running emulator/device by driving the real UI with adb, then composite them into the final…

    119 GitHub stars~2.5k tokensUpdated 28 days ago
    MobileAuto-check passed
  • Maestro Improve

    ReinaMacCredy/maestro

    Turn filed lessons into the smallest doctrine edit. An agent skill from ReinaMacCredy/maestro.

    233 GitHub stars~1.9k tokensUpdated 11 days ago
    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

More from MartinStyk/apk-analyzer

All 18 skills in this repo
  • Triage Crashes

    MartinStyk/apk-analyzer

    A skill your agent uses to review production Crashlytics crashes and non-fatals for the latest release and file a GitHub issue for each one that isn't tracked yet.

    369 GitHub stars~4.3k tokensUpdated 4 days ago
    Auto-check passed
  • Analyze CI Failure

    MartinStyk/apk-analyzer

    A skill your agent uses to check GitHub Actions build status or diagnose why a workflow run failed and propose a fix.

    369 GitHub stars~1.9k tokensUpdated 4 days ago
    Auto-check passed
  • Capture App Flow Media

    MartinStyk/apk-analyzer

    A skill your agent uses to record or convert ApkAnalyzer app flows into screenshots or GIFs for the README or product docs.

    369 GitHub stars~1.7k tokensUpdated 4 days ago
    Auto-check passed
  • Create Compose Component

    MartinStyk/apk-analyzer

    A skill your agent uses when creating a new reusable Compose UI component that should live in core:ui-library.

    369 GitHub stars~885 tokensUpdated 4 days ago
    Auto-check passed
  • Create Core Module

    MartinStyk/apk-analyzer

    A skill your agent uses when creating a new core or shared library module for domain logic, data access, repositories, managers, or utilities.

    369 GitHub stars~1.7k tokensUpdated 4 days ago
    Auto-check passed
  • Create Feature Module

    MartinStyk/apk-analyzer

    A skill your agent uses when creating a new feature module, screen, or feature area.

    369 GitHub stars~1.6k tokensUpdated 4 days ago
    Auto-check passed

Categories

Questions about Run App

What does Run App do?

A skill your agent uses to build, install, and launch ApkAnalyzer on a connected device or emulator, or to verify a code change actually works at runtime rather than just compiling. Run App is an agent skill from MartinStyk/apk-analyzer. Use to build, install, and launch ApkAnalyzer on a connected device or emulator, or to verify a code change actually works at runtime rather than just compiling.

When should I use Run App?

Run App fits situations like: launch ApkAnalyzer on a connected device; verify a code change actually works at runtime rather than just compiling.

How do I install Run App in Claude Code?

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

How do I install Run App in Codex?

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

Can I use Run App 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 MartinStyk/apk-analyzer --skill run-app -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-app, .gemini/skills/run-app, .github/skills/run-app and .opencode/skills/run-app in your project.

What does Run App need to run?

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

Does Run App 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 App 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 App use?

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

How many tokens does Run App use?

About 932 tokens (SKILL.md is roughly 3.7k 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 App?

Skills that share tags, products or a category with Run App: Phone Harness (ShawnPana/phone-harness, 3.2k stars), Maa Issue Log Analysis (MaaAssistantArknights/MaaAssistantArknights, 24k stars), Mobile QA (tloncorp/tlon-apps, 107 stars) and Store Listing Screenshots (therxmv/Telegram-Themer, 119 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run App?

MartinStyk (a GitHub user) maintains it in MartinStyk/apk-analyzer, which has 369 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 5, 2026.

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