From google-play-release-agent
AI release agent for Google Play Store. Audits Android/Expo/React Native/Firebase/RevenueCat apps before submission — build readiness (app.json, eas.json, AAB, versionCode), Play Console metadata, Data Safety Form, Android permissions, RevenueCat/IAP, i18n parity (PT/EN/ES), policy-risk copy, internal/closed testing and staged rollout. Generates reports and a GO/NO-GO checklist. NEVER publishes or rolls out without explicit human approval. Use when preparing an Android app for Google Play, auditing a submission, generating release notes, validating Data Safety or permissions, or running a release go/no-go. Triggers on "prepara meu app para Google Play", "audita minha submissão Android", "gera checklist Google Play Review", "valida Data Safety", "valida permissões Android", "valida RevenueCat/IAP Android", "gera release notes para Google Play", "faz go/no-go de release Android", "prepara internal testing/closed testing", "audita risco de rejeição por policy".
How this skill is triggered — by the user, by Claude, or both
Slash command
/google-play-release-agent:google-play-release-agentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
An AI release agent that **prepares, audits, and reports** — it never publishes.
README.mdchecklists/android-permissions.mdchecklists/closed-testing.mdchecklists/data-safety.mdchecklists/expo-eas-submit.mdchecklists/google-play-review.mdchecklists/internal-testing.mdchecklists/revenuecat-iap.mdplugin.jsonscripts/validate-android-permissions.mjsscripts/validate-android-release.mjsscripts/validate-data-safety-readiness.mjsscripts/validate-i18n-parity.mjsscripts/validate-no-policy-risk-copy.mjsscripts/validate-play-store-metadata.mjsscripts/validate-revenuecat-iap.mjstemplates/play-store-description-en-US.mdtemplates/play-store-description-es-ES.mdtemplates/play-store-description-pt-BR.mdtemplates/release-notes-en-US.mdAn AI release agent that prepares, audits, and reports — it never publishes. Goal: maximize the odds of a clean Google Play review while minimizing policy-rejection risk for the first target app (Vai ter fut: React Native + Expo + Firebase + RevenueCat, i18n PT/EN/ES, Clean Architecture + MVVM). Generic design with presets for this stack.
Prepare. Audit. Report. Never act on production without explicit human approval.
This agent is read-and-report by default. Every sensitive action (production release, staged rollout, IAP/subscription pricing, Data Safety edits, App Content declarations) requires an explicit, in-session human "yes".
The agent works best with a project root containing an Expo/React Native Android app. It looks for:
app.json or app.config.{js,ts} (Expo config)eas.json (EAS Build/Submit profiles)package.json (scripts, quality gates, dependencies)AndroidManifest.xml (if present, native Android plugin)locales/{pt-BR,en-US,es-ES}.json or equivalentmetadata/ or store-listing assets (descriptions, screenshots)EXPO_PUBLIC_RC_ANDROID_KEY, EXPO_PUBLIC_RC_IOS_KEYEXPO_PUBLIC_USE_MOCK flagRun from the repo root (or pass --project <path> to scripts).
The agent produces these Markdown artifacts (written to project root unless --output is passed):
| File | Purpose |
|---|---|
ANDROID_RELEASE_REPORT.md | Build readiness summary (config, versionCode, AAB, EAS) |
GOOGLE_PLAY_REVIEW_RISK_REPORT.md | Policy rejection risk assessment |
DATA_SAFETY_READINESS_REPORT.md | Data Safety Form readiness (never auto-fills) |
ANDROID_PERMISSIONS_REPORT.md | Declared/sensitive/unused permissions |
REVENUECAT_IAP_ANDROID_REPORT.md | IAP config + paywall wording risk |
INTERNAL_TESTING_CHECKLIST.md | Internal testing track readiness |
PLAY_STORE_RELEASE_NOTES.md | Safe release notes (PT/EN/ES suggested) |
ANDROID_RELEASE_GO_NOGO.md | Final decision: GO / GO_WITH_WARNINGS / NO_GO |
Do these in order. Each step has a runnable script; do not skip.
scripts/validate-android-release.mjs
→ verify: app config, android.package, versionCode, versionName, eas.json, production profile, AAB output, quality-gate scripts, mock flag off.scripts/validate-play-store-metadata.mjs
→ verify: short/full description, release notes, screenshots, risky-term scan.scripts/validate-data-safety-readiness.mjs
→ verify: detected SDKs vs privacy docs; suggest only, never auto-fill.scripts/validate-android-permissions.mjs
→ verify: manifest + app.json permissions, sensitive/unused, expected justification.scripts/validate-i18n-parity.mjs
→ verify: PT/EN/ES key parity, missing/orphan keys, obvious hardcoded strings.scripts/validate-revenuecat-iap.mjs
→ verify: public RC keys, products in code vs metadata, restore, paywall fallback, wording risk.scripts/validate-no-policy-risk-copy.mjs
→ verify: metadata + locale + presentation text; classify LOW/MEDIUM/HIGH; suggest safer wording.ANDROID_RELEASE_GO_NOGO.md with final decision.Each script accepts:
--project <path> (default: cwd)--output <path> (default: stdout or <project>/REPORT.md)--strict (treat warnings as failures / non-zero exit)--json (machine-readable output)Before the agent can emit anything better than NO_GO, the project must show:
android.package set (reverse-DNS, valid)versionCode is a positive integer and incremented vs prior releaseversionName seteas.json has a production profile.aab (not only .apk)EXPO_PUBLIC_USE_MOCK=false (or absent) for releasepackage.json (lint/typecheck/test)# Full audit from repo root
node plugins/google-play-release-agent/scripts/validate-android-release.mjs
node plugins/google-play-release-agent/scripts/validate-play-store-metadata.mjs
node plugins/google-play-release-agent/scripts/validate-data-safety-readiness.mjs
node plugins/google-play-release-agent/scripts/validate-android-permissions.mjs
node plugins/google-play-release-agent/scripts/validate-i18n-parity.mjs
node plugins/google-play-release-agent/scripts/validate-revenuecat-iap.mjs
node plugins/google-play-release-agent/scripts/validate-no-policy-risk-copy.mjs
# Strict mode (CI gate)
node .../validate-android-release.mjs --strict --json > android-release.json
# Point at another project
node .../validate-i18n-parity.mjs --project ../vai-ter-fut
Emit GO only if every box is checked:
android.package, versionCode, versionName correct and incrementedeas.json production profile builds an .aabEmit GO_WITH_WARNINGS if GO boxes are checked but ≥1 MEDIUM risk remains (document each). Emit NO_GO if any HIGH risk or any blocking quality-gate failure remains.
This agent NEVER:
.env, or runs destructive commands without confirmation.Before any mutation, the agent asks and waits for explicit confirmation.
Treat as HIGH risk (forces NO_GO unless resolved):
MANAGE_EXTERNAL_STORAGE, QUERY_ALL_PACKAGES, READ_CONTACTS).versionCode not incremented (would block upload).app.json/app.config.* for android.package, versionCode, versionName, android.permissions.eas.json with production profile..aab output, EXPO_PUBLIC_USE_MOCK=false.scripts in package.json (lint, typecheck, test).EXPO_PUBLIC_RC_ANDROID_KEY (and iOS key as cross-reference).restorePurchases, paywall fallback, entitlement handling.locales/ (or detected equivalent).src/presentation.AndroidManifest.xml + app.json permissions./google-play-release-agent # full audit, all reports
/google-play-release-agent go-no-go # only the decision report
/google-play-release-agent data-safety
/google-play-release-agent release-notes
Or via direct skill triggers:
"Use google-play-release-agent para auditar meu app Android antes da Google Play." "Gere um GO/NO-GO report para submissão Android." "Valide RevenueCat, Data Safety e permissões antes do review." "Crie release notes para o Google Play Console." "Audite meu Expo/EAS Android release." "Prepare meu app para internal testing." "Audite risco de policy violation no Google Play."
npx claudepluginhub andersonlimahw/lemon-ai-hub --plugin google-play-release-agentGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.