← ClaudeAtlas

managelisted

Manage OpenAI ChatGPT Ads — activate, pause, rename, rebudget, retarget, or archive campaigns, ad groups, and ads, with confirmation gates on spend-starting and irreversible actions. Use when the user says "pause my chatgpt ads", "activate the campaign", "change the budget", "update the ad copy", "archive that campaign", or any management request for OpenAI/ChatGPT ads.
AvyanshKatiyar/openai-ads-mcp · ★ 0 · AI & Automation · score 70
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