sootsim screenshots

capture + compose app-store screenshot sets from a single plan

sootsim screenshots

Run a YAML plan that can capture raw screenshots from a flow, frame them with the real device chrome, and export branded marketing canvases for App Store submission.

terminal

sootsim screenshots --plan <plan.yaml> [options]

Options

flagdescription
--plan <path>screenshot plan yaml
--sim <sim>reuse a live sim for capture
--app <target>override the plan app target for this run
--device <model>override the plan capture device for this run
--capture-onlystop after raw/framed intermediates
--compose-onlyskip flow capture and reuse existing raw screenshots

Examples

terminal

sootsim screenshots --plan .sootsim/app-store.yaml
sootsim screenshots --plan .sootsim/app-store.yaml --sim a9
sootsim screenshots --plan .sootsim/app-store.yaml --compose-only

Plan-Driven Capture

screenshots is the first high-level orchestration command for App Store work. A plan can do three jobs in one pass:

  • capture raw screenshots from a flow run
  • produce framed intermediates with the real sootsim shell device chrome
  • compose branded export canvases with gradients, copy, and alternate layouts

The capture stage stays bridge-backed and uses the same live runtime/sim model as flow. The composition stage is node-side and Playwright-rendered so exports are reproducible and do not depend on the live shell DOM being in a particular state.

Typical Shape

app: 8081
device: iphone-14
capture:
flow: .maestro/capture-app-store-screenshots.yaml
mode: raw+framed
compose:
canvases: [iphone-6-9, iphone-6-1]
background: cyan
text:
preset: bold-top
slides:
- id: splash-hero
screenshot: apple/iphone/en/01-splash.png
headline: First punch.
subheadline: Every pick in one place.

That one plan becomes the source of truth for raw capture, framed intermediates, and final exported canvases.

Ready to build?

Run your React Native app in the browser. No simulators, no native toolchain, no waiting.

npm i -g sootsim