Open Source Project of the Day (#142): android/skills — Google's Official AI Skill Library for Android Development

Google Android team's official collection of AI-optimized skills covering 13 Android development scenarios (AGP upgrade, CameraX migration, Navigation 3, Edge-to-Edge, and more). Specifically targets areas where LLMs underperform. Compatible with Claude Code, Gemini CLI, Codex, and others. 5.9k Stars, Apache-2.0.

·9 min read·AI Technology

Introduction

"Android Skills cover the workflows where LLMs underperform — not the areas they've already mastered."

This is article #142 in the Open Source Project of the Day series. Today's project is android/skills — Google Android team's official AI skill library.

LLMs are already competent at a lot of Android code. Standard RecyclerViews, basic Jetpack Compose layouts, simple network calls — these appear extensively in training data and models handle them reasonably well.

The hard parts are different: the areas of the Android framework that keep evolving — migrating from Camera1 to CameraX, configuring builds with AGP 9's new approach, understanding the architectural differences between Navigation 3 and the old Navigation Component, correctly configuring ProGuard/R8 rules. Official best practices shift constantly in these areas, and LLM training data doesn't keep up.

android/skills packages developer.android.com's current best practices as Skill files specifically to fill those knowledge gaps. Google's internal data from the launch blog: tasks completed 3× faster compared to agents working without skills, and token consumption reduced by more than 70%.

What You'll Learn

  • What all 13 official skills cover — which Android scenarios Google identifies as LLM weak spots
  • Installation and usage: Android CLI commands + Android Studio integration
  • On-demand loading architecture: how skills activate automatically without polluting the context window
  • Writing custom skills: encoding your team's workflows into private SKILL.md files
  • Compatibility with Claude Code, Gemini CLI, Codex, and others
  • The companion tools: Android CLI and Android Knowledge Base

Prerequisites

  • Android development experience (familiarity with Gradle build system, Jetpack libraries)
  • Experience with Claude Code, Gemini CLI, or a similar AI coding tool
  • Basic familiarity with the agent skills concept

Project Background

What Is android/skills?

android/skills is Google's official Android development AI skill repository, released alongside Android CLI in April 2026.

Skill files are Markdown format (SKILL.md) following the agentskills.io open standard. Each skill contains: metadata (name, description, trigger conditions) + step-by-step execution instructions + optional scripts and reference documentation.

The selection criterion is explicit: focus on scenarios where LLM evaluations show underperformance, not areas where models already do well (like basic Compose components). That explains why the skill list doesn't include "write a Button" but does include "migrate from Camera1 to CameraX."

Author / Team

Project Stats

  • ⭐ GitHub Stars: 5,900+
  • 🍴 Forks: 328+
  • 📦 Releases: 14
  • 📄 License: Apache-2.0

All 13 Official Skills

CategorySkillProblem It Addresses
BuildAGP 9 UpgradeBreaking changes and migration path for AGP 9
CameraCamera1 → CameraXCamera API migration best practices
Device AIApp FunctionsOn-device AI feature integration
Dev ToolsAndroid CLIUsing Android CLI itself
IdentityVerified EmailEmail verification implementation
UIJetpack ComposeBest practices for Compose weak spots
NavigationNavigation 3Nav3 setup and migration from old Nav
PerformanceR8 AnalyzerR8 configuration audit and optimization
SecurityAndroid Intent SecurityIntent security best practices
SystemEdge-to-EdgeModern edge-to-edge UI implementation
TestingTesting SetupTest infrastructure configuration
WearWear Compose M3M3 components for Wear OS
XRDisplay Glasses (Compose Glimmer)Compose for XR devices

A few worth highlighting:

R8 Analyzer: ProGuard/R8 rules are among the most difficult parts of an Android build to tune. LLMs typically give generic R8 rule suggestions without precision for specific scenarios (reflection, third-party library obfuscation). This skill encodes the complete R8 configuration analysis workflow.

AGP 9 Upgrade: Every major AGP version introduces breaking changes. AGP 9 includes deprecated APIs and new build behavior that exists in almost no training data. The skill provides the current up-to-date upgrade path.

Camera1 → CameraX: Camera1 API has been deprecated for years, but many older projects still use it. The migration path has details — like the Camera2 to CameraX adapter layer — that LLMs handle poorly.

Navigation 3: Navigation 3 and the old Navigation Component differ architecturally, not just at the API level. The skill includes design decisions and migration guidance.


Core Features

Installation

Method 1: Android CLI (recommended)

# List all available skills
android skills list
 
# Install a single skill
android skills add --skill=r8-analyzer --project=.
 
# Install all skills (across all detected agents)
android skills add --all
 
# Target specific agents
android skills add --skill=navigation-3 --agent=claude-code,gemini-cli

If no existing agent configuration is detected, skills install to ~/.gemini/antigravity/skills by default.

Install locations by agent:

  • Claude Code: ~/.claude/skills/
  • Gemini CLI: ~/.gemini/skills/
  • Android Studio: .skills/ or .agent/skills/ at project root

Method 2: Android Studio

  1. Download the skill directory from GitHub
  2. Import via Android Studio → Gemini → Skills
  3. Or place the skill directory directly under .skills/ in project root

Usage

Automatic activation:

Once installed, when an AI agent detects that a prompt matches a skill's description, the skill loads automatically.

You say to Claude Code: "Update this Activity to support edge-to-edge UI"

Agent detects "edge-to-edge" context, matches skill description

Edge-to-Edge skill loaded (SKILL.md + associated resources)

Task executed using the skill's step-by-step guidance

Manual invocation (Android Studio):

Type @skill-name in the Gemini chat to trigger directly:

@edge-to-edge Help me update the WindowInsets handling in this Activity

On-Demand Loading Architecture

Skills aren't all loaded into the context window upfront — they're pulled on demand:

Request arrives

Agent reads all skill metadata (description fields — lightweight)

Relevant skill identified via description matching

Full SKILL.md + attached resources loaded into context window

Task executes with complete expert context
 
No matching skill: nothing loaded, context window unaffected

This avoids the inefficient pattern of "stuff all skills into the system prompt" — only relevant knowledge loads, only when it's needed.


Deep Dive

SKILL.md Format

Both official and custom skills use the same format:

---
name: r8-analyzer              # max 64 chars, lowercase and hyphens only
description: >                 # max 1024 chars — this is what agents use to match
  Use this skill when the user needs to analyze or optimize an Android
  app's R8/ProGuard configuration. Applicable when debugging obfuscation
  issues, reducing APK size, or fixing runtime crashes after enabling R8.
metadata:
  author: android
  version: "1.0"
---
 
## Skill Instructions
 
(Markdown step-by-step instructions here, target 10,000–20,000 characters)
 
### Step 1: Analyze existing configuration
...
 
To run a helper script: `scripts/analyze_rules.py`
Reference docs: See `references/r8-guide.md`

The description field is critical: these 1024 characters determine when an agent activates this skill. Too broad ("for Android development") causes false triggers; too narrow misses legitimate activation points. Writing good descriptions is where skill quality lives.

Custom Skills: Encoding Your Team's Patterns

This is the most underappreciated capability in android/skills: any team can write their own skills in the same format.

Typical use cases:

Your team has a standard module structure convention
→ Write that convention as a SKILL.md
→ Place it in the project's .skills/ directory
→ Every time AI creates a new module, it follows your convention automatically

Directory structure:

project-root/
└── .skills/
    ├── team-module-template/
    │   ├── SKILL.md            # Required, case-sensitive
    │   ├── scripts/
    │   │   └── create_module.sh
    │   └── references/
    │       └── architecture-guide.md
    ├── internal-api-patterns/
    │   └── SKILL.md
    └── ci-setup/
        └── SKILL.md

These private skills are scoped to the project directory — they don't affect other projects.

Important: If you modify an official skill, rename it first before modifying — android skills add will overwrite skills with matching names on update.

The Companion Toolchain

android/skills is part of a three-component release:

Android CLI:

android sdk install         # Download only the SDK components you need
android create              # Create projects from official templates
android emulator            # Manage virtual devices
android run                 # Build and deploy apps
android skills              # Manage skills
android docs                # Access the Knowledge Base

The CLI's purpose: let AI agents operate the Android toolchain through standardized commands, reducing failures caused by environment differences (for example, ./gradlew assembleDebug path variations across environments).

Android Knowledge Base:

  • Continuously syncs developer.android.com, Firebase docs, Kotlin docs
  • Addresses the LLM training data staleness problem
  • Accessed through the android docs command

Claude Code Integration

android/skills is fully compatible with Claude Code. After installing:

android skills add --all --agent=claude-code

With skill files in ~/.claude/skills/, Claude Code automatically detects and loads relevant skills when handling Android tasks — no additional configuration needed.


Official Resources


Conclusion

android/skills' value isn't just "13 skill files." It's Google's public answer to two questions: which Android development scenarios are genuine LLM weak spots, and how to fill those gaps with structured skill files that agents can execute.

"Focus on areas where LLM evaluations show underperformance" is a principle worth studying. It explains why these skills have practical value — they're not redundant with what LLMs already know; they're targeted at specific knowledge gaps.

The open custom skill format means any team can apply the same mechanism to internal architecture conventions, code style guidelines, and common operational workflows — encoding them as AI-executable skills instead of repeatedly pasting them into system prompts.

For Android developers, this is one of the most direct AI toolchain upgrades currently available — Google-maintained, continuously updated, compatible with multiple agents.


Explore PrimeSkills — A marketplace for handpicked AI Agents and skills. Each is validated in real enterprise workflows, stripping away hype and keeping only what truly works.

Welcome to my Homepage for more useful insights and interesting products.