App Store Screenshot Studio
Before invoking Apple-only binaries, confirm the execution context is macOS. From Windows or Linux, run those steps in a Mac SSH project or through an already configured remote transport; do not retry missing Apple binaries locally.
Build App Store screenshots from product reality: inspect the app, choose install promises, write concise panel copy, assemble visuals, crop panels, and prepare App Store Connect assets.
Pair simulator capture/upload work with appstore-screenshot-pipeline, appstore-screenshot-validator, and appstore-review-readiness.
Workflow
Resolve context: repo, README, onboarding, paywall, root screens, existing screenshots/listings, and brand rules. If given an App Store URL, run scripts/scrape.mjs and save JSON under .appstore-screenshots/scraped/. Ask only for missing facts that change direction: app name, devices, locales, panel count.
Initialize:
node <skill-dir>/scripts/scaffold.mjs --output-dir .appstore-screenshots
Work from .appstore-screenshots/config.json; keep composites in .appstore-screenshots/composites/ and final panels in .appstore-screenshots/panels/.
Plan 3-5 install-focused benefits. Put the clearest value in panel 1. Keep captions readable in search results, concrete, truthful, localizable, and useful as standalone panels.
Generate or assemble visuals. Use real app screenshots when accuracy matters; use image generation only for marketing composites. Keep important text/device edges crop-safe. Do not fake store badges, download buttons, nonexistent features, or misleading UI.
Crop:
node <skill-dir>/scripts/crop.mjs \
--input .appstore-screenshots/composites/iphone-en.png \
--device iphone \
--output-dir .appstore-screenshots/panels/iphone/en
Validate dimensions, file count, and small thumbnails. For ASC upload, use appstore-screenshot-pipeline or asc screenshots validate/upload after IDs/localizations are known.
Workspace
.appstore-screenshots/config.json: app, App Store URL, devices, locales, panel count, colors, benefits.
.appstore-screenshots/manifest.json: generated/cropped inventory.
.appstore-screenshots/scraped/: optional public App Store metadata.
.appstore-screenshots/composites/: source composites.
.appstore-screenshots/panels/: upload-ready panels.
Presets
| Device |
Composite |
Panel |
Key |
| iPhone |
3456x2400 |
1290x2796 |
iphone |
| iPad |
6144x2732 |
2048x2732 |
ipad |
The crop helper treats a composite as three horizontal panels. For other layouts, crop manually with sharp, sips, or the app's asset pipeline.
Quality Bar
Use real product language, high-contrast short headlines, truthful UI, meaning-based localization, and repeated crop/size validation. Do not upload until the user approves final panels or explicitly asks for automated upload.
1---2name: appstore-screenshot-studio3description: App Store marketing screenshot creation and revision to translate, scrape, crop, and validate `.appstore-screenshots` workspaces. Excludes general image generation.4---56# App Store Screenshot Studio78Before invoking Apple-only binaries, confirm the execution context is macOS. From Windows or Linux, run those steps in a Mac SSH project or through an already configured remote transport; do not retry missing Apple binaries locally.910Build App Store screenshots from product reality: inspect the app, choose install promises, write concise panel copy, assemble visuals, crop panels, and prepare App Store Connect assets.1112Pair simulator capture/upload work with `appstore-screenshot-pipeline`, `appstore-screenshot-validator`, and `appstore-review-readiness`.1314## Workflow15161. Resolve context: repo, README, onboarding, paywall, root screens, existing screenshots/listings, and brand rules. If given an App Store URL, run `scripts/scrape.mjs` and save JSON under `.appstore-screenshots/scraped/`. Ask only for missing facts that change direction: app name, devices, locales, panel count.172. Initialize:1819 ```bash20 node <skill-dir>/scripts/scaffold.mjs --output-dir .appstore-screenshots21 ```2223 Work from `.appstore-screenshots/config.json`; keep composites in `.appstore-screenshots/composites/` and final panels in `.appstore-screenshots/panels/`.24253. Plan 3-5 install-focused benefits. Put the clearest value in panel 1. Keep captions readable in search results, concrete, truthful, localizable, and useful as standalone panels.264. Generate or assemble visuals. Use real app screenshots when accuracy matters; use image generation only for marketing composites. Keep important text/device edges crop-safe. Do not fake store badges, download buttons, nonexistent features, or misleading UI.275. Crop:2829 ```bash30 node <skill-dir>/scripts/crop.mjs \31 --input .appstore-screenshots/composites/iphone-en.png \32 --device iphone \33 --output-dir .appstore-screenshots/panels/iphone/en34 ```35366. Validate dimensions, file count, and small thumbnails. For ASC upload, use `appstore-screenshot-pipeline` or `asc screenshots validate/upload` after IDs/localizations are known.3738## Workspace3940- `.appstore-screenshots/config.json`: app, App Store URL, devices, locales, panel count, colors, benefits.41- `.appstore-screenshots/manifest.json`: generated/cropped inventory.42- `.appstore-screenshots/scraped/`: optional public App Store metadata.43- `.appstore-screenshots/composites/`: source composites.44- `.appstore-screenshots/panels/`: upload-ready panels.4546## Presets4748| Device | Composite | Panel | Key |49| --- | --- | --- | --- |50| iPhone | `3456x2400` | `1290x2796` | `iphone` |51| iPad | `6144x2732` | `2048x2732` | `ipad` |5253The crop helper treats a composite as three horizontal panels. For other layouts, crop manually with `sharp`, `sips`, or the app's asset pipeline.5455## Quality Bar5657Use real product language, high-contrast short headlines, truthful UI, meaning-based localization, and repeated crop/size validation. Do not upload until the user approves final panels or explicitly asks for automated upload.