← ClaudeAtlas

cross-layer-verifylisted

Verify that an action actually worked by fusing TWO independent senses onto the machine — the GUI (screen-mcp's pixel-change signal) and the OS (os-control-mcp's os_verify: systemd unit state + journald). Use whenever an action is supposed to have a system effect you must confirm across a long or high-stakes task: clicking a Restart/Apply/Start button in a GUI, toggling a service from a settings panel, or any step where "it looked like it worked" is not good enough. The loop catches the failure a single-layer agent cannot see — a GUI that changed while the service never did (or a service that changed while the UI froze). Requires os-control-mcp; the pixel half additionally needs screen-mcp (without it, verification degrades cleanly to OS-only).
88plug/os-control-mcp · ★ 0 · AI & Automation · score 60
Install: claude install-skill 88plug/os-control-mcp
# Cross-layer action verification One sense lies. A screenshot can't tell a spinner from a frozen app; systemd can't see a dialog. Fuse both and you can tell a real success from a no-op — the thing that makes long-horizon work survivable. This skill encodes the loop: **`begin` → act → read both senses → `end` → reconcile.** ## The loop 1. **`os_verify` `action=begin`** — snapshot the baseline. Pass the `units` the action should affect (e.g. `["nginx.service"]`), optionally `expect` (unit → wanted state, e.g. `{"nginx.service": "active"}`), and `scope` (`system`|`user`). Keep the returned `token`. 2. **Perform the action** with whatever tool does it — a `screen_click` on the GUI button, an `os_service` restart, a manual step. 3. **Read the pixel signal** (only if a GUI was involved). Two options: - **`screen_verify`** — preferred. It *polls* until the screen settles or a timeout, grades the GUI itself (`CONFIRMED`/`PARTIAL`/`NO_OP`/`DIVERGED`), and returns a `pixel` block ready to hand straight to step 4. Takes `expect_text` / `expect_gone` / `expect_change`, so you can assert the button's effect rather than just "something moved". Use this when the GUI effect may take a moment to appear. - **`screen_sense`** — passive. Returns `{"pixel": {changed, opened, modal, no_op, activity}}` for whatever the *last* action already left behind, with no waiting. Use it when the action is known to be instantaneous, or when you have already