Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/openclaw/peekaboo/scrollgit clone --depth 1 https://github.com/openclaw/PeekabooWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.01298 |
| Opus 5 | $0.00000 | $0.00649 |
| Sonnet 5 | $0.00000 | $0.00260 |
| Haiku 4.5 | $0.00000 | $0.00130 |
Grade A, and why
scroll scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.
peekaboo scroll
scroll invokes an element's Accessibility scroll action by default, keeping the target app in the background and leaving the shared cursor untouched. When a visible WKWebView/Tauri surface exposes only an opaque container, Peekaboo can instead route line-wheel events to the fresh snapshot's exact PID/window. Add --foreground for targetless, smooth, or delayed global wheel input.
Key options
| Flag | Description |
|---|---|
| `--direction up | down |
--amount <ticks> |
Number of scroll “ticks” (default 3). Smooth mode multiplies this internally. |
--on <element-id> |
Scroll relative to a Peekaboo element from the current/most recent snapshot. |
--snapshot <id> |
Override the snapshot used to resolve --on. |
--foreground |
Focus the target and allow synthetic wheel events at the physical pointer. Required without --on. |
--delay <duration> |
Time between synthetic ticks (default 0; bare values are milliseconds; nonzero requires --foreground). |
--smooth |
Use smaller synthetic increments; requires --foreground. |
| Target flags | --app <name>, --pid <pid>, --window-id <id>, --window-title <title>, --window-index <n>. Background mode uses these only to resolve/refresh the target; foreground mode focuses it first. |
| Foreground focus flags | --space-switch, --bring-to-current-space, timeout, and retry controls require --foreground. |
Implementation notes
- If you pass
--onwithout a snapshot, the command automatically looks upservices.snapshots.getMostRecentSnapshot()so you rarely need to wire IDs manually. - A concrete
--snapshot <id>is authoritative and never triggers an observation refresh or a new capture. Omitted, blank,latest,most-recent, andmost_recentreferences may refresh missing elements and therefore can require a capture-capable host. - Remote background element scroll requires Bridge protocol 1.35 and the service-derived
requestPinnedExactWindowScrollReceiptcapability. Older or capability-missing hosts refuse before scroll dispatch. - If a canonical scroll result requires fresh observation, or no canonical outcome is available, the used snapshot remains readable but cannot drive another mutation. Re-run
peekaboo see; replaying the old ID returnsSNAPSHOT_STALEbefore dispatch. - Background scrolling first invokes a directional Accessibility action, then tries a settable descendant
AXScrollBarused by standard AppKit scroll areas. If an opaque group still cannot scroll, a pixel-backed exact-window snapshot may use native PID-routed wheel events only for a visible, WebKit-linked, non-Electron app. Peekaboo revalidates the captured process generation, window ID, bounds, and point around every tick; it never activates the app, moves the cursor, or falls back to a desktop-global event. - Fallback is available only before the first native scroll unit is accepted. If a multi-page Accessibility, scroll-bar, value, or exact-window route stops after a definite prefix, Peekaboo reports retry-unsafe
partialwith the exact accepted-unit count and side-effect recovery guidance; an ambiguous in-flight unit reports retry-unsafeindeterminateand requires fresh observation. Another route never replays the full requested amount. - macOS does not acknowledge receiver consumption for PID-routed wheel events. A successful routed dispatch therefore reports
effect: "unverifiable",retry_safe: false, and requires a fresh observation before another scroll. Hidden apps, AX-only snapshots, Electron/Chromium/Catalyst apps, stale receipts, and changed bounds keep the existing pre-dispatch refusal. - Foreground mode verifies focus when a target exists, then uses synthetic wheel events. Focus failure aborts before pointer dispatch.
- JSON output reports target diagnostics for element scrolls and the current pointer position for explicit foreground targetless scrolls. When a snapshot carries a complete exact receipt,
targetReceiptrepeats its snapshot ID, PID, decimal process-generation identity, window ID, and bounds so callers can audit the dispatched destination. ScrollRequestis handed directly toAutomationServiceBridge.scroll, so the CLI benefits from the same smooth/step semantics the agent runtime sees.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 58 lines · 0 tokens per session scan A 6f2302f6b464
scroll is a command published in the GitHub repository openclaw/Peekaboo (5,098 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,298 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
upload
Archive, upload, and submit to external TestFlight (full loop with monitor).
release
Create a new Remarc release using the automated GitHub Actions workflow.
imark-review
Open a markdown document in Imark for review and wait for the reviewer's notes.
imark-notes
Read the Imark comments out of a markdown file.
archive
Create xcarchive for TestFlight.
build
Build debug and launch HomeClaw.