android-emulator

android-emulator is a skill for Claude Code, Codex from ChunkyTofuStudios/flutter-skills. It costs 201 tokens per session (4,038 once invoked), scanned A, original, MIT.

A command-line helper for running and controlling a Flutter app on an Android emulator. An Android emulator is a virtual phone; the helper provides screenshots, accessibility information, and touch actions such as taps, swipes, and pinches.

In plain words
What is it for?
Use it to boot an emulator, launch and debug a Flutter app, inspect its accessible controls, perform touch interactions, and capture screenshots for smoke tests or quality checks.
Why use it?
It gives an AI coding agent a way to see and operate the virtual phone when ordinary computer-control tools cannot access the emulator window. It also avoids relying only on guessed screen coordinates.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to boot an emulator, launch and debug a Flutter app, inspect its accessible controls, perform touch interactions, and capture screenshots for smoke tests or quality checks.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/chunkytofustudios/flutter-skills/android-emulator
Install

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.

Any agent
npx skills add ChunkyTofuStudios/flutter-skills --skill android-emulator
Clone the repo
git clone --depth 1 https://github.com/ChunkyTofuStudios/flutter-skills

Made for: Claude Code, Codex.

Its marketplace also offers this one on its own, as the plugin android-emulator — /plugin install android-emulator after adding the marketplace above.

Wrote 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.

agentmods badge for android-emulator

README.md
[![agentmods](https://agentmods.dev/badge/skills/chunkytofustudios/flutter-skills/android-emulator/github.svg)](https://agentmods.dev/skills/chunkytofustudios/flutter-skills/android-emulator)
Your own site
<a href="https://agentmods.dev/skills/chunkytofustudios/flutter-skills/android-emulator"><img src="https://agentmods.dev/badge/skills/chunkytofustudios/flutter-skills/android-emulator/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.

agentmods 80×15 button for android-emulator

Your own site · 80×15
<a href="https://agentmods.dev/skills/chunkytofustudios/flutter-skills/android-emulator"><img src="https://agentmods.dev/badge/skills/chunkytofustudios/flutter-skills/android-emulator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 201 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,038 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00201 $0.04038
Opus 5.5 $0.00080 $0.01615
Sonnet 5.5 $0.00040 $0.00808
Haiku 4.5 $0.00020 $0.00404

Measured 1mo ago against content hash 9f67a87ae5e3, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

android-emulator 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 1mo ago.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/emu.sh, tests/helpers.bash), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/android-emulator/SKILL.md · 235 lines

How it starts

The opening of the file, as written. The whole thing — 235 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Android emulator (Flutter)

A bash helper that wraps adb and the qemu emulator console so an AI agent can see (screenshots, accessibility tree) and act on (tap, long-press, swipe, pinch) a Flutter app running on an Android emulator. Computer-use APIs cannot reach the emulator window (qemu has no macOS app bundle), and adb shell input is single-touch only — this script bridges both gaps.

When to use this

The user wants to launch, debug, smoke-test, QA, or screenshot a Flutter app on Android. Reach for this skill before resorting to coordinate-guessing, manual screenshotting via DevTools, or asking the user to run flutter run themselves.

Setup

The script assumes a working Android SDK install (with adb and emulator on $PATH or in ~/Library/Android/sdk/ / ~/Android/Sdk/), at least one AVD created, and Flutter (or fvm) installed. macOS-only utility: sips (used to resample screenshots — ships with macOS). On Linux, swap in convert from ImageMagick if porting.

The script is at scripts/emu.sh relative to this skill. Once the skill is wired into your project (see README.md), agents call it with that relative path.

Quick start (cold boot to interactive)

scripts/emu.sh boot        # start an AVD (cold boot), idempotent
scripts/emu.sh run         # flutter build & install in background (~30–60s first time)
scripts/emu.sh wait-run    # blocks until attached or errors (180s timeout)
scripts/emu.sh health      # sanity check
scripts/emu.sh ui-list     # see what's on screen — start here, not screenshot

run auto-detects the project root (walks up to find pubspec.yaml) and uses fvm flutter if the project pins it. Always pair run with wait-run instead of sleep — the daemon's stdin is gone, so timing is the only signal that the build finished.

Commands

Emulator lifecycle

Command What it does
boot Start the AVD in cold boot (-no-snapshot-load) and block until sys.boot_completed. Idempotent — if the device is already online, returns immediately. AVD defaults to the first one listed by emulator -list-avds; pin with ANDROID_EMU_AVD.
exit Shut down the running emulator via the qemu console (kill).
health One-shot status: connection, AVD name, resolution, foreground app, detected project root, detected package, flutter log size. Run this first to orient. Exits non-zero if the device isn't connected.
devices / size / foreground Raw adb devices / wm size / focused activity.
app-running Exit 0 if the target package is the focused app, 1 otherwise. Use in scripts.

Read the full file on GitHub · 235 lines

Changes

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.

  1. 1mo ago First seen · 235 lines · 201 tokens per session scan A 9f67a87ae5e3

Subscribe to this mod's changes

android-emulator is a skill published in the GitHub repository ChunkyTofuStudios/flutter-skills (5 stars, last pushed 5mo ago), licensed MIT. It adds 201 tokens to every session and 4,038 once invoked, about $0.0008 per session on Opus 5.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-31.