gplay-metadata-sync

gplay-metadata-sync is a skill for Claude Code, Codex from PollyGlot/google-play-cli-skills. It costs 55 tokens per session (984 once invoked), scanned A, original, MIT.

A tool for keeping Google Play store listings and their images in sync with files on disk. Google Play is the Android app store, and each language or region can have its own listing text and images.

In plain words
What is it for?
It helps pull live listings, edit localized titles and descriptions, manage listing images, validate character limits and locale codes, and gate changes in CI before release.
Why use it?
It gives teams a version-controlled copy of store content, so listing changes can be reviewed, checked offline, tested without publishing, and then applied deliberately.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It helps pull live listings, edit localized titles and descriptions, manage listing images, validate character limits and locale codes, and gate changes in CI before release.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/pollyglot/google-play-cli-skills/gplay-metadata-sync
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add PollyGlot/google-play-cli-skills --skill gplay-metadata-sync
Clone the repo
git clone --depth 1 https://github.com/PollyGlot/google-play-cli-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for gplay-metadata-sync

README.md
[![agentmods](https://agentmods.dev/badge/skills/pollyglot/google-play-cli-skills/gplay-metadata-sync/github.svg)](https://agentmods.dev/skills/pollyglot/google-play-cli-skills/gplay-metadata-sync)
Your own site
<a href="https://agentmods.dev/skills/pollyglot/google-play-cli-skills/gplay-metadata-sync"><img src="https://agentmods.dev/badge/skills/pollyglot/google-play-cli-skills/gplay-metadata-sync/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for gplay-metadata-sync

Your own site · 80×15
<a href="https://agentmods.dev/skills/pollyglot/google-play-cli-skills/gplay-metadata-sync"><img src="https://agentmods.dev/badge/skills/pollyglot/google-play-cli-skills/gplay-metadata-sync.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 55 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 984 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00055 $0.00984
Opus 5.5 $0.00022 $0.00394
Sonnet 5.5 $0.00011 $0.00197
Haiku 4.5 $0.00006 $0.00098

Measured 1mo ago against content hash 8cead7c2d67f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

gplay-metadata-sync scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/gplay-metadata-sync/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

gplay metadata sync (listings + images)

Manage the store front: per-locale listing text and images, kept as an on-disk tree and reconciled with Play. Shared conventions are in gplay-cli-usage.

The sync model

gplay treats a local ./metadata tree as the desired state and reconciles it with Play (ADR-0011). The loop:

pull  →  edit on disk  →  validate (offline)  →  apply --dry-run  →  apply --confirm

On disk, text is <locale>/<field>.txt (title, short_description, full_description, video). Images sit under <locale>/images/: a singular slot (icon, featureGraphic, tvBanner, promoGraphic) is <type>.<ext>; a gallery slot (the *Screenshots types) is <type>/1.<ext>…N.<ext> in display order.

  • metadata pull copies the live Listings into the tree; additive, so pull then apply is a no-op.
  • metadata validate lints the tree offline (no auth, no network); any violation exits 20, so it fits a pre-commit hook or CI gate.
  • metadata apply reconciles disk → Play, additive by default; --prune is the destructive opt-in (read apply --help before using it).
  • metadata list summarizes what is live on Play, per locale.

Apply safely

gplay metadata pull --dir ./metadata
# …edit the .txt files…
gplay metadata validate --dir ./metadata          # offline lint, exit 20 on error
gplay metadata apply --dir ./metadata --dry-run    # ONLINE diff, prints per-locale delta
gplay metadata apply --dir ./metadata --confirm    # publishes, live immediately

apply --dry-run is online and prints the delta; --output json is the diff schema {package, changes[], summary}, so a CI gate is jq -e '.summary.create + .summary.update > 0'. The real apply is --confirm-gated and atomic: one Edit, any locale failure publishes nothing.

The tree stays inside the repo

Every file gplay reads or writes under --dir must resolve inside the repo once symlinks are followed: a title.txt symlinked to a file outside the tree, or a pre-placed link where pull will write, is refused. Locale names are checked in BCP 47 (en-US, not en_US) before an Edit opens. Monorepos that share translations or assets through symlinks can set GPLAY_ALLOW_EXTERNAL_SYMLINKS=1: symlink egress is then followed, one NOTE per outbound path on stderr, while a .. escape and any path derived from API data (a locale Play returns, a package name) stay contained regardless.

Read the full file on GitHub · 81 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · -27 lines · -11 tokens per session 8cead7c2d67f
  2. 1mo ago Changed · +13 lines 45b040bcc956
  3. 1mo ago First seen · 95 lines · 66 tokens per session scan A 206b62169a9a

Subscribe to this mod's changes

gplay-metadata-sync is a skill published in the GitHub repository PollyGlot/google-play-cli-skills (5 stars, last pushed 6d ago), licensed MIT. It adds 55 tokens to every session and 984 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

maui-localization-theming

Implement MAUI localization and theming. USE FOR: RESX/AppResources, runtime culture switching, RTL/FlowDirection, platform language metadata, AppThemeBinding, DynamicResource, light/dark/system themes, UserAppTheme. DO NOT USE FOR: general layout, accessibility audits, icon/splash assets.

dotnet/maui-labs · 73 tokens

localization-l10n

Implement localization (l10n) best practices to adapt applications for specific regions, languages, and cultural preferences.

Mindrally/skills · 28 tokens

ios-localization

Production-grade iOS localization skill covering String Catalogs (.xcstrings), CLDR pluralization, SwiftUI/UIKit localization APIs, RTL layout, date/number/currency formatting, and enterprise patterns (modular apps, white-label, accessibility localization). This skill should be used when creating or editing localized…

rusel95/ios-agent-skills · 265 tokens

compose-ui-builder

Open and edit checked-in .uid designs, compare real renders against references, and implement them in application code. Author and edit a Compose UI design over MCP against a compose-preview serve deployment — create a screen or a Wear widget, insert and edit nodes, and export the Kotlin, PNG or SVG. Also use when no…

yschimke/skills · 141 tokens

swift-formatstyle

Locale-aware value formatting and parsing on iOS/macOS with Foundation's FormatStyle / ParseableFormatStyle protocols — the modern replacement for NumberFormatter / DateFormatter / DateComponentsFormatter subclasses. Covers number styles (IntegerFormatStyle / FloatingPointFormatStyle via .number with .precision /…

TalissonVitorino/kmp-ios-skills · 226 tokens

localization-patterns

Localization patterns for mobile - string resources, plurals, RTL support, Compose localization, KMP shared strings, and locale management.

TalissonVitorino/kmp-ios-skills · 31 tokens