flow_run
Run a flow spec on the Pebble emulator, capture screenshots at each step, and return images with metadata.
Instructions
Run a gallery-style flow spec against the emery emulator and return every screenshot.
Parses flow_text (see pebble_mcp.flow for the line format), installs
each app/pbw onto the emulator with the kill+wipe-first
discipline, drives the buttons/waits, and captures the shot steps.
Project dirs in app steps resolve against the repo root (parent of
the pebble-mcp package dir, overridable via PEBBLE_MCP_REPO_ROOT).
out_dir defaults to a fresh tempdir.
Returns a JSON metadata block — flow name, out_dir, per-shot
{app, name, path, duration_s}, plus retries and
wedge_recoveries — followed by one MCP image per shot.
Refuses any flow requesting more than 40 shots (runaway guard).
SAFETY — live-write hazard. flow_run drives REAL apps that can fire REAL
network POSTs. A flow against an app with server-mutating screens must
NEVER confirm a live-send action (e.g. press select on a "submit" /
"send" screen or inside a value picker that commits on confirm). The
convention is a # SAFETY RULES (live-write hazards — DO NOT TRIGGER):
comment block at the top of every flow file; the bundled example flows
under pebble_mcp/examples/flows/ show the pattern — follow their
rules. Capturing those screens is fine; confirming them is not.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| out_dir | No | ||
| flow_text | Yes |