Skills

Two halves of the same job. One reads a set and tells you what it's doing; the other takes that description and produces panels. Both are plain files your agent can read, no account, no API key.

Read a set

Pick a shipped set and get a Markdown brief describing its visual system, hue centre and spread, lightness behaviour, panel geometry, and the layouts those numbers allow. Every value is measured from the pixels in your browser, so nothing here is a model's impression of the design.

Briefs describe technique, not identity: no exact brand colours, no app name, no copy, no layout reproduction. Use one to build with the same discipline, not to clone someone's store page. For your own set, score it here, the brief there includes your real hex values, because they're yours.

Pick a set above to generate its brief.

Produce a set

app-store-screenshots takes your raw app screens and a config, and renders finished panels at exact store dimensions. It's the step a style description alone doesn't get you: the output is PNGs you can upload, not advice.

SKILL.md The workflow an agent follows: read the screens, order them, pick a template, write captions.
reference.md The rubric, plus the hue-spread and lightness distribution measured across the gallery.
tokens.css One hue variable for the whole set. Colour drift is unrepresentable, not just discouraged.
render.mjs Fills the templates and renders exact-dimension PNGs. `--check` validates without rendering.
templates/ device-framed, full-bleed, hybrid, illustration-led, raw-screens.

Run it

cd skill/app-store-screenshots
node render.mjs example.config.json --check # validate the config
node render.mjs example.config.json # render to out/

The skill lives in the repo at skill/app-store-screenshots. Point your agent at SKILL.md and it has everything it needs.

Why both

A brief is a constraint set

It answers "what is this set doing" in numbers, one hue at 28°, ±6% lightness, six identical panels. Constraints like that survive being handed to an agent. Adjectives don't.

A skill is a build step

It turns those constraints into files at 1290×2796. The two compose: measure a set you admire, drop the config into the renderer, ship the PNGs.

Score your own set first

Submit an app

Paste its App Store link and I'll take a look.