drive-screenlisted
Install: claude install-skill 88plug/screen-mcp
# Driving the desktop with mcp-screen
A loop, not a single call: **locate → ground → act → confirm (watch)**. The tools are `screen_screenshot`, `screen_click`, `screen_type`, `screen_key`, `screen_scroll`, `screen_drag`, `screen_move_mouse`, `screen_read_page`, `screen_do` (batch), `screen_tour`, `screen_wait`, **`screen_watch`**, `screen_diag`, `screen_reload`, `screen_session`.
## Human eyes, not a single glance
screen-mcp is supposed to see like a human. Humans do **not** decide a UI is fine from one freeze-frame — they watch for a beat. A force-directed graph with 500 nodes, a spinning loader, or a canvas thrashing looks "ok" in one shot and **crazy** over 3–6 seconds.
**Default confirm path after anything that can thrash** (graphs, maps, canvases, loaders, animated dashboards, connection clouds):
```text
screen_watch(region=[…], fps=1, seconds=6)
```
| Verdict | Meaning | Agent must |
|---|---|---|
| `settled` | Quiet at end of window | Safe to act / pass visual QA |
| `evolving` | Navigation/layout mid-watch | Re-ground on the **final** frame |
| **`jitter`** | Sustained local motion | **Fail visual QA** — fix the product (cap nodes, freeze sim). Do not report "looks good" |
| `unstable` | Mixed noise | Watch longer or re-ground |
Do **not** ship or declare a UI fix verified on a single screenshot when the surface is animated. That is how connection clouds "look crazy" slip past agents.
## The efficient loop
1. **Locate (once):** `screen_screenshot()` with no