scout_attach
Launch a browser and attach to a running web app to begin exploratory UI testing. Choose a write mode—observe, read-only, safe-write, or destructive—to match real data versus disposable environments.
Instructions
Launch a browser and attach to a running web app. First attach in this conversation and you have read neither the SceneScout skill nor scout_playbook? Call scout_playbook before this. Write policy is enforced at the NETWORK layer: mode='observe' blocks EVERY request that is not a GET (login and token refresh excepted) — choose it for a target that holds real data, where even an ordinary form submission would create a record; mode='read-only' (default) blocks destructive-labeled elements AND all PUT/PATCH/DELETE + destructive POSTs, but lets ordinary form POSTs through; mode='safe-write' allows creating data and permits updates/deletes ONLY on resources this session created (use when the user wants create/edit flows tested); mode='destructive' allows everything — ONLY when the user explicitly confirmed a disposable/seeded environment. Pass a Playwright storage-state JSON to explore as an authenticated role. Pass session to keep MULTIPLE roles alive at once (one browser each, genuinely concurrent) for collaboration testing — target each directly with every tool's session param, or use scout_session to set which one is the default; coverage and findings merge into one project memory.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Base URL of the running app, e.g. http://localhost:3000 | |
| mode | No | Write policy (see tool description). Never choose 'destructive' yourself — user opt-in only. | read-only |
| headed | No | Show the browser window | |
| browser | No | Browser to drive. Default: the SCENESCOUT_BROWSER environment variable, else chromium. firefox and webkit must be downloaded first (scenescout install --browser-only --browsers firefox). Use them for a cross-browser pass; stay on chromium otherwise. | |
| session | No | Session name for multi-role runs (e.g. 'admin', 'qa'). Creates/replaces that session's browser and makes it the default. Default: 'default'. | |
| projectPath | Yes | Absolute path to the project (memory + report live in .scenescout/ here) | |
| viewportWidth | No | Viewport width (default 1280); use e.g. 390 for a mobile pass | |
| viewportHeight | No | Viewport height (default 900) | |
| storageStatePath | No | Optional Playwright storage-state JSON path for authenticated exploration |