Take an Android app from source code to a submittable Google Play Console draft, fast.
This is a Claude Code Skill. Point Claude at an Android (or Kotlin Multiplatform / Flutter) project and it will:
- Analyze the project — extract
applicationId, version, SDK levels, signing status, and detect data practices (auth method, analytics/ads SDKs, device-id usage) that drive the Data Safety form. - Generate a signing key + signed AAB —
keytool→keystore.properties(matched to your Gradle block) →bundleRelease→ verified. - Auto-create & host a privacy policy + account-deletion page — generated from the detected data practices, hosted on GitHub Pages (public URLs Play requires).
- Prepare the store listing — title / short / full description + icon, feature graphic, and screenshots (padded to the ≤2:1 ratio Play enforces).
- Drive Play Console via the Chrome extension — create the app, fill the listing, complete every App content declaration (Ads, App access, Content rating, Target audience, Data safety, Advertising ID, Government / Financial / Health), and open the internal-testing release.
It stops at the gates only a human can clear (accepting agreements, identity/payment, the first AAB + graphics upload, and the final production rollout) and hands those back with exact instructions.
Most of a Play submission is mechanical but fiddly, and a few non-obvious things silently block you. This skill encodes the workflow and the hard-won gotchas, e.g.:
- The generic "Your changes couldn't be saved / app couldn't be created" error almost always means a required control you didn't see below the fold (the Free/Paid radio, the "provides full access" checkbox) — not a flaky backend.
- The screenshot ≤ 2:1 aspect-ratio rule that silently rejects modern 1080×2340 captures.
- The agent's file-upload tool can't push the AAB/graphics (size + sharing limits) — so those are handed to the human.
- Re-screenshot before each click: Play's Angular forms re-render and shift element coordinates.
See play-console-draft/SKILL.md for the full runbook.
Per-project:
mkdir -p .claude/skills
cp -r play-console-draft .claude/skills/Global (all projects):
mkdir -p ~/.claude/skills
cp -r play-console-draft ~/.claude/skills/In Claude Code, run /play-console-draft, or just ask something like "prepare this app for the Play Store" / "make the Play Console draft" — the skill's description triggers it automatically.
Requires the Claude Chrome extension for the Play Console steps, the JDK (
keytool), Gradle, and a GitHub account (for hosting the policy pages). Confirm the package name (permanent), developer account, and free/paid before the app is created.
MIT — see LICENSE. Contributions and forks welcome.