From app-promo-studio
Generate cross-platform app promotional / marketing images (App Store & Google Play screenshots, iPad, Mac, desktop window, web landing hero, and social/Open-Graph cards) from the user's own app screenshots plus a few headlines and brand colors. Use when the user wants to create app store screenshots, promo graphics, marketing images, launch visuals, OG/social cards, or "宣传图" for an app — and wants exact platform sizes exported as PNG/JPG/WebP/AVIF and/or true vector SVG. Renders designed templates with a real browser (Playwright) and rasterizes vectors with resvg.
How this skill is triggered — by the user, by Claude, or both
Slash command
/app-promo-studio:app-promo-imagesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn `app screenshots + headlines + brand colors` into a full, correctly-sized set of promotional images for every platform. Two render engines share one config and one theme system:
assets/fonts/Baloo2.ttfassets/fonts/Fraunces.ttfassets/fonts/Inter.ttfreferences/design-recipes.mdreferences/platform-specs.mdreferences/workflow.mdscripts/lib/compose.mjsscripts/lib/convert.mjsscripts/package-lock.jsonscripts/package.jsonscripts/promo.config.example.jsonscripts/render-svg.mjsscripts/render.mjsscripts/specs.jsonscripts/themes.jsontemplates/html/renderer.htmltemplates/html/styles.csstemplates/svg/slide.svg.mjsTurn app screenshots + headlines + brand colors into a full, correctly-sized set of promotional images for every platform. Two render engines share one config and one theme system:
.svg (infinitely scalable) plus rasters, when the user wants vector clarity.${CLAUDE_SKILL_DIR} below is the directory containing this file. On Windows use the path directly (e.g. node "<skill-dir>/scripts/render.mjs").
Follow these steps in order. Create a TodoWrite list from them for non-trivial jobs.
Ensure dependencies are installed (once). If ${CLAUDE_SKILL_DIR}/scripts/node_modules does not exist, run:
cd "${CLAUDE_SKILL_DIR}/scripts" && npm install
This installs playwright, sharp, @resvg/resvg-js. Playwright uses the system Chrome (channel:"chrome") — no browser download. Fonts are already bundled in assets/fonts/.
Gather inputs (ask only for what is missing):
#hex) + accent color.{ headline, highlight, subheadline }. highlight is an emphasized second line (rendered in an italic display font). Keep headlines short (2–4 words).purple-gradient (default), dark-playful, clean-light, brand-solid, mono. See references/design-recipes.md.references/platform-specs.md).png, jpg, webp, avif, svg. Default ["png"]. svg requires the SVG track (step 4b).Write promo.config.json (see scripts/promo.config.example.json and the schema in references/workflow.md). Save it next to the screenshots or in the output dir. Relative paths resolve from the config file's location.
Render.
node "${CLAUDE_SKILL_DIR}/scripts/render.mjs" path/to/promo.config.json
Add --dry to preview the job list, or --target id,id to render a subset.svg requested, or the user wants vector output):
node "${CLAUDE_SKILL_DIR}/scripts/render-svg.mjs" path/to/promo.config.json
Report results. The scripts validate every output: exact pixel dimensions, no-alpha where the platform forbids it (Apple/Play), and size caps (Play ≤8 MB, Product Hunt ≤3 MB). Relay the ✓/✗ summary and the output folder. If anything failed, fix the config/screenshot and re-run only that --target.
Individual target IDs (exact sizes in references/platform-specs.md):
appstore-iphone-6.9, appstore-iphone-6.5, appstore-ipad-13, appstore-ipad-13-landscape, mac-appstore, play-phone, play-feature, play-icon, desktop-window, web-hero, og, twitter, instagram-portrait, instagram-square, instagram-story, producthunt, linkedin.
Bundles (expand to several targets): ios, android, mobile, desktop, web, social, all-stores. Use these in config.targets for one-line coverage, e.g. "targets": ["ios", "social"].
play-icon and web-hero keep transparency.frame (phone/tablet/mac/browser/none), layout (headline-top/side-by-side/showcase/headline-overlay), theme, or formats to override the global value.frame wins. For mac/desktop targets, supply a landscape desktop screenshot for best results.references/platform-specs.md — full size matrix, per-platform rules, count/format limits.references/design-recipes.md — theme tokens, layout guidance, headline writing tips, how to match a reference style.references/workflow.md — complete promo.config.json schema, all fields, and worked examples.Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub chanmeng666/app-promo-studio --plugin app-promo-studio