Agent skill · mvanhorn
pp-openai-ads
The first OpenAI Ads client that can write, and the only one that keeps local history. Trigger phrases: `check my ChatGPT ads`, `how is my openai ads campaign pacing`, `what changed in my ad account`, `which ads are getting tired`, `audit my openai ads account structure`, `use openai-ads`, `run openai-ads`.
What it needs
About 11k tokens when loaded.
What this skill does
<!-- GENERATED FILE — DO NOT EDIT. This file is a verbatim mirror of library/marketing/openai-ads/SKILL.md, regenerated post-merge by tools/generate-skills/. Hand-edits here are silently overwritten on the next regen. Edit the library/ source instead. See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". --> OpenAI Ads — Printing Press CLI Prerequisites: Install the CLI This skill drives the openai-ads-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first: 1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows: 2. Verify: openai-ads-pp-cli --version 3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill. If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.5 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead: If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds. Covers the whole Advertiser API surface rather than a read-only slice of it, and mirrors your account into SQLite so questions the REST API structurally cannot answer become one command. Pacing, drift, creative fatigue, and structural audits all come from local snapshots. Every monetary value is rendered in your account currency instead of raw micros. When to Use This CLI Reach for this when working with ChatGPT Ads campaigns programmatically: auditing account structure, checking spend pacing, diffing what changed, or creating and updating campaigns, ad groups, and ads. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills mvanhorn/pp-openai-ads