--- name: pp-stackadapt description: "The first agent-native StackAdapt CLI: pacing, delivery drift Trigger phrases: `check my stackadapt campaigns`, `which campaigns are underpacing`, `are my stackadapt campaigns on budget`, `where is my ad budget being wasted`, `stackadapt campaign performance`, `use stackadapt`, `run stackadapt`." author: "Dhilip Subramanian" license: "Apache-2.0" argument-hint: " [args] | install cli|mcp" allowed-tools: "Read Bash" metadata: openclaw: requires: bins: - stackadapt-pp-cli install: - kind: go bins: [stackadapt-pp-cli] module: github.com/mvanhorn/printing-press-library/library/marketing/stackadapt/cmd/stackadapt-pp-cli --- # StackAdapt — Printing Press CLI ## Prerequisites: Install the CLI This skill drives the `stackadapt-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: ```bash npx -y @mvanhorn/printing-press-library install stackadapt --cli-only ``` 2. Verify: `stackadapt-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.6 or newer): ```bash go install github.com/mvanhorn/printing-press-library/library/marketing/stackadapt/cmd/stackadapt-pp-cli@latest ``` 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. ## When to Use This CLI Use this CLI to analyze StackAdapt campaigns you already run: check pacing against budget, find under-performing or non-delivering campaigns, spot CTR/spend drift, and pull delivery reports. It is the right tool for read-only reporting and analysis, especially for agents and scripts that want JSON output. ## Anti-triggers Do not use this CLI for: - Creating, editing, pausing, or deleting campaigns, ads, or segments — this CLI is read-only; use the StackAdapt UI or the official SDK. - Uploading audiences or creatives — out of scope. - Real-time bidding or pixel firing — not what this CLI does. ## Unique Capabilities These capabilities aren't available in any other tool for this API. ### Pacing & delivery observatory - **`pacing`** — See which campaigns are under- or over-pacing against their budget, not just current spend. _Reach for this to catch campaigns that will overspend or underdeliver before the budget cycle ends._ ```bash stackadapt-pp-cli pacing --advertiser adv_123 --agent ``` - **`delivery-drift`** — Track CTR, CPM, and spend drift week-over-week for a campaign and flag when performance degrades. _Reach for this to catch a slowly degrading campaign before it wastes budget._ ```bash stackadapt-pp-cli delivery-drift --advertiser adv_123 --days 7 --agent ``` ### Audience & efficiency - **`bottleneck`** — Rank the highest-spend campaigns by worst ROAS or CPA, with a reason column. _Reach for this to find where ad budget is being wasted._ ```bash stackadapt-pp-cli bottleneck --advertiser adv_123 --agent ``` - **`stale-campaigns`** — Find active campaigns with zero delivery in the last N days. _Reach for this to find live-but-not-delivering campaigns._ ```bash stackadapt-pp-cli stale-campaigns --days 14 --agent ``` ## Command Reference **graphql** — Raw GraphQL query passthrough (advanced; prefer the typed commands) - `stackadapt-pp-cli graphql` — Execute a raw GraphQL query against the StackAdapt API **Offline store** — mirror objects locally, then search and query without API calls - `stackadapt-pp-cli sync` — Pull advertisers, campaigns, campaign-groups, ads, and segments into a local SQLite store (`--resources a,b` to scope, `--limit N` per resource). - `stackadapt-pp-cli search ""` — Substring-search synced objects by name or any field offline (`--type ` to scope). - `stackadapt-pp-cli sql "