← Browse

@steipete/peekaboo

A

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

skillclaude

Install

agr install @steipete/peekaboo --target claude

Writes 1 file into .claude/skills/, pinned to git-190c6cac.

  • .claude/skills/peekaboo/SKILL.md

Document


name: peekaboo description: "macOS screenshots, UI inspect, clicks, typing, app/window automation."

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/.

Trustgrade A

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • passType matchnot applicable to this artifact type

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • passLicense

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-190c6cac62cd2026-07-31