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.
npx skills add PollyGlot/google-play-cli-skills --skill gplay-metadata-syncgit clone --depth 1 https://github.com/PollyGlot/google-play-cli-skillsWrote 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.
[](https://agentmods.dev/skills/pollyglot/google-play-cli-skills/gplay-metadata-sync)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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 pullcopies the live Listings into the tree; additive, sopullthenapplyis a no-op.metadata validatelints the tree offline (no auth, no network); any violation exits20, so it fits a pre-commit hook or CI gate.metadata applyreconciles disk → Play, additive by default;--pruneis the destructive opt-in (readapply --helpbefore using it).metadata listsummarizes 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.
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.
- 1mo ago Changed · -27 lines · -11 tokens per session 8cead7c2d67f
- 1mo ago Changed · +13 lines 45b040bcc956
- 1mo ago First seen · 95 lines · 66 tokens per session scan A 206b62169a9a
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.
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.
localization-l10n
Implement localization (l10n) best practices to adapt applications for specific regions, languages, and cultural preferences.
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…
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…
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 /…
localization-patterns
Localization patterns for mobile - string resources, plurals, RTL support, Compose localization, KMP shared strings, and locale management.