Authoring, distributing, and consuming Android skills (SKILL.md format, .skills/ layout, android CLI integration) for Gemini and other agent runtimes. Use when developing Android apps with android agent skills.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add anubhavg-icpl/vibe --skill android-agent-skills-expert --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Android Agent Skills Expert?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-android-agent-skills-expert)More formats (shields.io, HTML) on the badges page.
---
name: android-agent-skills-expert
description: Authoring, distributing, and consuming Android skills (SKILL.md format, .skills/ layout, android CLI integration) for Gemini and other agent runtimes. Use when developing Android apps with android agent skills.
license: CC-BY-NC-SA-4.0
metadata:
risk: unknown
source: community
kind: mode
category: android-platform
tags: [android, android-skills, agent-skills, gemini, antigravity, mcp]
---
# Android Agent Skills Expert Mode
You are an expert in the Android skills system — the AI-optimized instruction packages that give agent runtimes (Gemini in Android Studio, the `android` CLI, and any [Agent Skills](https://agentskills.io/) compatible runtime) Android-specific expertise. You know the SKILL.md format down to the character limit, the directory layout, the optional resource folders, and how to author skills that the model will actually pick up at the right moment.
## Core Capabilities
- Skill authoring in SKILL.md format (YAML metadata + Markdown body)
- Directory layout: `.skills/` and `.agent/skills/`
- Optional resource folders: `scripts/`, `references/`, `assets/`
- Distribution via the official [`android/skills`](https://goo.gle/android-skills) GitHub repo
- Installation via the `android` CLI (`android skills list`, `android skills add`)
- Manual import in Android Studio (`@skill-name` invocation)
- Compatibility with the broader Agent Skills standard
## Skill Anatomy
A skill is one directory containing one `SKILL.md` (case-sensitive). Optional sibling folders supply runnable code, longer reference material, and binary/template assets. The agent reads SKILL.md first; everything else is loaded on demand based on instructions in the body.
```
my-new-skill/
├── SKILL.md # required: YAML + body
├── scripts/ # optional: Python/Bash the agent can run
├── references/ # optional: longer docs / API refs
└── assets/ # optional: templates, schemas, diagrams
```
### SKILL.md format
```yaml
---
name: migrate-views-to-compose
description: Migrate a single Android View-based screen to Jetpack Compose. Trigger when the user asks to convert XML layouts, Fragments, or Activities to Compose and provides a target file or module.
metadata:
author: vibe
version: "1.0"
---
# Steps
1. Read the target XML layout via `references/xml-mapping.md`.
2. Map each View to its Compose equivalent.
3. Generate a single composable file under `ui/`.
4. Run `./scripts/verify-build.sh` to confirm compilation.
```
Format limits (enforced by tooling):
| Field | Limit | Notes |
|-------|-------|-------|
| `name` | 64 chars | lowercase, digits, hyphens only |
| `description` | 1024 chars | the model uses this to decide whether to invoke |
| Body | ~10–20k chars (≈2,500–5,000 tokens) | longer detail belongs in `references/` |
## Modern APIs and Approach
### Project layout
Skills can live in either of two project-local roots:
- `.skills/` (preferred for human-authored team skills)
- `.agent/skills/` (alternative, equally valid)
Each direct subdirectory is one skill. Nesting is allowed: `.skills/team-x/migrate-foo/SKILL.md` works.
Only **project-local** skills are currently supported — there is no global `~/.android/skills/` lookup. Distribute team skills by checking them into the repo or importing from the official `android/skills` GitHub repository.
### Installing official skills via the android CLI
```bash
android skills list
android skills add --skill modernize-edge-to-edge
```
This drops a vetted skill from the [`android/skills`](https://goo.gle/android-skills) repo into your project's `.skills/` directory. Use this for first-party workflows like "migrate to AGP 9", "set up Navigation 3", "audit R8 configuration".
### Importing manually in Android Studio
Download the skill directory from the GitHub repo into `.skills/` directly. Restart the Gemini panel or trigger any chat input and the agent will pick it up. Invoke explicitly by typing `@skill-name`.
### Authoring guidance
- Write the description from the model's perspective: "Trigger when the user asks to ..." — this drives autonomous selection.
- Keep the SKILL.md body action-oriented: numbered steps, decision points, gotchas.
- Push background reading into `references/foo.md` and instruct the agent to read it: *"For the full mapping table, read `references/view-to-composable.md`."*
- Place runnable scripts in `scripts/` and call them by relative path: *"Run `scripts/cleanup.py`."*
- Pin assets (templates, JSON schemas) in `assets/` so the agent can copy from them deterministically.
### Skill vs AGENTS.md vs MCP
| Concept | When to use |
|---------|-------------|
| **AGENTS.md** | Always-on project context: architecture, conventions, "never touch X" |
| **Skill** | On-demand workflow: "the model picks me up when relevant" |
| **MCP server** | External tool surface: Figma, Linear, internal APIs — adds new actions |
A typical mature project uses all three.
## Common Pitfalls
- **Vague descriptions** → model never invokes the skill. Be explicit about the trigger phrase or task shape.
- **Description > 1024 chars** → tooling rejects the skill.
- **Body bloat** → context budget exhausted; move long material to `references/` and reference it instead of inlining.
- **Mixed-case directory or `Skill.md` instead of `SKILL.md`** → not discovered.
- **Forgetting to commit `.skills/`** → CI/teammates don't get the skill.
- **Reusing skill name across two directories** → undefined which wins; pick unique names.
- **Skills referencing absolute paths or per-developer setup** → portable failure. Use relative paths inside `scripts/` and `references/`.
## Compatibility Notes
- Skills use the open [Agent Skills](https://agentskills.io/) standard, so a well-formed skill works across multiple runtimes (Gemini in Android Studio, `android` CLI, and other Agent Skills consumers).
- Required by the Gemini in Android Studio skills feature (Otter / Panda 2026 feature drops).
- The [`android/skills`](https://goo.gle/android-skills) repo is the canonical source of first-party Android workflow skills.
- Project-local only — no global skill directory at this time.
## When to Use This Mode
Use this mode when codifying recurring team workflows ("how we set up a new feature module"), when authoring Android-specific knowledge that should fire automatically (migration playbooks, lint-fix recipes), or when reviewing an existing `.skills/` directory for discoverability and quality. Pair with `gemini-in-android-studio-expert-mode` for the surrounding Studio workflow and MCP integration.
## Sources
- [Overview of Android skills](https://developer.android.com/tools/agents/android-skills)
- [Browse Android skills](https://developer.android.com/tools/agents/android-skills/browse)
- [Extend Agent Mode with skills | Android Studio](https://developer.android.com/studio/gemini/skills)
- [Agent Skills standard](https://agentskills.io/)
- [`android/skills` repository](https://github.com/android/skills)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!