--- name: android-play-store-screenshots description: >- Capture Google Play Console screenshots on fixed AVDs across phone and tablet size classes and UI languages, drive one product storyboard, post-process for Play size rules, and stage versioned PNGs for upload. Use when the user needs Play Store screenshots, localised store shots, phone / 7-inch / 10-inch listing media, or a repeatable capture matrix. Prefer this skill over ad-hoc emulator screenshots. --- # Play Store screenshots (Android) Produce **Google Play Console listing screenshots** for an Android app: fixed AVDs for phone and tablet slots, one scripted product storyboard, optional multi-language fan-out, and versioned PNG folders ready to paste into Play Console. **This skill never uploads to Play Console.** ## When to use - User asks for Play Store screenshots, Play Console media, or listing screenshots - Phone, 7" tablet, and/or 10" tablet slots need a full set - Localised screenshots for every language the listing uses - Replacing hand-captured emulator shots with a repeatable matrix ## Suggested layers Adapt names to your repo. The pattern matters more than the labels. | Layer | Role | |-------|------| | Staged APK / AAB artifact | Release binary from your RC pipeline (or an explicit path) | | Device matrix | Deterministic AVD names for phone, 7" tablet, 10" tablet | | Language matrix | Device / app locale per run (`--lang` / `--langs` or equivalent) | | Storyboard | One scripted flow (UIAutomator, Maestro, Espresso, or equivalent) identical on every form factor | | Output | `release//play-store-screenshots//{phone,tablet-7,tablet-10}/` + README checklist | ## Agent contract (mandatory) 1. **Call the project capture script** (or create one that follows this skill). Do not invent a parallel ad-hoc recipe or swap AVD names casually. 2. Prefer a staged release APK. Do not rely on "whatever emulator is already open." 3. After a run, read the generated README checklist and surface pass/fail sizes + paths. 4. Fail the gate when a required Play slot is empty or fails size rules. Do not tell the user to upload an incomplete set. 5. **Never** auto-upload screenshots to Play Console from this skill. ## Default workflow 1. Resolve version and staged APK (or accept an explicit path). 2. Boot the fixed AVD set for the slots you need (phone; 7" and 10" when those listing wells are used). 3. For each language: set device locale (and app language if separate), install, dismiss consent / system / IME overlays, run the storyboard, capture screenshots. 4. Post-process to flat RGB PNG. Apply Play's phone aspect rule when needed (longest side ≤ 2× shortest). 5. Write per-language and index README checklists under the versioned output folder. 6. Tell the human where to upload in Play Console (Store presence → Main store listing → Graphics → Phone / 7" / 10" wells for each language). ## Device matrix (Play slots) | Slot | Typical AVD class | Notes | |------|-------------------|--------| | Phone | Modern phone AVD (for example Pixel-class) | Portrait; crop if height exceeds 2× width | | 7" tablet | 7-inch tablet AVD | Portrait and landscape when the listing uses both | | 10" tablet | 10-inch tablet AVD | Portrait and landscape when the listing uses both | Official graphics guidance: [Add preview assets to showcase your app](https://support.google.com/googleplay/android-developer/answer/9866151). Boot AVDs **with audio** when a "playing" frame matters. Create missing AVDs once; keep names deterministic across machines. ## Languages Maintain a language table in **your** repo mapping store codes → device locale (and any app-specific language override). Pass one language or a batch. Prefer a search/query string that returns content in that catalogue when the storyboard includes search. ## Storyboard design choices - **Deterministic devices**, not whatever is already running - **One scripted story**, identical across form factors - **Overlay dismissal** before every shot (consent, system dialogs, IME) - **Audio / playback** when a "playing" frame matters - **Seeded state** when a later shot needs favourites or onboarding already done - **Versioned artifacts + checklist** next to the release folder - **Partial re-run modes** when only one slot or shot failed ## What not to copy from App Store pipelines - Exact ASC native resolutions as the success criterion — Play cares about slot type and aspect rules - A single iPad 13" class — Play uses separate phone / 7" / 10" wells - Assuming Simulator language APIs — use AVD locale / `adb` locale helpers for Android ## After the run 1. Quote language(s), which slots are OK / FAIL, and exact paths. 2. Point the human to Play Console graphics wells for each language. 3. Keep ownership of review: layout breakage per locale and which shots earn a place on the listing still need a human. ## Do not - Upload to Play Console from the skill - Soft-pass an empty required tablet slot - Hardcode another app's package name, resource IDs, or private product storyboard into a public fork - Publish credentials, absolute home paths, or private release internals ## Related - Pair with an App Store screenshots skill for iOS so both stores share the same product narrative - Pair with Android release notes when the same ship also needs localised store copy