Install
openclaw skills install appscreenshotstudioGenerate production-ready App Store and Play Store screenshots from your codebase. Reads your app's colors, screens, and copy — then creates a finished screenshot set in exact store dimensions.
openclaw skills install appscreenshotstudioGenerate finished App Store / Play Store screenshots directly from your terminal.
Requires APPSCREENSHOTSTUDIO_API_KEY in your environment. Get a key at https://appscreenshotstudio.com/settings (requires an account with credits).
Use when the user says: "generate screenshots", "App Store screenshots", "Play Store screenshots", "store listing", "marketing screenshots", or wants to ship a new app.
Before calling the API, gather context from the project. This context directly improves the generated layouts, colors, and headlines.
Find and read:
README.md — app name, purpose, main featurespackage.json / pubspec.yaml / Cargo.toml / build.gradle — app name, tech stacktailwind.config.* (theme.extend.colors), SwiftUI Color(, Flutter ThemeDataapp/ routes, SwiftUI NavigationView/TabView, Flutter GoRouterInfo.plist, fastlane metadata/, AndroidManifest.xmlBuild this context:
app_name, readme_summary, key_screens[], color_tokens{}, target_audience,
app_category (fitness|finance|social|productivity|food|travel|health|education|other),
competitive_edge, ui_style, primary_user_flow
Show what you found and ask:
3a. Create a project:
curl -s -X POST https://appscreenshotstudio.com/api/v1/projects \
-H "Authorization: Bearer $APPSCREENSHOTSTUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"device_id": "iphone-6.9",
"name": "<app_name> Screenshots",
"codebase_context": {
"readme_summary": "...",
"key_screens": ["..."],
"color_tokens": {"primary": "#hex"},
"target_audience": "...",
"app_category": "...",
"competitive_edge": "...",
"ui_style": "...",
"primary_user_flow": "..."
}
}'
Save data.id as PROJECT_ID.
3b. Generate the screenshot set via chat:
curl -s -X POST "https://appscreenshotstudio.com/api/v1/projects/$PROJECT_ID/chat" \
-H "Authorization: Bearer $APPSCREENSHOTSTUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Create a 5-card screenshot set. Highlight: [feature1], [feature2], [feature3]. Mood: minimal. Use brand color #hex."
}'
On success, data.canvas_state contains the generated layout. The response also includes data.message (Claude's description of what was created) and credits_remaining.
If data.operations is empty, Claude asked a clarifying question — no credits were deducted. Answer the question and call chat again.
If the user wants changes, call chat again on the same PROJECT_ID:
curl -s -X POST "https://appscreenshotstudio.com/api/v1/projects/$PROJECT_ID/chat" \
-H "Authorization: Bearer $APPSCREENSHOTSTUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Make the first card more playful. Change the headline to something punchier."}'
Render the final PNGs at exact App Store dimensions (free, no credits):
curl -s -X POST "https://appscreenshotstudio.com/api/v1/projects/$PROJECT_ID/render" \
-H "Authorization: Bearer $APPSCREENSHOTSTUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Returns data.images[] — array of CDN URLs. Download them or share the project URL:
https://appscreenshotstudio.com/builder/<PROJECT_ID>
When reviewing or suggesting headlines, enforce:
NO_CREDITS (402) — user needs to top up at https://appscreenshotstudio.com/billingPROJECT_LIMIT_REACHED (403) — plan limit hitUNAUTHORIZED (401) — invalid or missing API keyNOT_FOUND (404) — project ID doesn't exist