gplay-cli-usage
SKILL.md
Google Play CLI usage
Use this skill when you need to run or design gplay commands for Google Play Console.
Command discovery
- Always use
--helpto discover commands and flags.gplay --helpgplay tracks --helpgplay tracks list --help
Available commands
| Command | Description |
|---|---|
gplay auth |
Authentication and profile management |
gplay apps |
List and manage apps in the developer account |
gplay init |
Initialize a project with default config |
gplay release |
High-level release workflow |
gplay promote |
Promote releases between tracks |
gplay rollout |
Manage staged rollouts |
gplay tracks |
Track management |
gplay bundles |
Bundle (AAB) management |
gplay edits |
Edit session management |
gplay listings |
Store listing management |
gplay images |
Screenshot and image management |
gplay sync |
Metadata sync (import/export) |
gplay validate |
Offline validation of metadata |
gplay vitals |
App vitals monitoring (crashes, performance, errors) |
gplay users |
User management for developer account |
gplay grants |
App-level permission grants |
gplay reports |
Financial and statistics reports (list/download from GCS) |
gplay docs generate |
Generate CLI documentation |
gplay migrate |
Migration tools (e.g., from Fastlane) |
gplay notify |
Send notifications (e.g., Slack, webhook) |
gplay update |
Self-update the CLI binary |
Flag conventions
- Use explicit long flags (e.g.,
--package,--output). - No interactive prompts; destructive operations require
--confirm. - Use
--paginatewhen the user wants all pages. - Use
--dry-runto preview changes without executing them (supported byrelease,migrate, and other write commands).
Output formats
- Default output is minified JSON.
- Use
--output tableor--output markdownonly for human-readable output. --prettyis only valid with JSON output.- Set
GPLAY_DEFAULT_OUTPUTenvironment variable to change the default output format (e.g.,GPLAY_DEFAULT_OUTPUT=table).
Authentication and defaults
- Prefer service account auth via
gplay auth login --service-account /path/to/sa.json. - Fallback env vars:
GPLAY_SERVICE_ACCOUNT,GPLAY_PACKAGE. GPLAY_PACKAGEcan provide a default package name.
Timeouts
GPLAY_TIMEOUT/GPLAY_TIMEOUT_SECONDScontrol request timeouts.GPLAY_UPLOAD_TIMEOUT/GPLAY_UPLOAD_TIMEOUT_SECONDScontrol upload timeouts.
Environment Variables
| Variable | Purpose |
|---|---|
GPLAY_SERVICE_ACCOUNT |
Path to service account JSON |
GPLAY_PACKAGE |
Default package name |
GPLAY_PROFILE |
Active profile name |
GPLAY_TIMEOUT |
Request timeout (e.g., 90s, 2m) |
GPLAY_TIMEOUT_SECONDS |
Timeout in seconds (alternative) |
GPLAY_UPLOAD_TIMEOUT |
Upload timeout (e.g., 5m, 10m) |
GPLAY_DEBUG |
Enable debug logging (set to api for HTTP requests) |
GPLAY_NO_UPDATE |
Disable update checks |
GPLAY_MAX_RETRIES |
Max retries for failed requests (default: 3) |
GPLAY_RETRY_DELAY |
Base delay between retries (default: 1s) |
GPLAY_DEFAULT_OUTPUT |
Default output format (json, table, markdown) |
Common patterns
List with pagination
gplay tracks list --package com.example.app --paginate
Parse JSON output with jq
gplay tracks list --package com.example.app | jq '.tracks[] | select(.track == "production")'
Use profiles
gplay auth add-profile production --service-account /path/to/prod-sa.json
gplay auth use-profile production
gplay --profile production tracks list --package com.example.app
Debug mode
GPLAY_DEBUG=1 gplay tracks list --package com.example.app
GPLAY_DEBUG=api gplay tracks list --package com.example.app # HTTP details
Dry run (preview changes)
gplay release --package com.example.app --track beta --bundle app.aab --dry-run
gplay migrate fastlane --source ./fastlane/metadata/android --output-dir ./metadata --dry-run
Initialize a project
gplay init --package com.example.app --service-account /path/to/sa.json
List apps in developer account
gplay apps list --developer-id 1234567890
gplay apps list --developer-id 1234567890 --output table
Generate CLI documentation
gplay docs generate --format markdown --output-dir ./docs
Self-update
gplay update
gplay update --check # Check for updates without installing
Financial reports
gplay reports financial list --developer <id>
gplay reports financial list --developer <id> --type earnings --from 2026-01 --to 2026-06
gplay reports financial download --developer <id> --from 2026-01 --type earnings --dir ./reports
Statistics reports
gplay reports stats list --developer <id>
gplay reports stats list --developer <id> --package com.example.app --type installs
gplay reports stats download --developer <id> --package com.example.app --from 2026-01 --type installs --dir ./reports
Send notifications
gplay notify --webhook https://hooks.slack.com/... --message "Release deployed"
Edit sessions
Most write operations require an edit session:
# Create edit
gplay edits create --package com.example.app
# Returns: edit_id
# Make changes
gplay bundles upload --package com.example.app --edit <edit_id> --file app.aab
# Commit changes (publishes)
gplay edits commit --package com.example.app --edit <edit_id>
High-level vs manual commands
- High-level:
gplay release(creates edit, uploads, commits) - Manual:
gplay edits create→gplay bundles upload→gplay edits commit
Use high-level for simplicity, manual for fine-grained control.
Weekly Installs
23
Repository
tamtom/gplay-cli-skillsGitHub Stars
6
First Seen
Feb 5, 2026
Security Audits
Installed on
codex23
opencode22
github-copilot22
gemini-cli20
claude-code19
kimi-cli18