Peekaboo is a macOS command-line tool and menu-bar app that captures screens, inspects accessibility information, and controls native user interfaces. AI agents and MCP clients use it to observe applications and carry out interactions on a Mac.
Getting it into your agent
There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.
Wrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/openclaw/peekaboo/crabbox)<a href="https://agentmods.dev/skills/openclaw/peekaboo/crabbox"><img src="https://agentmods.dev/badge/skills/openclaw/peekaboo/crabbox.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00043 | $0.08290 |
| Opus 5 | $0.00022 | $0.04145 |
| Sonnet 5 | $0.00009 | $0.01658 |
| Haiku 4.5 | $0.00004 | $0.00829 |
Grade B, and why
crabbox scanned grade B with 1 finding 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 6d 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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
sudo ln -sf \"\$PWD/<cli-entry>\" /usr/local/bin/<expected-command> This is a copy
100% identical to crabbox — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 712 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Crabbox
Use the Crabbox wrapper when OpenClaw needs remote Linux proof for broad tests, CI-parity checks, secrets, hosted services, Docker/E2E/package lanes, warmed reusable boxes, sync timing, logs/results, cache inspection, or lease cleanup.
Crabbox is the transport/orchestration surface. The actual backend can be:
- brokered AWS Crabbox: direct provider,
provider=aws, lease ids likecbx_...,syncDelegated=false - Blacksmith Testbox through Crabbox: delegated provider,
provider=blacksmith-testbox, ids liketbx_...,syncDelegated=true
For OpenClaw maintainer broad pnpm gates, Blacksmith Testbox through the
Crabbox wrapper is acceptable and often preferred when the standing Testbox
rules apply. Do not describe those runs as "AWS Crabbox"; report them as
Testbox-through-Crabbox with the tbx_... id and Actions run.
Use the repo .crabbox.yaml brokered AWS path when the task specifically needs
direct AWS Crabbox behavior, persistent direct-provider leases, --fresh-pr,
--full-resync, environment forwarding, capture/download support, or provider
comparison. Use --provider blacksmith-testbox when the task needs OpenClaw
maintainer Testbox proof, prepared CI environment, broad/heavy pnpm gates, or
the user asks for Testbox/Blacksmith.
First Checks
- Run from the repo root. Crabbox sync mirrors the current checkout.
- Check the wrapper and providers before remote work:
command -v crabbox
../crabbox/bin/crabbox --version
pnpm crabbox:run -- --help | sed -n '1,120p'
../crabbox/bin/crabbox desktop launch --help
../crabbox/bin/crabbox webvnc --help
- OpenClaw scripts prefer
../crabbox/bin/crabboxwhen present. The user PATH shim can be stale. - Check
.crabbox.yamlfor direct-provider defaults. Omitting--providermeans brokered AWS today. - The brokered AWS default is a Linux developer image in
eu-west-1; the repo config pins hoteu-west-1a/b/cplacement so Fast Snapshot Restore can apply. If warmup drifts well past the minute-scale path, verify image promotion, region/AZ placement, and FSR state before blaming OpenClaw. - For broad OpenClaw maintainer
pnpmgates, prefer the repo wrapper with--provider blacksmith-testboxor the repo Testbox helpers when the standing Testbox policy applies. - Always report the actual provider and id.
cbx_...means AWS Crabbox;tbx_...means Blacksmith Testbox through Crabbox. If the output only saysblacksmith testbox list, useblacksmith testbox list --allbefore concluding no box exists. - If a warm direct-provider lease smells stale, retry with
--full-resync(alias--fresh-sync) before replacing the lease. This resets the remote workdir, skips the fingerprint fast path, reseeds Git when possible, and uploads the checkout from scratch. - For live/provider bugs, use the configured secret workflow before downgrading to mocks. Copy only the exact needed key into the remote process environment for that one command. Do not print it, do not sync it as a repo file, and do not leave it in remote shell history or logs. If no secret-safe injection path is available, say true live provider auth is blocked instead of silently using a fake key.
- Prefer local targeted tests for tight edit loops. Broad gates belong remote.
- Do not treat inherited shell env as operator intent. In particular,
OPENCLAW_LOCAL_CHECK_MODE=throttledfrom the local shell is not permission to move broadpnpm check:changed,pnpm test:changed, fullpnpm test, or lint/typecheck fan-out onto the laptop. - Only use
OPENCLAW_LOCAL_CHECK_MODE=throttled|fullwhen the user explicitly asks for local proof in the current task. If Testbox is queued or capacity is constrained, report the blocker and keep only targeted local edit-loop checks running.
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.
- 6d ago First seen · 712 lines · 43 tokens per session scan B ed512c0b0385
crabbox is a skill published in the GitHub repository openclaw/Peekaboo (5,116 stars, last pushed today), licensed MIT. It adds 43 tokens to every session and 8,290 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). It is 100% identical to crabbox, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
qa-test
CodexBar live QA/e2e testing: run provider usage matrix checks, validate real app config, use Peekaboo for menu proof, use Browser Use/official docs for API spec or logged-in dashboard checks, and handle 1Password credentials safely.
gui-onboarding-verification-skill
GUI desktop app only. Launch two parallel Oz cloud agents with computer use to download and install the latest stable Linux Warp build, capture screenshots while walking through first-time onboarding in both logged-out and logged-in states, then selectively fan out follow-up cloud agents for distinct onboarding…
gui-integration-test
GUI desktop app only. Writes, runs, and debugs Warp integration tests using the custom Builder/TestStep framework in crates/integration. Use when adding a new integration test, fixing a failing integration test, wiring a test into the manual runner or nextest suite, or verifying end-to-end UI and terminal behavior in…
gui-integration-test-video
GUI desktop app only. Run and author Warp Rust integration tests (the crates/integration harness) that capture screenshots and video via TestStep::withstartrecording() / withtakescreenshot(), including mouse and keyboard event overlays. TRIGGER only for the integration-test recording pipeline: recording or…
cli-testing
Manually test a running Vellum assistant end-to-end purely from the CLI — no desktop app or web UI. Hatch an instance, send messages, watch the reply, and tear it down. Use when verifying assistant behavior, reproducing a bug, or smoke-testing a change without the macOS/web clients.
verify-ui-change-in-cloud
Verifies user-facing Warp client changes by spawning a cloud agent with computer use to test Warp. Use only when the user explicitly requested computer-use verification or accepted an offer to run it, and ONLY in non-sandboxed environments and local environments. Triggers a cloud agent that runs the test-warp-ui skill.