К основному содержанию
скилл CX Codex

play-billing-library-version-upgrade — скилл для Claude Code

Скилл ведёт Android-проект с устаревшей Google Play Billing Library до актуальной стабильной версии. Он сам находит зависимость в Gradle и проверяет сборку после каждого шага.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add android/skills --skill play-billing-library-version-upgrade -a claude-code
Открыть на GitHub

Что делает play-billing-library-version-upgrade

Скилл проводит проект через обновление Play Billing Library: ищет зависимость com.android.billingclient:billing в build.gradle, build.gradle.kts или libs.versions.toml, пробует собрать проект и только после падения сборки лезет в код искать устаревшие API. Отправная точка считается по последнему месту, где эти API ещё жили: если в коде остался SkuDetails, за базу берётся PBL v7 или ниже, что бы ни было написано в Gradle.

Дальше он сверяет гайды миграции и release notes по каждой мажорной версии, печатает чек-лист правок и идёт по нему. Внутри два файла: references/migration-logic.md с паттернами замены и references/version-checklist.md со списком проверок по версиям.

Разрыв больше двух мажоров означает ступенчатую миграцию: после каждого прыжка через две версии запускается ./gradlew assembleDebug. Пропустить эту проверку нельзя, иначе пропущенные breaking changes всплывут только на финальной версии. Заодно выравниваются требования к SDK: PBL 9, например, требует compileSdk 35. В конце идут ./gradlew test, ./gradlew clean assembleDebug, ./gradlew sync и ./gradlew build, а отчёт объясняет каждое удаление вроде самописного retryConnection(), которое теперь заменяет enableAutoServiceReconnection().

Какие задачи решает

  • Поднять зависимость com.android.billingclient:billing до актуальной стабильной версии
  • Определить реальную версию PBL, когда версия в Gradle расходится с кодом
  • Заменить устаревшие API вроде SkuDetails на текущие классы
  • Разбить миграцию через несколько мажоров на шаги с проверкой сборки
  • Прогнать чек-лист по всем пропущенным версиям и тесты перед релизом

Примеры запросов агенту

  • Обнови Play Billing Library до последней стабильной версии, зависимость лежит в libs.versions.toml
  • В коде ещё остался SkuDetails. Разберись, какая версия PBL реально стоит, и проведи миграцию
  • Пройди чек-лист по всем пропущенным версиям PBL и прогони ./gradlew test

Как установить play-billing-library-version-upgrade

1Через Skills CLI (Vercel)

npx skills add android/skills --skill play-billing-library-version-upgrade -a claude-code

2Вручную: положить файлы

~/.claude/skills/play-billing-library-version-upgrade/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/play-billing-library-version-upgrade/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о play-billing-library-version-upgrade

Как установить play-billing-library-version-upgrade в Claude Code?

Выполните npx skills add android/skills --skill play-billing-library-version-upgrade -a claude-code. Файл скилла после этого лежит в ~/.claude/skills/play-billing-library-version-upgrade/SKILL.md.

Что делает play-billing-library-version-upgrade?

Ведёт миграцию Android-проекта со старой Play Billing Library на актуальную стабильную: находит зависимость, определяет действующую версию по устаревшим API, составляет план правок и проверяет результат тестами и сборкой.

Как скилл выбирает прямую или ступенчатую миграцию?

Если до целевой версии не больше двух мажоров, миграция идёт напрямую. Иначе скилл переходит на две мажорные версии за раз и после каждого перехода запускает ./gradlew assembleDebug.

Исходный текст

SKILL.md · Apache-2.0
---
name: play-billing-library-version-upgrade
description: Use this skill when upgrading or migrating an Android project from any
  legacy Google Play Billing Library (PBL) version to the latest stable version of
  PBL.
license: Complete terms in LICENSE.txt
metadata:
  author: Google LLC
  last-updated: '2026-10-06'
  keywords:
  - android
  - play billing
  - play billing library
  - pbl
  - upgrade
  - migration
  - deprecation
  - google play
---

## Phase 0: Intent Message

**Reporting Action**: Before proceeding, immediately tell the user: "I will
upgrade Play Billing Library to the latest version."

## Phase 1: Discovery \& Situational Awareness

1. **Primary Check (Build Version)** : Locate the project's billing dependency (e.g., `com.android.billingclient:billing`) in `build.gradle`, `build.gradle.kts`, or `libs.versions.toml`.
2. **Initial Compilation Test**: Attempt to sync and build the project immediately.
3. **Fallback Discovery (Effective Version)** :
   - **Trigger**: Only if the build fails immediately, scan the source code for deprecated artifacts.
   - **Logic** : The presence of deprecated APIs indicates the **"Effective
     Version"** ---defined as the version where those specific APIs were **last
     available**, not when they were introduced.
   - **Example** : If `SkuDetails` is present, treat the baseline as **PBL v7** or earlier (regardless of the version string in `build.gradle`).
4. **Identify Target \& Path** : Access the version tool or release notes to find the latest stable version and calculate a \[Direct/Stepped\] migration path based on the **Effective Version** baseline.

- **Calculate Migration Path** :
  - If the **Effective Version** is within 2 major versions of the target: Plan a **Direct Migration**.
  - If it is more than 2 major versions behind: Plan a **Stepped
    Migration**. Migrate by two major versions at a time (e.g., v4 -\> v6 -\> v8) until you are within two versions of the target.
- **Reporting Action**: Before proceeding, tell the user: "I've detected you are effectively on PBL \[Current\] and the latest is \[Target\]. I am planning a \[direct/stepped\] migration path."

## Phase 2: Contextual Document Mapping \& Planning

For every major version jump identified in your path, you **MUST** synthesize
instructions from:

- **[Migration Guide](https://developer.android.com/google/play/billing/migrate-gpblv%5BX%5D)** (where `[X]` is the target major version).
- **Release Highlights** : The "Deprecations" and "Breaking Changes" sections of the relevant [Release Notes](references/android/google/play/billing/release-notes.md).
- **Developer Documentation**: Consult your knowledge of the Google Play Billing documentation regarding the relevant features used in this app (e.g., Subscriptions, One-Time Products).
- **Develop the Plan**: Identify every specific code change required (API removals, class replacements, logic shifts) and print this out as a checklist.

## Phase 3: Instructions for Execution

*Reporting Action: For each of the following steps, give a brief explanation of
what you will be doing prior to execution, and a brief summary of what you
accomplished afterwards.*

### Step 1: SDK \& Environment Alignment

- **Action** : Update `build.gradle` to meet SDK requirements (e.g., "PBL 9 requires `compileSdk` 35").
- **Gradle Version**: Verify if the new library requires a newer Android Gradle Plugin (AGP) or Kotlin version.

### Step 2: Intent-based Refactoring

Analyze the intent of the existing code rather than performing purely textual
string replacement.

- **Action** : You **MUST** follow all deprecation instructions and refactor patterns from **both** the [references/migration-logic.md](references/migration-logic.md) section, the official migration guides, and the general documentation pages identified in Phase 2.
- **Verification** : Verify you are doing **all steps from all documentation** and then making sure you follow the specific directions from the checklist in the references.

### Step 3: Sequential Verification (Only applicable for Stepped Migrations)

1. **Upgrade** to the first major intermediate version in your path.
2. **Run `./gradlew assembleDebug`** to verify no intermediate breaking changes were missed.
3. **Repeat** until you reach the final target version.

### Step 4: Final Validation Checklist

1. **Smart Checklist Verification**:
2. Open [references/version-checklist.md](references/version-checklist.md) and locate the **Smart Version-Specific Checklist**.
3. **Action**: For every version between your \[Detected Effective Version\] and \[Detected New Version\], verify that every item has been addressed in the code using "Find in Files" or structural analysis.
4. **Tests** : Run all unit and implementation tests (`./gradlew test`).
5. **Clean Build** : Verify the project completes a full clean build: `./gradlew clean assembleDebug`. Then, run `./gradlew sync` and `./gradlew build` so that the user can immediately test the new version manually.

## Final Report

Explain the "Why" to the developer:

- "I updated your SDK to \[Version\] because PBL \[Version\] requires it for \[Reason from docs\]."
- "I removed your custom `retryConnection()` logic because it is now handled natively by the library using `enableAutoServiceReconnection()`."
- "Successfully upgraded from PBL \[Old\] to PBL \[New\] and verified with unit tests. Based on an analysis of features in the latest library and this application's current feature set, I suggest exploring \[New Feature\] (e.g., Prepaid Plans or Installments) from the latest release because it is now available but not yet implemented."

© Google LLC · Apache-2.0 · android/skills

Похожие скиллы

Всё по теме «Мобильная разработка» →
rc-alternative-billing RevenueCat Скилл помогает разобраться, какие программы альтернативного биллинга Google Play закрывает RevenueCat Android SDK, а какие придётся делать самому. CX Codex +1 603установок capacitor-app-upgrade-v7-to-v8 Cap-go Ведёт приложение на Capacitor 7 к восьмой версии: сначала npx cap migrate, потом ручной чек-лист по iOS и Android. CX Codex +1 704установок capacitor-app-upgrade-v6-to-v7 Cap-go Ведёт приложение на Capacitor с версии 6 на 7: сначала автоматическая миграция, потом ручной чек-лист по iOS, Android и плагинам. CX Codex +1 643установок play-developer-console rjyo Скилл для работы с Google Play Developer Console через локальный CLI play: метаданные, графика, треки, бандлы, отзывы и подписки. CX Codex +1 666установок rc-revenuecat-vs-raw-billing RevenueCat Скилл помогает решить, брать RevenueCat или писать Google Play Billing напрямую: показывает, что уходит на сторону SDK, а что остаётся вашей команде. CX Codex +1 601установок google-play fetcher-sh Скилл даёт агенту доступ к поиску, деталям, отзывам и разрешениям Android-приложений через HTTP-запросы. Пригодится для ASO-исследований и мониторинга конкурентов. CX Codex +1 3 600установок

Из того же набора24

testing-setup Анализирует текущую стратегию тестирования Android-приложения и помогает установить библиотеки, инфраструктуру и фреймворки для unit-тестов, UI-тестов, скриншот-тестов и e2e-тестов. CX Codex +1 2 500установок adaptive Настраивает адаптивный интерфейс Android-приложений на Jetpack Compose под телефоны, планшеты, складные устройства и десктоп. Спасёт при переносе экрана на экраны разных размеров. CX Codex +1 2 400установок migrate-xml-views-to-jetpack-compose Ведёт миграцию одного XML-экрана Android в Jetpack Compose: от аудита до проверки и удаления устаревшей разметки. CX Codex +1 2 400установок styles Ведёт агента по переводу Android-проекта на экспериментальный Jetpack Compose Styles API: зависимости, тема, кастомные компоненты. CX Codex +1 2 200установок android-intent-security Находит уязвимости перенаправления интентов и проверяет настройки компонентов в AndroidManifest.xml и коде приложения. CX Codex +1 1 700установок engage-sdk-integration Ведёт интеграцию Play Engage SDK в Android-приложение: находит вертикаль, собирает классы публикации, правит Gradle и проверяет сборку. CX Codex +1 1 500установок display-glasses-with-jetpack-compose-glimmer Правила разработки приложений для очков с дисплеем на Jetpack Compose Glimmer: темы, фокус, работа с аддитивным экраном. CX Codex +1 1 500установок appfunctions Находит пользовательские сценарии в коде Android и генерирует код на Kotlin для вызова функций через ИИ-агентов без открытия экрана приложения. CX Codex +1 1 600установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой