App Store Screenshots Generator
Skill by ara.so — Daily 2026 Skills collection.
A skill for AI coding agents (Claude Code, Cursor, Windsurf, Codex, etc.) that generates production-ready App Store screenshots for iOS apps. It scaffolds a Next.js project, designs advertisement-style slides, and exports PNGs at all required Apple resolutions.
What This Skill Does
- Asks about your app's brand, features, and style preferences before building anything
- Scaffolds a minimal Next.js + TypeScript + Tailwind project
- Designs each screenshot as an advertisement (not a UI showcase)
- Writes compelling copy using proven App Store copywriting patterns
- Renders screenshots with a built-in iPhone mockup frame
- Exports PNGs at all 4 Apple-required sizes (6.9", 6.5", 6.3", 6.1")
- Supports multi-locale screenshot sets, RTL-aware layouts, and reusable theme presets
Install
Using npx skills (recommended)
Manual install
Usage
Once installed, just describe what you need:
The agent will ask clarifying questions about brand colors, fonts, features, style direction, number of slides, and locales before generating anything.
Project Structure
The skill scaffolds this layout:
The entire generator lives in a single page.tsx file. Run the dev server, open the browser, and click any screenshot to export it as a PNG.
Core page.tsx Pattern
Multi-Locale Setup
Organize screenshots under locale folders and swap the base path:
Dependencies (package.json)
Starting the Dev Server
The skill auto-detects your package manager (bun preferred):
Then open http://localhost:3000 to view the screenshot generator.
Export Sizes Reference
Note: Use a 6.1" simulator to capture your initial app screenshots — this avoids resolution adjustments later.
Design Principles the Agent Follows
- Screenshots are ads, not docs — each slide sells one idea
- One-second rule — headline must be readable at App Store thumbnail size
- Vary layouts — no two adjacent slides share the same phone placement (
phone-left/phone-right/phone-center) - Style is user-driven — no hardcoded colors; everything flows from theme tokens
- First slide = strongest benefit — not the most complex feature
Quality Checklist
Before exporting, verify each slide:
- Headline communicates exactly one idea in ~1 second
- First slide leads with the strongest user benefit (not a feature)
- Adjacent slides use different phone placement layouts
- Decorative elements support the message, not obscure the UI
- Text and framing look correct after scaling to smallest export size (6.1")
- RTL locales have
dir="rtl"set and layouts feel native (not mechanically mirrored)
Example Prompts
Troubleshooting
html-to-image exports blank or white images
- Ensure all images are served from
/public(same origin). Cross-origin images block canvas export. - Add
crossOrigin="anonymous"to<img>tags if loading from a CDN. - Check the browser console for CORS errors.
Mockup frame not aligning with screenshot
- The included
mockup.pnghas pre-measured transparent screen area. Useposition: absolutewith the app screenshot behind the frame, not inside it. - Use
top: 28px, left: 24pxas the starting offset for a 660px-wide mockup.
Export scaling looks blurry
- Always design at 1320×2868 (6.9" base) and scale down — never design small and scale up.
- Pass explicit
widthandheighttotoPng()with the correct scale transform.
Font not loading in exports
- Load fonts via
next/fontor a<style>tag inside the canvas div, not just inlayout.tsx. - Call
document.fonts.readybefore triggeringtoPng().
Simulator screenshots wrong resolution
- Always capture from the 6.1" simulator as the starting point to minimize later adjustments.
Requirements
- Node.js 18+
- One of: bun, pnpm, yarn, or npm
- Claude Code, Cursor, Windsurf, Codex, or any agent that reads skill files

