Skill detail
pp-meta-ads
Relevant Meta Ads diagnostics, but narrowly read-only and dependent on its dedicated CLI.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
---
name: pp-meta-ads
description: "The first agent-native Meta Ads CLI with local SQLite history and compound queries the live API cannot answer. Trigger phrases: `find creative fatigue on Meta`, `check Facebook ad performance`, `which Meta ads should I retire`, `Meta audience overlap`, `stuck in learning`, `use meta-ads`, `run meta-ads`."
author: "Dhilip Subramanian"
license: "Apache-2.0"
argument-hint: "<command> [args] | install cli|mcp"
allowed-tools: "Read Bash"
metadata:
openclaw:
requires:
bins:
- meta-ads-pp-cli
install:
- kind: go
bins: [meta-ads-pp-cli]
module: github.com/mvanhorn/printing-press-library/library/marketing/meta-ads/cmd/meta-ads-pp-cli
---
<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/marketing/meta-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/". -->
# Meta Ads — Printing Press CLI
## Prerequisites: Install the CLI
This skill drives the `meta-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:
```bash
npx -y @mvanhorn/printing-press-library install meta-ads --cli-only
```
2. Verify: `meta-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):
```bash
go install github.com/mvanhorn/printing-press-library/library/marketing/meta-ads/cmd/meta-ads-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 when you need creative-fatigue diagnostics, audience overlap cartography, learning-phase forensics, or attribution drift detection across Meta ad accounts. Best when paired with a daily sync into the local store so trend queries are instant. Read-only by design — never used to modify campaigns, budgets, or audiences.
## Anti-triggers
Do not use this CLI for:
- Do not use this CLI to create, pause, modify, or delete campaigns, adsets, ads, audiences, or creatives — it is read-only.
- Do not use this CLI for budget management or bid-strategy changes — that is what Meta Ads Manager or facebook-business-sdk are for.
- Do not use this CLI for write-side audience uploads — custom audience creation from customer files is out of scope.
## Unique Capabilities
These capabilities aren't available in any other tool for this API.
### Local state that compounds
- **`fatigue`** — Detect ads whose CPM is drifting up, frequency is climbing, and CTR is falling across a configurable window.
_Use this to decide which ads to retire. Spending on a fatigued creative is the highest-leverage waste in any account._
```bash
meta-ads-pp-cli fatigue --campaign 23847265 --window 14d --agent
```
- **`decay`** — Compare a creative's first-impression CTR against its current CTR, with projected dead-date.
_Use for retire/refresh decisions on a single creative. The slope and projected dead-date are the deciding factor._
```bash
meta-ads-pp-cli decay --creative-id 120208734567 --agent
```
- **`overlap`** — Pairwise overlap percentages across custom audiences, with cannibalization recommendations.
_Use when ad strategy is mature and ROAS feels diluted across similar audiences. Surfaces consolidate-or-exclude decisions._
```bash
meta-ads-pp-cli overlap --audience 23847001 --audience 23847002 --auRead the full source on GitHub (opens external page)