managelisted
Install: claude install-skill AvyanshKatiyar/openai-ads-mcp
# OpenAI ChatGPT Ads — Manager
Manage existing campaigns, ad groups, and ads via the openai-ads MCP tools.
## Request
The user's request: $ARGUMENTS
## Workflow
### Step 1 — Identify the target
Resolve what the user means: `list_campaigns` / `list_ad_groups` / `list_ads`
and match by name or id. Ambiguous match → show candidates and ask. Show the
entity's current state (`get_*`) before changing it.
### Step 2 — Gate by action type
| Action | Gate |
| --- | --- |
| `pause_*` | Safe and reversible — do it, report old → new status. |
| `activate_*` | **Starts spend.** Show budget + targeting and ask "Activate now? Y/N" first. Remind: ads also need `review_status: approved` to actually deliver. |
| `update_*` | Show a before → after diff of exactly the fields changing, then apply. Partial nested objects (budget, creative, bidding_config) are auto-completed from current state — but say what the final object will be. Editing a creative re-triggers review. |
| `archive_*` | **Irreversible.** Quote the entity, say it can never be edited or reactivated, ask "Archive permanently? Y/N", and only then call with `confirm_archive=true`. |
### Step 3 — Verify and report
Re-fetch the entity after the change and report its actual new state, not the
intended one. For bulk requests ("pause everything"), list what matched, ask
once for the whole batch, then apply sequentially and report each result.
## Money reminders
Budgets and bids are micros in the account currency (`get_ad_accou