flow-execute
Run a saved YAML flow end to end to replay a recorded path, re-run a QA regression, or verify a known journey still passes. Returns a per-step report; the first failure stops the run and remaining steps are skipped.
Instructions
Run a saved YAML flow end to end. Use when asked to replay a recorded path, re-run a QA regression, or check that a known journey still passes; for a one-off interaction use the gesture tools instead, and to author a flow use flow-start-recording. Pass exactly one flow source: name (under project_root) or flow_path. Returns a per-step report: the first failure stops the run and the rest report as skipped.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of a saved flow to run from `.argent/flows` (e.g. "settings-explore"). Omit when flow_path is set. | |
| device | No | Device id to run against (iOS UDID, Android/Vega serial, Chromium id) — the id list-devices reports. Auto-detected when omitted, but only when exactly one booted device matches (optionally narrowed by `platform`); with several booted the run fails and lists them, so pass this explicitly whenever more than one device is up. | |
| platform | No | Restrict auto-detection to this platform when several devices are booted. `ios` selects local simulators only — pass `ios-remote` to select a remote one. `chromium` does more than filter: with no `device` it SELECTS the self-boot branch for an e2e flow - the runner boots an Electron instance from the `launch` step's chromium value and tears it down after the run (a single-key `launch: { chromium: … }` map selects it on its own, without this parameter). When it selects that branch it never falls back to device auto-detection (a fragment, or an e2e launch map with no `chromium` key, still does), and the launch value must be a real Electron app path on the tool-server host: a bare-string `launch:` - what the recorder writes - holds an installed-app bundle id, so passing `chromium` for one fails the whole run with `Electron boot: path does not exist`. Edit the launch to `{ chromium: <app path> }` first. | |
| flow_file | No | Path to the flow .yaml as readable by the tool-server. Internal — the argent client derives it from project_root and name automatically; leave unset. | |
| flow_path | No | Omit when name is set. Absolute path to a co-located flow .yaml on the client and tool server's shared filesystem. This must be supplied through the file-input boundary. For remote execution, pass name + project_root instead. | |
| project_root | Yes | Absolute path to the calling agent's project root — the cwd it is working in. With name, the saved flow is read from `.argent/flows/<name>.yaml` under this root; with flow_path, the flow, its run: siblings, its script: paths and baselines all resolve beside the YAML instead, so pass the agent's cwd. A script still RUNS in this root whichever source was used. | |
| updateBaselines | No | Write/refresh screenshot baselines for `snapshot` steps instead of diffing against them. | |
| prerequisiteAcknowledged | No | Set to true to confirm the execution prerequisite has been met. Required (LLM path) when a fragment defines an executionPrerequisite. |