crt-ship 0.1.0: CLI, Claude Code skills and templates for shipping mobile games to Google Play and the App Store
This commit is contained in:
commit
3cd31b7601
64 changed files with 4509 additions and 0 deletions
45
skills/store-screenshots/SKILL.md
Normal file
45
skills/store-screenshots/SKILL.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
---
|
||||
name: store-screenshots
|
||||
description: Produce store screenshots and the Play feature graphic for a mobile game in every required size and many languages - capture raw frames from the running game with playwright, write per-language marketing copy (incl. RTL Arabic and CJK fonts), render captioned scenes with device frames, JPEG copies for Play, and upload to both stores. Use when the user needs App Store / Google Play screenshots, preview images, a feature graphic, localized screenshot captions, or screenshot sizes.
|
||||
---
|
||||
|
||||
# Store screenshots
|
||||
|
||||
CLI: `crt-ship` (or `bun ${CLAUDE_PLUGIN_ROOT}/cli/index.ts`). Needs `ffmpeg`, and `playwright` in the project
|
||||
(`bun add -d playwright`; it uses Playwright's Chromium or an installed Google Chrome).
|
||||
|
||||
## Sizes (what each store wants)
|
||||
| size key | pixels | where |
|
||||
|---|---|---|
|
||||
| ios69 | 1320 x 2868 | App Store 6.9" (`APP_IPHONE_67`), required |
|
||||
| ios65 | 1284 x 2778 | App Store 6.5" (`APP_IPHONE_65`) |
|
||||
| play | 1080 x 1920 | Play phone (2-8, ratio at most 2:1) |
|
||||
| tab7 | 1080 x 1920 | Play 7" tablet (tablet frames) |
|
||||
| tab10 | 1440 x 2560 | Play 10" tablet |
|
||||
| feature | 1024 x 500 | Play feature graphic (required) |
|
||||
|
||||
## Steps
|
||||
1. **Game switches.** Give the game URL params for screenshots: language, fixed seed, no ads / analytics / purchase
|
||||
UI, skip tutorial, jump to a level, freeze at a moment. Frames must show real gameplay (store rule).
|
||||
2. **Capture.** Configure `shots.capture` (baseUrl, query with `{lang}`, shots: path / waitFor / eval / delayMs /
|
||||
device). Start the game (production build preview), then `crt-ship shots capture --lang en` (phone 440 x 902 @3x
|
||||
and tablet 800 x 1240 @2x by default; the template draws the status bar above). Frames are local, not committed.
|
||||
3. **Copy.** `store/shots/copy.json`: per language, per scene: `eyebrow`, `title` [white line, gold line], `sub`,
|
||||
`badges` [[big, small]]. Short and true (only claim what is in the game); about 15 Latin characters per title line.
|
||||
Natural marketing tone per language, not literal translation; use the game's own terms.
|
||||
4. **Fonts.** `crt-ship shots fonts` downloads title/body fonts and a Noto subset for every non-Latin script found in
|
||||
the copy (CJK, Arabic, Hebrew, Devanagari, Thai, Cyrillic/Greek). Re-run after copy edits.
|
||||
5. **Scenes.** `shots.scenes`: palette (fire, violet, blast, green, night, sky, gold, candy or custom), frames (one
|
||||
front phone + optional back phones with x / dy / scale / rotate), badge slots (y, side, icon, hot, stars).
|
||||
6. **Render.** `crt-ship shots render --lang en` first, review `store/renders/en/sheet.png` (contact sheet), then
|
||||
all languages in the background: `crt-ship shots render > .crt-ship/render.log 2>&1 &`.
|
||||
7. **JPEG for Play.** `crt-ship shots jpeg` (q92, about 4x smaller than PNG; App Store stays PNG).
|
||||
8. **Upload.** `crt-ship play images` and `crt-ship apple screenshots` (both idempotent, background + log).
|
||||
|
||||
## Gotchas
|
||||
- Output is 24-bit RGB PNG: Play rejects alpha / palette PNGs, Apple rejects alpha.
|
||||
- Arabic: `rtl: true` on the language; numbers stay LTR inside RTL text automatically.
|
||||
- Japanese breaks by phrase, Korean at spaces; long words shrink the line rather than wrap.
|
||||
- Check every language's sheet for overflow before uploading; German / Russian titles run long.
|
||||
- Play: 8 per type max; Apple: 10 per set max.
|
||||
- Do not include prices, "free" badges for paid items, or other platforms' UI.
|
||||
Loading…
Add table
Add a link
Reference in a new issue