CommunityImagemgithub.com

steipete/peekaboo

macOS screenshots, UI inspect, clicks, typing, app/window automation.

O que é peekaboo?

peekaboo is a Claude Code agent skill that macOS screenshots, UI inspect, clicks, typing, app/window automation.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/steipete/agent-scripts/tree/main/skills/peekaboo

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design-direction, affaan-m/ios-icon-gen · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que peekaboo faz?

Use for macOS screen capture, UI inspection, and GUI automation.

Binary

  • Prefer ~/bin/peekaboo when present; it is Peter's local release copy.
  • Else use peekaboo.
  • Check first: ~/bin/peekaboo --version || peekaboo --version.

Mac app host

  • Launch Peekaboo.app before live capture/automation; the CLI does not auto-launch it.
  • The app owns TCC grants and serves ~/Library/Application Support/Peekaboo/bridge.sock.
  • Installed app: open -a Peekaboo. Repo build: build the Apps/Mac/Peekaboo.xcodeproj Peekaboo scheme, then open the resulting Peekaboo.app.
  • peekaboo daemon start is not an app launch; the daemon has separate permissions and daemon.sock.
  • Verify peekaboo bridge status --verbose --json selects hostKind: gui; use --bridge-socket "$HOME/Library/Application Support/Peekaboo/bridge.sock" when deterministic app routing matters.

Safety

  • Check permissions before capture/automation: peekaboo permissions status --json.
  • Screenshot needs Screen Recording; clicks/typing/window control need Accessibility.
  • On remote Macs, Screenshot may be blocked by missing Screen Recording while clicks/typing still work through Accessibility; continue with clicks or DOM automation when the target is otherwise knowable.
  • Prefer --json for machine parsing and --no-remote when testing local TCC.
  • Do not click/type/destructively automate unless user asked or target is a controlled test.

Common Commands

PB="${PEEKABOO_BIN:-$HOME/bin/peekaboo}"
[ -x "$PB" ] || PB="$(command -v peekaboo)"

"$PB" permissions status --json
open -a Peekaboo
"$PB" bridge status --verbose --json
"$PB" list screens --json
"$PB" list apps --json
"$PB" list windows --app Safari --json
"$PB" image --mode screen --screen-index 0 --path /tmp/screen.png --json --no-remote
"$PB" see --app frontmost --path /tmp/frontmost.png --json --annotate
"$PB" tools --json
"$PB" learn
"$PB" click --coords 100,100 --json
"$PB" type "text" --json

Workflow

  1. Resolve PB as above and confirm version when install state matters.
  2. For live UI work, launch Peekaboo.app; verify the GUI bridge and its permissions.
  3. Run permissions status --json; if missing TCC, report exact missing grant.
  4. For screenshots, use image; include --path, --json, and usually --no-remote only when deliberately testing caller-local TCC.
  5. For element targeting, run see --json --annotate, then click by element id/snapshot.
  6. For long-running/change-aware screen capture, use capture live; for video frame sampling, use capture video.
  7. Use tools --json for command/tool discovery and learn when the full agent guide is useful.
  8. Verify output files with sips -g pixelWidth -g pixelHeight <path> or view the image.

Docs: ~/Projects/Peekaboo/docs/commands/.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

steipete/agent-transcript

GitHub PR/issue agent transcripts: redact, preview, and insert safely.

steipete/beeper

Beeper cache: contact hints, room lookup, WhatsApp/iMessage traces, FTS.

steipete/browser-use

Existing Chrome automation: Chrome plugin first, mcporter fallback.

steipete/clawsweeper-status

ClawSweeper status: URLs, workflow health, active workers, ops snapshot.

steipete/clickclack

ClickClack ops: chat app, Hetzner deploy, DNS/docs/app, Docker rollout.

steipete/cloudflare-registrar

Cloudflare Registrar: domain availability, prices, registration via mcporter.

steipete/codex-debugging

Codex debugging: codex-rs core/tui/exec/cli/app-server/config.

steipete/create-cli

CLI UX/spec: args, flags, help, output, errors, config, dry-run.

steipete/discord-clawd

Discord-backed OpenClaw agent/session relay; not archive search.

steipete/domain-dns-ops

DNS/domain ops: registrars, zones, redirects, DNS/HTTP verify, manager truth.

steipete/frontend-design

Frontend UI: pages, apps, components, polished non-generic design.

steipete/github-author-context

GitHub contributor context: identity, activity, trust, company/team signal.

steipete/github-cache-hygiene

GitHub quota/cache hygiene: gh, ghx, xcache, gitcrawl, mirrors, limits.

steipete/github-deep-review

GitHub deep review: bugs, PRs, best fix, stale-or-real, read code first.

steipete/github-project-triage

GitHub issue/PR triage: queues, CI, blockers, risk, proof, next actions.

steipete/hopper-debugger

Hopper debugging: macOS/iOS binaries, ObjC/Swift symbols, dyld, LLDB.

steipete/instruments-profiling

Instruments/xctrace profiling: macOS/iOS traces, binaries, args, exports.

steipete/mac-maintenance

Mac upkeep: brew update/upgrade, pull clean repos, empty Trash.

steipete/maintainer-orchestrator

Open-source maintainer orchestration: Codex app workers, work recovery, dependencies, vision, releases.

steipete/markdown-converter

Markdown conversion: PDF, Office, HTML, data, OCR, audio, ZIP, YouTube.

Habilidades Relacionadas