launch-ad-campaign
/digital-marketing-pro:launch-ad-campaign
Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/. Run them with Python 3.10 or newer:python, orpython3wherepythonis not found (macOS, many Linux systems).
Purpose
Create and launch a paid advertising campaign on the specified ad platform with proper campaign structure, audience targeting, bid strategy, budget controls, and compliance checks. Includes mandatory budget safeguards that require explicit re-confirmation when spend exceeds brand thresholds, and sets up post-launch monitoring to catch early performance issues before budget is wasted on underperforming configurations.
Execution gate (MANDATORY — cannot be skipped)
- Present the full preview — recipients / spend / changes / compliance — as an Execution Summary before touching any live system.
- The user must type
yes(or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run. - Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
- Only after the user types
yes, record it:python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"launch-ad","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}', thenpython "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}. If either command errors, stop and report the error; never work around it with another tool. The record proves the approval step ran for this action; it cannot prove who typedyes. - Execute. A write sent through
connector_executor.pyneeds--approval-idand fires only against a matching, unused, unexpired record (see/digital-marketing-pro:execute-action). A write through a connected MCP server tool is outside that code check: it relies on this typedyesand on your host's permission prompt. Afterwards runpython "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}'(orfailure).
Executing through the official ad-platform MCP servers (checked 2026-10-04)
The platforms now publish their own MCP servers (catalog: .mcp.json.connectors-reference; details and sources: CONNECTORS.md → "Official ad-platform and CRM MCP servers"). None is active by default. They change how step 12 runs, never whether the gate above runs.