google-play-cli-skills
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 2 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Agent skills (SKILL.md) for the gplay Google Play CLI — install via: npx skills add PollyGlot/google-play-cli-skills
google-play-cli-skills
Agent skills for gplay, a
single-binary CLI for the Google Play Developer API. Each skill is a SKILL.md
that tells an AI agent (Claude Code, or any agent that reads skills) how to
drive gplay: which command to run for a task, in what order, and what the--help text leaves out, such as which commands are irreversible or which
Play features have no API at all.
The skills drive the
gplayCLI and do not replace it. Installgplay
first, from the CLI repo.
Install
npx skills add PollyGlot/google-play-cli-skills
This copies the skills below into your agent's skill directory, from the
current main. An agent then loads a skill by name (e.g. gplay-release-flow)
when the task matches its "Use when" clause.
gplay install-skills installs the same skills without Node. It fetches a
commit pinned inside the binary, so a given gplay version always installs the
same files, which can lag behind main.
Catalogue
Start with gplay-cli-usage: it holds the conventions every other skill
assumes. Each of the others covers one gplay command group.
| Skill | Use when |
|---|---|
gplay-cli-usage |
Running any gplay command or wiring gplay into CI: credential and --package resolution, output formats, exit codes, the --dry-run/--confirm/GPLAY_READONLY gates, the implicit Edit lifecycle, and gplay schema for offline API introspection. |
gplay-setup |
Setting up gplay auth for the first time, switching, rotating or removing a service account, or diagnosing an auth failure. |
gplay-apps |
Registering or pinning packages, finding which apps a credential can reach, editing app details (default language, contact info), or sweeping the account for drift with apps audit. |
gplay-release-flow |
Uploading an AAB or APK, promoting a build from internal to production, steering a staged rollout (halt, resume, complete), downloading the APKs Play generates, attaching a ProGuard/R8 mapping, sharing a build through Internal App Sharing, or managing legacy OBB files. |
gplay-tracks |
Checking what a track holds, creating a closed-testing track before an upload, reading country availability, or setting the Google Groups that test a closed track. |
gplay-reviews |
Triaging recent reviews (the API only returns the last 7 days), reading one review's thread, replying singly or in batch from a TSV, or pulling older reviews from the monthly GCS reports with reviews history. |
gplay-metadata-sync |
Editing a store listing or its screenshots, adding a locale, pulling the listing into version control, or gating a listing change in CI. |
gplay-monetization |
Putting subscriptions and one-time products under version control, editing prices, offers or listings, checking catalog drift in CI, promoting a legacy in-app product to v2, or repricing live subscribers. Unlike metadata, a live product with no file on disk becomes a delete in the plan, and a plan with deletes needs --confirm. |
gplay-compliance |
Pushing or validating the Data Safety declaration from a versioned CSV. It is the only Play compliance form with an API. |
gplay-team |
Inviting or off-boarding a Developer account member, granting per-app access, or looking up a permission alias or role bundle. |
gplay-customapps |
Creating a private app for an organisation on managed Google Play, the only API call that creates an app record. Irreversible and --confirm-gated. |
gplay-vitals |
Checking crash, ANR, slow-start, rendering, wakeup or LMK rates after a rollout, reading error reports and clustered issues, or listing anomalies Play detected. Read-only, and it needs its own OAuth scope. |
gplay-reports |
Reading the monthly Bulk reports from the Reporting bucket: installs and uninstalls, ratings, crashes, Store listing acquisition, subscription statistics, earnings and estimated sales. Read-only and [experimental]; buyer location stays hidden unless asked for. |
gplay-orders |
Looking up an order by its ID from a buyer complaint or a payout report, or refunding it. A refund moves money: it is --confirm-gated and needs a money permission that no role bundle includes. |
gplay-games |
Creating, editing or deleting a game's Play Games Services achievements and leaderboards, addressed by the Play Games application ID rather than the package. Publishing them to players stays in the Console. |
gplay-recovery |
Forcing users off a broken versionCode: drafting an app recovery, deploying it, widening its audience (it can only grow), or cancelling it. |
gplay-device-tiers |
Creating or inspecting device tier configs for tiered asset delivery. A config cannot be updated or deleted, so a change means a new config ID. |
gplay-appstore |
Running a third-party Android app store: mirroring Play's catalog or its update-event feed, submitting a hosted app to Google's review (irrevocable), or withdrawing it. |
gplay-signing |
Enrolling an app in Play App Signing with a key held in your own Cloud KMS, or rotating that key. Google-managed signing has no API. Irreversible and --confirm-gated. |
Coverage
Every gplay command that operates on Play is named by at least one skill.
The check below walks the binary's command tree and fails on any such command
no skill names, so a gplay release that adds a command group turns CI red
until a skill covers it. Local plumbing (completion, version,install-skills, exit-codes) is exempt.
Commands marked [experimental] in gplay --help sit outside gplay's
stability contract, and gplay-cli-usage says what that means for CI.
What the CLI plans to cover next lives in itsdocs/BACKLOG.md.
Repo layout
One folder per skill. Each holds a SKILL.md, and sometimes a companion file
the skill links to for a rare case (gplay-release-flow/obb.md):
skills/
gplay-release-flow/
SKILL.md
obb.md
Every SKILL.md opens with YAML frontmatter carrying exactly two fields:
---
name: gplay-release-flow
description: <what it does>. Use when <the trigger phrasing>.
---
name is kebab-case and matches the folder. description is one line ending
in a "Use when" clause, which the agent reads to decide whether to load the
skill. If the description contains : , quote it: unquoted, the YAML is
invalid and npx skills add skips the skill without an error.
Checking a change
python3 scripts/check-skills.py # needs gplay on PATH
python3 scripts/check-skills.py --offline # frontmatter, links and style only
The script resolves every gplay invocation in the skills against the
installed binary's commands and flags. A removed flag, an invented subcommand
or a frontmatter typo fails the run instead of shipping. CI runs it on every
pull request and every Monday, because drift usually comes from a gplay
release rather than from a commit here.
License
MIT © 2026 Pavlo Trinko
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found