devtools_recorder records what an agent does on a tab and turns it into a replayable flow. Recordings are per agent, so two agents recording at once do not mix.
1
Start recording
browser_navigate, browser_click, browser_fill, browser_select, browser_key and browser_wait on that tab is captured with a stable selector for the element: a unique id, then data-testid, data-test, name or aria-label, and only as a last resort an nth-of-type path.2
Add checks along the way
browser_wait checks (text, textGone, url, selector with state). Checkpoints mark places a replay can stop at.3
Stop and parameterise
stop saves the flow as a JSON artifact. parameterize replaces a recorded literal with {{email}}. get shows the steps with their indexes; delete_step removes one.4
Replay
continueOnFailure. fromStep resumes part-way.5
Export
page.goto, page.locator(selector).click()/fill()/selectOption(), page.keyboard.press, assertions as expect(page.getByText(…)).toBeVisible() and expect(page).toHaveURL(…), checkpoints as comments, and parameters read from environment variables (EMAIL for {{email}}). The same file is also saved as an artifact.list shows saved flows. flowId accepts either the id or the artifact path.