
peekaboo
✓ Official★ 3by firecrawl · part of firecrawl/openclaw
Capture and automate macOS UI with the Peekaboo CLI.
Capture and automate macOS UI with the Peekaboo CLI.
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by firecrawl
Capture and automate macOS UI with the Peekaboo CLI.
npx skills add https://github.com/firecrawl/openclaw --skill peekaboo
Download ZIPGitHub3
Peekaboo
Peekaboo is a full macOS UI automation CLI: capture/inspect screens, target UI
elements, drive input, and manage apps/windows/menus. Commands share a snapshot
cache and support --json/-j for scripting. Run peekaboo or
peekaboo <cmd> --help for flags; peekaboo --version prints build metadata.
Tip: run via polter peekaboo to ensure fresh builds.
Features (all CLI capabilities, excluding agent/MCP)
Core
-
bridge: inspect Peekaboo Bridge host connectivity -
capture: live capture or video ingest + frame extraction -
clean: prune snapshot cache and temp files -
config: init/show/edit/validate, providers, models, credentials -
image: capture screenshots (screen/window/menu bar regions) -
learn: print the full agent guide + tool catalog -
list: apps, windows, screens, menubar, permissions -
permissions: check Screen Recording/Accessibility status -
run: execute.peekaboo.jsonscripts -
sleep: pause execution for a duration -
tools: list available tools with filtering/display options
Interaction
-
click: target by ID/query/coords with smart waits -
drag: drag & drop across elements/coords/Dock -
hotkey: modifier combos likecmd,shift,t -
move: cursor positioning with optional smoothing -
paste: set clipboard -> paste -> restore -
press: special-key sequences with repeats -
scroll: directional scrolling (targeted + smooth) -
swipe: gesture-style drags between targets -
type: text + control keys (--clear, delays)
System
-
app: launch/quit/relaunch/hide/unhide/switch/list apps -
clipboard: read/write clipboard (text/images/files) -
dialog: click/input/file/dismiss/list system dialogs -
dock: launch/right-click/hide/show/list Dock items -
menu: click/list application menus + menu extras -
menubar: list/click status bar items -
open: enhancedopenwith app targeting + JSON payloads -
space: list/switch/move-window (Spaces) -
visualizer: exercise Peekaboo visual feedback animations -
window: close/minimize/maximize/move/resize/focus/list
Vision
see: annotated UI maps, snapshot IDs, optional analysis
Global runtime flags
-
--json/-j,--verbose/-v,--log-level <level> -
--no-remote,--bridge-socket <path>
Common targeting parameters (most interaction commands)
-
App/window:
--app,--pid,--window-title,--window-id,--window-index -
Snapshot targeting:
--snapshot(ID fromsee; defaults to latest) -
Element/coords:
--on/--id(element ID),--coords x,y -
Focus control:
--no-auto-focus,--space-switch,--bring-to-current-space,--focus-timeout-seconds,--focus-retry-count
Common capture parameters
-
Output:
--path,--format png|jpg,--retina -
Targeting:
--mode screen|window|frontmost,--screen-index,--window-title,--window-id -
Analysis:
--analyze "prompt",--annotate -
Capture engine:
--capture-engine auto|classic|cg|modern|sckit
Common motion/typing parameters
-
Timing:
--duration(drag/swipe),--steps,--delay(type/scroll/press) -
Human-ish movement:
--profile human|linear,--wpm(typing) -
Scroll:
--direction up|down|left|right,--amount <ticks>,--smooth
Examples
See -> click -> type (most reliable flow)
peekaboo see --app Safari --window-title "Login" --annotate --path /tmp/see.png
peekaboo click --on B3 --app Safari
peekaboo type "[email protected]" --app Safari
peekaboo press tab --count 1 --app Safari
peekaboo type "supersecret" --app Safari --return
Target by window id
peekaboo list windows --app "Visual Studio Code" --json
peekaboo click --window-id 12345 --coords 120,160
peekaboo type "Hello from Peekaboo" --window-id 12345
Capture screenshots + analyze
peekaboo image --mode screen --screen-index 0 --retina --path /tmp/screen.png
peekaboo image --app Safari --window-title "Dashboard" --analyze "Summarize KPIs"
peekaboo see --mode screen --screen-index 0 --analyze "Summarize the dashboard"
Live capture (motion-aware)
peekaboo capture live --mode region --region 100,100,800,600 --duration 30 \
--active-fps 8 --idle-fps 2 --highlight-changes --path /tmp/capture
App + window management
peekaboo app launch "Safari" --open https://example.com
peekaboo window focus --app Safari --window-title "Example"
peekaboo window set-bounds --app Safari --x 50 --y 50 --width 1200 --height 800
peekaboo app quit --app Safari
Menus, menubar, dock
peekaboo menu click --app Safari --item "New Window"
peekaboo menu click --app TextEdit --path "Format > Font > Show Fonts"
peekaboo menu click-extra --title "WiFi"
peekaboo dock launch Safari
peekaboo menubar list --json
Mouse + gesture input
peekaboo move 500,300 --smooth
peekaboo drag --from B1 --to T2
peekaboo swipe --from-coords 100,500 --to-coords 100,200 --duration 800
peekaboo scroll --direction down --amount 6 --smooth
Keyboard input
peekaboo hotkey --keys "cmd,shift,t"
peekaboo press escape
peekaboo type "Line 1\nLine 2" --delay 10
Notes
-
Requires Screen Recording + Accessibility permissions.
-
Use
peekaboo see --annotateto identify targets before clicking.
npx skills add https://github.com/firecrawl/openclaw --skill peekabooRun this in your project — your agent picks the skill up automatically.
Quickstart (happy path)
peekaboo permissions
peekaboo list apps --json
peekaboo see --annotate --path /tmp/peekaboo-see.png
peekaboo click --on B1
peekaboo type "Hello" --return
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.