Agent Skills

Android Emu Agent ships an Agent Skill that teaches a coding agent how to drive it. Installing the skill is the difference between an agent guessing at CLI flags and an agent that follows the observe-act-verify loop correctly.

The skill tells the agent:

  • which command to reach for, and when — including the selector escape hatches when a ref fails;
  • how to run the observe-act-verify loop and re-snapshot after every action;
  • how to recover from a failed action instead of blindly retrying;
  • when to ask before write or destructive actions;
  • how to triage crashes, ANRs, and performance problems, and what artifacts to collect.

The skill ships inside the Python package, so any install already has the files on disk.

Install with the CLI

This needs no extra tooling and always matches your installed CLI version:

android-emu-agent skills install --agent claude
android-emu-agent skills install --agent codex

Where the files go:

Agent Command Destination
Claude Code skills install --agent claude ~/.claude/skills/android-emu-agent
Claude Code (project) skills install --agent claude --project .claude/skills/android-emu-agent
Codex skills install --agent codex ~/.codex/skills/android-emu-agent
VS Code skills install --agent vscode --project .agents/skills/android-emu-agent
Any other skills install --dir <path> <path>/android-emu-agent

CLAUDE_CONFIG_DIR and CODEX_HOME are honored when set.

Use --project to commit the skill alongside a repository so your team shares it. Use --dir for any agent not in the table.

Install with npx skills

The skills CLI installs from the GitHub repository and supports many more agents:

npx skills add alehkot/android-emu-agent

Add -a claude-code to pick an agent, -g for a global install, and -y for non-interactive use.

This installs from the repository's main branch, so it can be newer than your installed CLI. The built-in skills install always matches the CLI you have.

Check and update

android-emu-agent skills list   # where it is installed, and which version
android-emu-agent skills path   # the bundled source directory

skills install is safe to re-run: it replaces the previous install and drops files that no longer exist upstream. Re-run it after upgrading the CLI to refresh a copied skill.

If a skill directory exists that the CLI did not create, the command stops rather than overwrite it. Pass --force to replace it.

To remove a skill, delete the directory reported by skills list.

Use it

Give the agent a specific target and task:

Use Android Emu Agent to open Settings on emulator-5554 and verify that Wi-Fi is enabled.
Launch com.example.app on my emulator, sign in with test@example.com, and capture a trace if the
home screen does not appear.
The app crashed on my device. Use Android Emu Agent to find out why and collect the evidence.

Working from a source checkout

Contributors symlink the checkout's skill so edits apply immediately:

./scripts/dev.sh skills          # Codex, Claude, and this repo's .agents/skills
./scripts/dev.sh skills claude   # one target
./scripts/dev.sh skills-validate # validate skill metadata and references

skills install picks the mode automatically: a source checkout is symlinked, an installed package is copied. Override with --copy or --symlink.

When the skill is installed from a checkout, it instructs the agent to run uv run android-emu-agent so that unpublished local changes take precedence over any installed release.