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 skills add buildoak/fieldwork-skills --skill peekaboogit clone --depth 1 https://github.com/buildoak/fieldwork-skillsWrote 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/buildoak/fieldwork-skills/peekaboo)<a href="https://agentmods.dev/skills/buildoak/fieldwork-skills/peekaboo"><img src="https://agentmods.dev/badge/skills/buildoak/fieldwork-skills/peekaboo/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/buildoak/fieldwork-skills/peekaboo"><img src="https://agentmods.dev/badge/skills/buildoak/fieldwork-skills/peekaboo.svg" alt="Reviewed on agentmods" width="80" 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.00054 | $0.02956 |
| Opus 5.5 | $0.00022 | $0.01182 |
| Sonnet 5.5 | $0.00011 | $0.00591 |
| Haiku 4.5 | $0.00005 | $0.00296 |
Grade A, and why
peekaboo 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 1mo 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 — 231 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Peekaboo
Native macOS GUI automation via peekaboo, using an AX-first hybrid approach that prioritizes accessibility-tree interaction when reliable and switches to screenshot, coordinate, JavaScript, or vision-based fallbacks when AX coverage breaks down in real apps.
Terminology used in this file:
- AX (Accessibility tree): The macOS accessibility hierarchy used for deterministic element discovery and interaction (
B1,T2, etc.). - peekaboo: The macOS automation CLI used for discovery (
see,image), interaction (click,type,hotkey), and app/window/dialog control. - UI-TARS: Vision model server used when AX discovery fails or times out on complex UIs.
- FSM: Finite State Machine controlling retries, transitions, and recovery paths.
- Retina scale: Display pixel ratio (typically
2.0) used to map screenshot coordinates correctly on Retina displays. - snapshot ID: The
snapshot_idreturned bysee; required for stable element resolution and invalidated by UI changes.
Setup
brew install jq
brew install --cask peekaboo
mkdir -p ./scripts
chmod +x ./scripts/peekaboo-safe.sh ./scripts/health-check.sh
./scripts/health-check.sh
- Grant Accessibility and Screen Recording permissions for your terminal agent host (for example, Terminal, iTerm2, Claude Code).
- Use
./scripts/peekaboo-safe.shas the only invocation entrypoint for peekaboo commands. - For full setup details and troubleshooting, see
references/installation-guide.mdif present in your local skill copy.
Staying Updated
This skill ships with an UPDATES.md changelog and UPDATE-GUIDE.md for your AI agent.
After installing, tell your agent: "Check UPDATES.md in the peekaboo skill for any new features or changes."
When updating, tell your agent: "Read UPDATE-GUIDE.md and apply the latest changes from UPDATES.md."
Follow UPDATE-GUIDE.md so customized local files are diffed before any overwrite.
Quick Start
Run a 3-step baseline flow: health check, discover, interact.
What ships with it
24 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- playbooks/booking-search.md 4.0 KB
- playbooks/captcha-solver.md 19 KB
- playbooks/cookie-extractor.md 15 KB
- playbooks/cross-app-data-transfer.md 9.0 KB
- playbooks/dialog-and-file-picker.md 6.9 KB
- playbooks/file-upload.md 3.2 KB
- playbooks/instagram-monitor.md 12 KB
- playbooks/native-app-automation.md 6.3 KB
- playbooks/reddit-data-extraction.md 2.9 KB
- playbooks/reddit-login.md 3.4 KB
- playbooks/safari-login.md 7.8 KB
- playbooks/x-signup.md 4.9 KB
- references/commands.md 20 KB
- references/failures.md 6.6 KB
- references/hard-tests.md 22 KB
- references/installation-guide.md 7.6 KB
- references/patterns.md 9.7 KB
- references/safari-workarounds.md 4.4 KB
- references/token-budget.md 8.9 KB
- references/validated-tests.md 3.9 KB
- scripts/health-check.sh 3.0 KB runs code
- scripts/peekaboo-safe.sh 3.5 KB runs code
- UPDATE-GUIDE.md 1.7 KB
- UPDATES.md 744 B
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.
- 1mo ago First seen · 231 lines · 54 tokens per session scan A 595febc460ea
peekaboo is a skill published in the GitHub repository buildoak/fieldwork-skills (15 stars, last pushed 7mo ago), licensed Apache-2.0. It adds 54 tokens to every session and 2,956 once invoked, about $0.0002 per session on Opus 5.5. 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 skills, from other repositories
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers hosted cloud browsers for AI agents: the browser-use Python library (Browser(usecloud=True)), Playwright, Puppeteer or any CDP client.
x402
Set up Browser Use Cloud payments with x402 — pay per request from a crypto wallet (USDC on Base mainnet), no signup or API key. Two setups it works out up front — "just use it" (set up a wallet so you or Claude Code can run cloud browser tasks paid from the wallet — Claude writes and runs throwaway scripts, nothing…
remote-browser
Controls an isolated Browser Use Cloud browser from a sandboxed machine with the current Browser Use CLI.
cloud
Documentation reference for using Browser Use Cloud — the hosted API and SDK for browser automation. Use this skill whenever the user needs help with the Cloud REST API (v2, v3, or v4), browser-use-sdk (Python or TypeScript), X-Browser-Use-API-Key authentication, cloud sessions, browser profiles, profile sync, CDP…
opencli-autofix
Automatically fix broken OpenCLI adapters when commands fail. Load this skill when an opencli command fails — it guides you through collecting a trace artifact, patching the adapter, retrying, and filing an upstream GitHub issue after a verified fix. Works with any AI agent.
opencli-adapter-author
Build or improve an OpenCLI JS adapter using observed site behavior, existing adapters and browser API evidence. For ad-hoc browser interaction, see opencli-browser.