browser-automation
Browser automation
An agent reads the page as an accessibility-tree snapshot with element refs, acts on one ref, and snapshots again, because refs invalidate whenever the DOM changes. Around that loop sit the choices of browser (local or cloud), identity (cookies are credentials), reach (a tool that owns the session and blocks other hosts), observation (a second, read-only CDP client), and how much of each step stays AI (use AI only where the page is genuinely unpredictable). Extracting data from pages is the web-scraping skill; tests of your own app are the e2e-testing skill.
Apply only the routes and checks for the selected job. Read a linked skill's named file from its installed folder when available, or from the linked source. Report an unavailable required reference instead of inventing it. [skill-authoring, DISTRIBUTION.md#composing-skills]
| The job | Read |
|---|---|
The snapshot, ref, act loop; waits; failure heuristics; the browse and agent-browser CLIs |
SNAPSHOT-AND-ACT.md |
| Local, attached or cloud browser; matching the right page, CDP limits, stopping on blocks, cloud sessions and keep-alive | LOCAL-AND-CLOUD.md |
| Reusing a signed-in session: exporting cookies, persistent contexts, scheduled jobs | SIGNED-IN-SESSIONS.md |
| Giving an agent one constrained browser tool with a domain allowlist and an audit log | SAFE-BROWSER.md |
| Recording a run with a second CDP client, slicing it per page, and diagnosing failures | RUN-TRACING.md |
| Self-improving task loops, tuning an agent's prompt, oracles and judging results | TASK-LOOPS.md |
| Turning a converged run into a deterministic Playwright or Stagehand script | SCRIPT-CODEGEN.md |
Reading how someone else's page or one effect was built: the stack, tokens, type, spacing, motion and breakpoint recipes, the layer stack behind an effect, getAnimations(), measured, derived and inferred claims, from a screenshot, without a browser |
pixel inspection |
| Implementing an exact copy of an inspected live component, section or animation | pixel-reverse-engineer |
| Deploying a browser task as a serverless function | BROWSER-FUNCTIONS.md |
| The determinism spectrum and migrating browser-use to Stagehand | STAGEHAND-MIGRATION.md |