Любой мобильный разработчик, пытавшийся доверить рефакторинг Android-приложения современным кодинг-агентам вроде Claude Code, Cursor или Gemini Code Assist, неизбежно сталкивался с эффектом «машины времени». Обученные на гигантских массивах репозиториев пятилетней давности, языковые модели с поразительным упорством генерируют устаревший XML-код, предлагают давно заброшенные плагины сборки Android Gradle Plugin (AGP) и изобретают синтаксис библиотек, не совместимый с актуальной версией Kotlin.
Чтобы устранить эту пропасть между устаревшими весами нейросетей и стремительно меняющейся экосистемой Android, команда Google представила официальный открытый репозиторий Android Skills (github.com/android/skills). Инициатива опирается на открытую спецификацию Agent Skills, превращая сухую документацию Google Developers в модульные исполняемые пакеты знаний, которые агент может подгружать в контекст по мере необходимости.
Проклятие устаревших обучающих датасетов: почему модели путают Compose и XML
Проблема не в том, что базовые модели «глупы», а в фундаментальной инерции больших обучающих корпусов. В открытом доступе на GitHub до сих пор преобладают миллионы строк устаревшего кода: многостраничные XML-разметки, громоздкие адаптеры RecyclerView, устаревшие методы findViewById и нетипобезопасные переходы между экранами.
Когда разработчик просит агента создать новый экран, модель выбирает наиболее статистически вероятный путь — и выдает код пятилетней давности. Попытки решить проблему с помощью гигантских системных промптов быстро приводят к исчерпанию контекста и путанице в инструкциях. Нужен был стандартизированный способ поставлять актуальный инженерный контекст: библиотеки Jetpack Compose BOM 2026 года, правила сборки AGP 9 и спецификации Navigation 3.
Стандарт Agent Skills: знание как модульный пакет
Репозиторий Google Android Skills решает задачу через концепцию отчуждаемых навыков. Каждый навык представляет собой изолированную директорию в проекте, содержащую три ключевых компонента:
- Манифест инструкций
skill.md: структурированное описание задачи на естественном языке с YAML-метаданными, где указаны минимальные совместимые версии инструментов, целевые файлы и пошаговый алгоритм действий. - Шаблоны и правила стилей (Templates & Linters): эталонные сниппеты кода, предохраняющие агента от изобретения собственных архитектурных велосипедов.
- Проверочные скрипты: детерминированные тесты, которые агент обязан выполнить после внесения правок для подтверждения успешности сборки.
Стандарт не привязан к проприетарным экосистемам Google: спецификацию Agent Skills поддерживают любые терминальные агенты и среды разработки.
Терминальный рабочий процесс: управление навыками через Android CLI
Для управления навыками разработчики используют стандартную утилиту командной строки android CLI. Вместо ручного копирования файлов из документации достаточно выполнить одну команду:
# Просмотр каталога официальных навыков в репозитории Google
android skills list
# Добавление навыка пошаговой миграции на Jetpack Compose в проект
android skills add compose-migration --project=.
# Подключение навыка предрелизного аудита оптимизатора R8 и AGP 9
android skills add agp9-r8-audit --project=.
# Проверка актуальности локально установленных модулей знаний
android skills status
После выполнения команды в корне вашего репозитория появляется директория .skills/, к которой установленный в IDE агент мгновенно получает доступ при анализе кодовой базы.
Внутренности манифеста: как устроен сценарий миграции в skill.md
Манифест навыка написан так, чтобы у языковой модели не оставалось пространства для двусмысленных трактовок. В нем жестко фиксируются зависимости сборки и правила трансформации старых представлений в декларативные функции.
Ниже приведен фрагмент спецификации навыка миграции интерфейса (.skills/compose-migration/skill.md), обучающий агента переписывать экраны на современный декларативный стек:
---
name: compose-migration
description: Пошаговая миграция UI-компонентов из устаревшей XML-верстки в декларативный Jetpack Compose с поддержкой Material 3.
compatibility:
agp_min: "9.0.0"
compose_bom: "2026.10.00"
---
# Instructions for Android Agent
## Step 1: Inspect Layout Dependencies
Проверь файл `app/build.gradle.kts`. Убедись, что активирован флаг `buildFeatures.compose = true` и подключен актуальный Compose BOM:
```kotlin
buildFeatures {
compose = true
}
dependencies {
val composeBom = platform("androidx.compose:compose-bom:2026.10.00")
implementation(composeBom)
implementation("androidx.compose.material3:material3")
}
Step 2: Convert XML Views to Composable Functions
- Замени каждый
<TextView>на вызов функцииText(). - Замени контейнеры
<LinearLayout android:orientation="vertical">наColumn(). - Для списков
<RecyclerView>используйLazyColumnс блокомitems(itemsList). - Убедись, что все внешние отступы переведены в модификатор
Modifier.padding(...).
Видя такой манифест, агент действует строго по шагам: сначала проверяет конфигурацию Gradle, добавляет недостающие артефакты и только затем последовательно переписывает разметку.
#### Тестирование на реальном железе: облачный стриминг и аудит Google Play
Google пошла дальше простой генерации кода и связала навыки с облачной инфраструктурой тестирования:
* **Android Device Streaming**: через консольные команды агент может отправить скомпилированный APK в облачный пул физических смартфонов Google Pixel и в реальном времени проверить, корректно ли интерфейс отрисовывается в режиме Edge-to-Edge без наложения на системные панели навигации.
* **Play Policy Audit**: специализированный навык перед отправкой коммита проверяет манифест приложения `AndroidManifest.xml` на соответствие актуальным требованиям безопасности Google Play Store, блокируя запросы избыточных системных разрешений (например, доступ к фоновой геолокации или SMS).
Каталог Android Skills демонстрирует правильный вектор развития инструментов разработки: вместо бесконечного ожидания моделей следующего поколения инженеры упаковывают платформенную экспертизу в стандартизированные исполняемые модули.
