name: play-store-forge version: "1.0.0" description: "End-to-end Play Store asset pipeline — boots Android emulator, captures real screenshots, extracts brand colors, and generates icon, feature graphic, and framed screenshots using Gemini Imagen, AI Studio, or Replicate." argument-hint: "play-store-forge | play-store-forge screenshots | play-store-forge generate | play-store-forge icon" allowed-tools: Bash, Read, Write, Edit, AskUserQuestion author: ranahaani license: MIT repository: https://github.com/ranahaani/play-store-forge user-invocable: true metadata: openclaw: emoji: "🎨" requires: bins: - adb - python3 optionalEnv: - GEMINI_API_KEY - REPLICATE_API_TOKEN - GOOGLE_APPLICATION_CREDENTIALS optionalBins: - emulator - flutter files: - "scripts/*" tags: - android - flutter - play-store - asset-generation - screenshot - gemini - imagen - marketing
Play Store Forge
Full Play Store asset pipeline in one skill. Captures real screenshots from your running app, extracts brand colors, and generates production-ready icon, feature graphic, and screenshots using AI image generation.
Quick Start
/play-store-forge # full pipeline
/play-store-forge screenshots # capture only
/play-store-forge generate # generate assets only (skip capture)
/play-store-forge icon # icon only
All scripts are in scripts/ next to this SKILL.md. Copy them anywhere and run independently.
STEP 0 — Read the project
Before anything, understand what you're working with:
# Flutter: get package name and app name
grep -E "applicationId|namespace" android/app/build.gradle.kts 2>/dev/null || \
grep "applicationId" android/app/build.gradle 2>/dev/null
grep "^name:" pubspec.yaml 2>/dev/null
# Detect brand colors from theme file (if Flutter)
python3 scripts/extract_colors.py --from-theme lib/theme/tokens.dart 2>/dev/null || \
python3 scripts/extract_colors.py --from-theme lib/theme/app_colors.dart 2>/dev/null || \
python3 scripts/extract_colors.py --from-xml android/app/src/main/res/values/colors.xml 2>/dev/null
Store what you find:
APP_NAME— display namePACKAGE_ID— e.g.com.example.myappPRIMARY_COLOR— primary brand hex e.g.#2563EB
STEP 1 — Emulator check
# Check for running device/emulator
adb devices
# If none running, list available AVDs
emulator -list-avds 2>/dev/null || echo "emulator not in PATH — add \$ANDROID_HOME/emulator"
# Boot an AVD (replace <AVD_NAME>)
emulator -avd <AVD_NAME> -no-audio -no-boot-anim > /dev/null 2>&1 &
# Wait for boot
until adb shell getprop sys.boot_completed 2>/dev/null | grep -q "1"; do sleep 2; done
echo "Ready"
If no AVD exists, tell the user:
"No AVD found. Open Android Studio → Tools → Device Manager → Create Device, then re-run."
STEP 2 — Capture screenshots
Copy scripts/capture_screenshots.sh to the project root and run it:
# Make executable and run
chmod +x scripts/capture_screenshots.sh
# With package auto-launch
bash scripts/capture_screenshots.sh store_assets/raw_screenshots com.example.myapp
# Without auto-launch (you navigate manually)
bash scripts/capture_screenshots.sh store_assets/raw_screenshots
The script prompts for each screen type (home, feature, detail, settings, onboarding) and captures on Enter. Press 's' to skip a screen.
After capture, extract colors from the real screenshots:
python3 scripts/extract_colors.py
# Outputs: store_assets/colors.json + suggests --primary-color value
STEP 3 — Generate assets
Provider setup (choose one)
Option A: Vertex AI — ~$0.02/image (recommended, best quality)
# Needs: service account JSON with Vertex AI User role
python3 scripts/generate_assets.py \
--provider vertex \
--key /path/to/service-account.json \
--project your-gcp-project-id \
--app-name "My App" \
--primary-color "#2563EB" \
--tagline "Stay Protected"
Option B: AI Studio API key — free tier available
# Get key: aistudio.google.com → Get API key
python3 scripts/generate_assets.py \
--provider aistudio \
--api-key "AIza..." \
--app-name "My App" \
--primary-color "#2563EB"
Option C: Replicate — no GCP needed
# Get token: replicate.com → Account → API tokens
python3 scripts/generate_assets.py \
--provider replicate \
--api-key "r8_..." \
--app-name "My App" \
--primary-color "#2563EB"
Generate only specific assets
# Icon only
python3 scripts/generate_assets.py --provider vertex --key key.json --project proj \
--app-name "My App" --primary-color "#2563EB" --assets icon
# Feature graphic + screenshots
python3 scripts/generate_assets.py ... --assets feature_graphic screenshot_1 screenshot_2
STEP 4 — Resize to Play Store specs
pip install Pillow -q
# Resize all generated assets at once
python3 scripts/resize_assets.py --all
# Or individually
python3 scripts/resize_assets.py --icon store_assets/icon.jpg
python3 scripts/resize_assets.py --feature store_assets/feature_graphic.jpg
Play Store exact specs:
- Icon: 512×512 PNG, max 1024KB
- Feature graphic: 1024×500 JPG or PNG
- Screenshots: 320–3840px on either side, JPG or PNG
STEP 5 — Final output
After the full pipeline, store_assets/ should contain:
store_assets/
├── icon_512.png ← Upload as App icon
├── feature_graphic_1024x500.jpg ← Upload as Feature graphic
├── screenshot_01_ready.jpg ← Phone screenshots
├── screenshot_02_ready.jpg
├── screenshot_03_ready.jpg
├── colors.json ← Brand colors (reference)
└── raw_screenshots/ ← Original adb captures
├── 01_home.png
├── 02_feature.png
└── 03_detail.png
Play Console upload path:
Grow users → Store listings → Default store listing → Edit → Listing assets
Install dependencies
# Core (always needed)
pip install Pillow
# Vertex AI or AI Studio
pip install google-genai google-auth
# Replicate
pip install replicate requests
Tips for better results
| Goal | Prompt tip |
|---|---|
| No text on icon | Add Absolutely NO text, NO letters, NO words anywhere |
| On-brand colors | Include exact hex: deep blue #1D4ED8 not just "blue" |
| Store quality | Add professional, Play Store icon, app store quality |
| Clean icon | Add flat design, minimal, geometric, white background |
| Cinematic feature | Add wide cinematic, dramatic lighting, marketing banner |
If an image has unwanted text: add absolutely NO text and regenerate — never retry the same prompt.
Troubleshooting
| Error | Fix |
|---|---|
| adb: no devices | Start emulator or connect device first |
| emulator: command not found | export PATH=$PATH:$ANDROID_HOME/emulator |
| 403 PERMISSION_DENIED (Vertex) | IAM takes ~60s to propagate — wait and retry |
| ModuleNotFoundError: PIL | pip install Pillow |
| ModuleNotFoundError: google.genai | pip install google-genai google-auth |
| Feature graphic wrong size | Run resize_assets.py --feature after generation |
| Blurry icon | Use --assets icon and regenerate with more specific prompt |
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.