Peekaboo is a macOS command-line tool and menu-bar app that captures screens, inspects accessibility information, and controls native user interfaces. AI agents and MCP clients use it to observe applications and carry out interactions on a Mac.
Borrowing it
Nothing to install: this file belongs to openclaw/Peekaboo. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/openclaw/Peekaboo/main/.agents/skills/release-peekaboo/SKILL.mdgit clone --depth 1 https://github.com/openclaw/PeekabooWrote 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/openclaw/peekaboo/release-peekaboo)<a href="https://agentmods.dev/skills/openclaw/peekaboo/release-peekaboo"><img src="https://agentmods.dev/badge/skills/openclaw/peekaboo/release-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/openclaw/peekaboo/release-peekaboo"><img src="https://agentmods.dev/badge/skills/openclaw/peekaboo/release-peekaboo.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Privilege Escalation · line 64 Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.Fix: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope.
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.00028 | $0.02198 |
| Opus 5 | $0.00014 | $0.01099 |
| Sonnet 5 | $0.00006 | $0.00440 |
| Haiku 4.5 | $0.00003 | $0.00220 |
Grade B, and why
release-peekaboo scanned grade B with 1 finding 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 5d 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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
chmod 600 "$KEY_FILE" How it starts
The opening of the file, as written. The whole thing — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Peekaboo Release
Release ~/Projects/Peekaboo as the npm package @steipete/peekaboo plus signed/notarized macOS app assets.
Use $one-password, $browser-use, $npm, $autoreview, and repo AGENTS.md rules. Load $release-private if it exists before resolving Peter-owned credential locators. Read $npm before any npm auth, token, or publish recovery work. Keep all op secret work inside one persistent tmux session. Never print .p8, npm tokens, passwords, or OTPs.
Current Secrets
- Peter-owned credential item names, key ids, issuer ids, keychain paths, and npm token locators live in
$release-private. - Required ASC fields:
key_id,issuer_id,private_key_p8. - Stale/revoked key symptom:
xcrun notarytool submitfails withHTTP status code: 401. Unauthenticated. - All ASC fields must come from the same current item; do not mix profile values with 1Password refs.
Sparkle key:
- Resolve the exact
MAC_RELEASE_SPARKLE_OP_REFfrom$release-privateinto the private release environment or tmux session; never add the locator to this public repo, status output, or logs. - The shared release helper uses the prompt-free service account, verifies the public key, and owns its mode-0600
temporary file cleanup. Do not set
SPARKLE_PRIVATE_KEY_FILEfor normal releases.
Developer ID release keychain:
- Resolve the release keychain item/path from
$release-private. - The canonical release keychain is passwordless and never-locking. If macOS shows
codesign wants to use the release keychain, cancel the prompt and repair that setup through the owning credential workflow; there is no keychain password to enter. - The Developer ID certificate password is only for importing a transported
.p12, not unlocking the local release keychain. - The shared release helper owns keychain preparation, partition access, and the signing canary. Do not proceed to packaging until that canary succeeds without GUI prompts.
npm publish token:
- Resolve token/TOTP locators from
$release-private. - Use
$npmrules. Run inside the same tmux session, write only a temp npmrc, delete it immediately, and use thenpmjsTOTP item for web auth if npm prompts. - Do not create short-lived/granular bypass tokens for a normal Peekaboo publish. They add cleanup risk and did not help the 3.2.1 slow-upload/web-auth path.
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.
- 5d ago Changed f7eadec0f7a2
- 9d ago First seen · 161 lines · 28 tokens per session scan B aee762ecf54d
release-peekaboo is a skill published in the GitHub repository openclaw/Peekaboo (5,138 stars, last pushed yesterday), licensed MIT. It adds 28 tokens to every session and 2,198 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
release
Prepare, verify, and publish Sutando engine releases. Use when asked to prepare a release proposal, determine a version bump, audit release documentation, validate release gates, create a release PR, tag a confirmed release, or publish GitHub release notes. Preparation is safe and non-publishing; tagging and…
publish-plugins
(project) Use when editing any file under skills/ or plugins/ to bump the plugin version and check the manifests.
release
Build, sign, notarize, and publish a new DroidProxy release. Use when the user wants to cut a release, merge a PR and ship it, or asks to build/notarize/publish. Covers the full pipeline: PR merge, version bump, swift build, code signing, Apple notarization, Sparkle appcast update, and GitHub release creation.
add-goreleaser-homebrew
Add GoReleaser configuration and a GitHub Actions release workflow to an existing Go CLI project with Homebrew tap publishing. Use when the user says "add goreleaser", "set up goreleaser", "add Homebrew tap publishing", "publish to Homebrew", "set up release workflow", "add release automation for Go", or wants a Go…
github
GitHub integration — repos, issues, pull requests, branches, CI/Actions, code search, releases, gists, collaborators, labels, milestones, reviews, notifications, stars, forks, and more via the GitHub API.
use-git
Git and GitHub CLI conventions for Claude Code. Use when: (1) running git commands (commit, push, merge, rebase), (2) running gh CLI commands (pr create, issue create, pr review), (3) passing long content to git or gh (PR bodies, issue bodies, review replies), (4) reviewing code that uses git or gh CLI patterns.…