Jorge Turbica / blog · Blog ← All articles ES · Leer en español
Languages

Skill of the day: Android skills, 30 official Google skills to migrate and tune apps

Google ships 30 agent skills for the Android tasks where models struggle most: AGP 9, R8, Compose. What they do, how to install them, what they run.

Thirty skills signed by Google, one for each Android task where, by its own evaluations, models struggle most: migrating to Android Gradle Plugin 9, untangling R8 keep rules, moving from XML views to Jetpack Compose, or from Leanback to Compose for TV. The android/skills repository has passed 8,400 stars and was on GitHub's daily Trending page on October 17, 2026, with its Claude Code plugin at version 1.0.15.

What it does

Each skill is a folder with a SKILL.md in the open Agent Skills format, plus references and scripts in some cases. The agent loads one when the task matches its description: just ask it to "migrate the project to AGP 9" or "make the UI edge-to-edge". Google deliberately leaves out what models already handle well, such as basic Compose best practices.

Two examples show the level of detail:

  • agp-9-upgrade first checks the AGP version and, if it's below 9, stops and asks you to run Android Studio's AGP Upgrade Assistant. It then bumps KSP to 2.3.6 or later and Hilt to 2.59.2 or later, migrates to built-in Kotlin and the new DSL, moves kapt to KSP, removes four flags from gradle.properties and validates with ./gradlew help and ./gradlew build --dry-run. It doesn't support Kotlin Multiplatform projects.
  • r8-analyzer hunts for redundant or overly broad keep rules. It picks one of three paths depending on versions: on AGP 9.3.0 or later it runs ./gradlew :app:analyzeReleaseR8Config and two Python scripts; on older versions it does a heuristic review of proguard-rules.pro. It only produces a Markdown report and is forbidden from modifying files.

The rest cover CameraX, Media3, Navigation 3, Play Billing, secure permissions and intents, Wear OS, Android XR and the new android CLI.

Installing it

With the Android CLI, one skill or all of them:

bash
android skills add r8-analyzer --project=.
android skills add --all
android skills update --all

In Claude Code, as a plugin from its own marketplace (/plugin install android-skills --marketplace android/skills), and in Codex with codex plugin marketplace add android/skills followed by codex plugin add android-skills@android-skills. If the CLI detects no agent and you don't pass --agent, it installs them for Gemini and Antigravity under ~/.gemini/antigravity/skills, not in your project.

Risks and limits

The android-cli skill tells the agent that, if the tool is missing, it should install it with curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash (with macOS and Windows equivalents). It's a Google domain, but it's still a remote script run without review; if your agent can run commands without asking, install the CLI yourself first. The same skill uses android docs to query the Android knowledge base, so it makes network requests.

r8-analyzer needs Python with the protobuf package and runs your project's Gradle tasks, which may download dependencies. Its scripts are referenced by a fixed path, .agents/skills/r8-analyzer/scripts/; if you install it somewhere else, make sure the agent can find them before trusting the report. None of agp-9-upgrade, r8-analyzer or android-cli asks for credentials, and the repository doesn't accept outside contributions, only issues.

Compared with doing it by hand

Without these skills, migrating to AGP 9 meant Android Studio's Upgrade Assistant plus hours of release notes, and R8 analysis depended on reading the configuration by eye. The skill doesn't replace the assistant, it chains onto it: it hands off the version bump and takes care of what the assistant doesn't cover, such as the new DSL, kapt or custom BuildConfig fields. Compared with a generic "Android best practices" skill, the advantage is that these are grounded in the official documentation and kept in step with it: each one carries its last-reviewed date in its metadata.

Sources

Jorge Turbica

Software Engineer and SRE. I write about the real challenges I run into in production.

See portfolio ↗