CommunityImagengithub.com

steipete/peekaboo

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

¿Qué es peekaboo?

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

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

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace peekaboo?

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.

Skills relacionados