skills/gplay-rollout-management/SKILL.md
Staged rollout orchestration and monitoring for Google Play releases. Use when implementing gradual release strategies.
npx skillsauth add tamtom/gplay-cli-skills gplay-rollout-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when you need to manage gradual releases on Google Play.
Staged rollout releases your app to a percentage of users, allowing you to:
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--rollout 10
This releases to 10% of users.
gplay promote \
--package com.example.app \
--from beta \
--to production \
--rollout 25
# Increase to 25%
gplay rollout update \
--package com.example.app \
--track production \
--rollout 25
# Increase to 50%
gplay rollout update \
--package com.example.app \
--track production \
--rollout 50
# Increase to 100% (or use complete)
gplay rollout update \
--package com.example.app \
--track production \
--rollout 100
Pause distribution if issues are detected:
gplay rollout halt \
--package com.example.app \
--track production
Effect:
Resume after fixing issues:
gplay rollout resume \
--package com.example.app \
--track production
Release to 100% of users:
gplay rollout complete \
--package com.example.app \
--track production
gplay tracks get \
--package com.example.app \
--track production \
| jq '.releases[0].userFraction'
# Day 1: 10%
gplay release --package com.example.app --track production --bundle app.aab --rollout 10
# Day 2: 25% (monitor crash rate)
gplay rollout update --package com.example.app --track production --rollout 25
# Day 3: 50%
gplay rollout update --package com.example.app --track production --rollout 50
# Day 5: 75%
gplay rollout update --package com.example.app --track production --rollout 75
# Day 7: 100%
gplay rollout complete --package com.example.app --track production
# Day 1: 25%
gplay release --package com.example.app --track production --bundle app.aab --rollout 25
# Day 2: 50%
gplay rollout update --package com.example.app --track production --rollout 50
# Day 3: 100%
gplay rollout complete --package com.example.app --track production
# Day 1: 5%
gplay release --package com.example.app --track production --bundle app.aab --rollout 5
# Day 2: 10% (monitor carefully)
gplay rollout update --package com.example.app --track production --rollout 10
# Day 3: 25%
gplay rollout update --package com.example.app --track production --rollout 25
# Day 5: 50%
gplay rollout update --package com.example.app --track production --rollout 50
# Day 7: 75%
gplay rollout update --package com.example.app --track production --rollout 75
# Day 10: 100%
gplay rollout complete --package com.example.app --track production
Use Play Console → Quality → Android vitals
# Get recent reviews
gplay reviews list \
--package com.example.app \
--paginate \
| jq '.reviews[] | select(.createdTime > "2025-02-05") | {rating, text: .comments[0].userComment.text}'
gplay reviews list \
--package com.example.app \
| jq '.reviews[] | select(.rating == 1) | .comments[0].userComment.text'
| Metric | Action | |--------|--------| | Crash rate < 1% | Continue rollout | | Crash rate 1-2% | Halt, investigate | | Crash rate > 2% | Halt, rollback if possible | | 1-star reviews spike | Halt, investigate | | ANR rate spike | Halt, investigate | | No issues after 24h | Increase rollout |
Google Play doesn't support automatic rollback, but you can:
# Build hotfix with higher version code
./gradlew bundleRelease
# Release hotfix immediately to 100%
gplay release \
--package com.example.app \
--track production \
--bundle app-hotfix.aab
This requires the previous version still be in beta track:
gplay promote \
--package com.example.app \
--from beta \
--to production
❌ Don't:
✅ Do:
# .github/workflows/rollout.yml
name: Automated Rollout
on:
schedule:
- cron: '0 9 * * *' # Daily at 9 AM
jobs:
increase-rollout:
runs-on: ubuntu-latest
steps:
- name: Get current rollout
id: current
run: |
CURRENT=$(gplay tracks get --package $PACKAGE | jq -r '.releases[0].userFraction')
echo "fraction=$CURRENT" >> $GITHUB_OUTPUT
- name: Increase rollout
if: steps.current.outputs.fraction < 1.0
run: |
NEW_FRACTION=$(echo "${{ steps.current.outputs.fraction }} + 0.25" | bc)
gplay rollout update --package $PACKAGE --track production --rollout $NEW_FRACTION
For manual rollout control, always use the Google Play Console UI as a backup.
development
App vitals monitoring for crashes, ANRs, performance metrics, and errors via gplay vitals commands. Use when asked to check app stability, crash rates, ANR rates, or performance data from Google Play Console.
development
User and grant management for Google Play Console via gplay users and gplay grants commands. Use when asked to manage developer account users, permissions, or app-level access grants.
development
Beta testing groups and tester management for Google Play closed testing tracks. Use when managing testers and beta groups.
tools
Bulk-localize subscription display names, descriptions, and offer tags across all Google Play locales using gplay. Use when you want to fill in subscription metadata for every language without clicking through Play Console manually.