atmos-browser-uselisted
Install: claude install-skill AruNi-01/atmos
# Atmos Browser Use
**Page / tab control** — not Desktop Use. **No MCP.**
External engine pin: **0.19.2**. Embedded snapshot: **`embedded_dom_v1`**.
`atmos browser-use` always prints JSON. Do **not** pass `--json`.
Successful **`state`** uses one envelope: `elements[]`, `truncated`,
`total_candidates`, `capability_flags`, honest `snapshot_format`.
Other verbs (click / type / tabs) do **not** include `elements[]`.
`capability_flags` is a **capability table**, not a per-call event.
Branch only on flags, not on two backend tutorials.
## One loop
```bash
# Desktop — first command. No prepare.
# If a Browser is already open, this returns target_id AND elements.
# If none exists, Desktop creates the user's default surface then snapshots.
# When Atmos Desktop is open, omitted --backend defaults to embedded.
atmos browser-use state
# Act with refs from THIS snapshot only
atmos browser-use click --ref …
atmos browser-use type --ref … --text "…"
atmos browser-use navigate --url https://…
# After navigate, a user highlight, or any mutation — state again
atmos browser-use state
```
Highlighted nodes are the **first** `elements[]` (refs like `g1:u0`). Click them
like any other ref. Skip nodes with `visible: false`. Do not look for a side channel.
## Flags
Read `capability_flags` on the last success. These say what the backend *can* do:
| Flag | When true |
|------|-----------|
| `tabs` | `atmos browser-use tabs --action list\|open\|select\|close` |
| `query` | `state --query "S