pp-agent-capture
Original:🇺🇸 English
Translated
macOS screen capture, window recording, GIF conversion, and agent evidence bundles from the terminal. Built on ScreenCaptureKit for window-level targeting ffmpeg cannot do. Use when the user wants a screenshot of a specific window or app, a screen recording, a GIF conversion, a before/after diff, an evidence bundle for a PR, OCR text from a window, a terminal VHS recording, a Remotion render, or wants to watch a UI for changes. Requires macOS Screen Recording permission on first run.
8installs
Added on
NPX Install
npx skill4agent add mvanhorn/printing-press-library pp-agent-captureTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Agent Capture - Printing Press CLI
Prerequisites: Install the CLI
This skill drives the binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
agent-capture-pp-cli- Install via the Printing Press installer:
bash
npx -y @mvanhorn/printing-press install agent-capture --cli-only - Verify:
agent-capture-pp-cli --version - Ensure (or
$GOPATH/bin) is on$HOME/go/bin.$PATH
If the install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.23+):
npxbash
go install github.com/mvanhorn/printing-press-library/library/developer-tools/agent-capture/cmd/agent-capture-pp-cli@latestIf reports "command not found" after install, the install step did not put the binary on . Do not proceed with skill commands until verification succeeds.
--version$PATHWhen to Use This CLI
Reach for this when the user wants:
- screenshot a specific window or app (,
screenshotfor multiple)batch - record video of a window, app, display, or region ()
record - convert a recording to an optimized GIF ()
convert - do a full capture + record + GIF pipeline in one command ()
pipeline - diff against a baseline screenshot () for before/after evidence
diff - bundle screenshots + recording + GIF as evidence for a PR or bug report ()
evidence - find the right window by fuzzy-matching its title ()
find - stitch multiple screenshots into an animated GIF ()
stitch - extract text from a window using macOS Vision OCR ()
ocr - record a terminal session via VHS tape files ()
vhs - render Remotion compositions to video or stills ()
remotion - monitor a UI by periodic screenshots ()
watch - save and replay capture configs ()
preset
Skip it on non-macOS hosts; the CLI uses ScreenCaptureKit (macOS only). On first run it will prompt for Screen Recording permission; the command guides that flow.
permissionsArgument Parsing
Parse :
$ARGUMENTS- Empty, , or
help-> show--helpagent-capture --help - Starts with -> CLI installation (no MCP server ships today)
install - Anything else -> Direct Use (map to the best command and run it)
Direct Use
- Check installed: . If missing, offer CLI installation.
which agent-capture - If permissions aren't granted, run first.
agent-capture permissions - Use to see available capture targets (open windows, displays).
agent-capture list - Use to fuzzy-match a window title before capturing.
agent-capture find <text> - Execute with for structured output (agent-native default):
--jsonbashagent-capture <command> [args] --json
Notable Commands
| Command | What it does |
|---|---|
| Capture a window, app, display, or region |
| Record video of a window, app, display, or region |
| Record + convert + optimize in one command |
| Video -> optimized GIF (two-pass palette) |
| Capture + diff against a baseline |
| Full bundle (screenshots + recording + GIF) for a PR |
| Screenshot multiple apps in one invocation |
| Fuzzy search open window titles |
| List available capture targets |
| Extract text from a window using macOS Vision |
| Combine screenshots into an animated GIF |
| Run a VHS tape file for terminal recording |
| Render Remotion compositions |
| Periodic capture for UI monitoring |
| Save / load capture configs |
| Guide Screen Recording permission setup |
| Machine-readable CI / agent preflight |
Run any command with for full flag documentation.
--helpAgent Mode
Add to any command. Expands to: .
--agent--json --compact --no-input --no-color --yes- Pipeable — JSON on stdout, errors on stderr
- Filterable — keeps a subset of fields, with dotted-path support (see below)
--select - Previewable — shows the request without sending
--dry-run - Cacheable — GET responses cached for 5 minutes, bypass with
--no-cache - Non-interactive — never prompts, every input is a flag
Filtering output
--selectbash
<cli>-pp-cli <command> --agent --select id,name
<cli>-pp-cli <command> --agent --select items.id,items.owner.nameUse this to narrow huge payloads to the fields you actually need — critical for deeply nested API responses.
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Target not found (no matching window or display) |
| 4 | Permissions missing (Screen Recording not granted) |
| 5 | Capture error (ScreenCaptureKit failure, ffmpeg failure) |