paid-ads-agent-platforms

/home/avalon/.hermes/skills/software-development/paid-ads-agent-platforms/SKILL.md · raw

Paid Ads Agent Platforms

Use this skill when building or planning an AI-agent system that manages paid ads (especially Meta/Facebook/Instagram Ads) through Hermes, OpenClaw-style skills, MCPs, official CLIs, or direct marketing APIs.

This is a class-level skill for self-hosted ad-ops agent platforms: chat-first operation, dashboard visibility, local state, approval queues, creative generation, performance reporting, and spend-safety controls.

Core posture for Alex

Alex prefers the build-it-ourselves route over paid opaque SaaS wrappers for ad automation.

Default architecture:

  1. Hermes-first command surface — Alex chats with Hermes to report, draft, diagnose, and eventually execute ad changes.
  2. Dashboard as cockpit — web app shows queues, approvals, campaign state, creative previews, reports, monitor rules, and audit logs.
  3. Official platform API/CLI as action engine — for Meta, prefer Meta's official Ads CLI / Marketing API before third-party remote MCPs.
  4. OpenClaw-style skill ergonomics — simple env vars, local scripts, JSON output, natural-language command mapping, and transparent references.
  5. Safety before autonomy — read-only first, drafts second, paused writes third, active spend only after explicit approval.

When to load this skill

Load this skill when the user asks to:

User chat → Hermes → paid-ads skill/scripts
                    ↓
              Local app API/database ←→ Dashboard
                    ↓
       Official Ads CLI / Marketing API adapter
                    ↓
            Ad platform account hierarchy

Separate responsibilities clearly:

Data model pattern

Mirror the ad platform hierarchy locally, then attach richer local workflow state.

Minimum entities:

Build phases

Phase 1: Read-only proof

Start by proving data access and reporting.

Smoke-test discipline:

Do not start with campaign creation.

Phase 2: Local dashboard MVP

Build a web app that displays read-only state:

Use Alex's VPS deployment conventions from vps-app-deployment.

Phase 3: Draft queue

Hermes can create local drafts only:

Dashboard approves/rejects drafts; no platform writes yet.

Phase 4: Paused writes after approval

Only approved drafts can call the platform API/CLI.

Separate approval from execution in the UX. A button labeled “Approve” should only record local human approval unless it explicitly says it will push to the ad platform. Use a second, unambiguous action such as Push to Meta as PAUSED for platform writes. After the push, persist returned platform IDs on the draft, change draft status to a pushed state (for example pushed_paused), show the IDs/search hint in the queue, and audit the action. This prevents the user from expecting Ads Manager objects to appear after a purely local approval.

For Meta, create entities in PAUSED status by default where the API/CLI supports it. Treat the first write test as a full hierarchy smoke test: Campaign → Ad Set → Creative → Ad. If Campaign/Ad Set succeeds but Creative/Ad fails, preserve and report the partial success rather than retrying blindly.

Meta paused-write gotchas:

Phase 5: Monitoring and cron

Add scheduled checks:

Default action is alert-only. Auto-actions require explicit configuration and tight caps.

Phase 6: Creative/context deepening

Make creative generation project-aware:

Meta Ads-specific guidance

Prefer these credentials for read-only MVP:

Write mode later needs ads_management and often page/pixel/business context.

Important Meta hierarchy:

Business Manager
  Ad Account
    Campaign
      Ad Set
        Ad
          Creative

Reporting metrics to normalize:

Diagnosis concepts to include in references:

Safety policy

Default blocked or confirmation-required actions:

Default allowed actions:

When a request implies spend or platform mutation, require exact target identity and explicit approval. Log every action.

Skill/package pattern

A Hermes ad-operator skill should include:

meta-ads-operator/
├── SKILL.md
├── scripts/
│   ├── meta_adapter.py
│   ├── report.py
│   ├── diagnose.py
│   ├── draft_campaign.py
│   └── execute_approved.py
├── references/
│   ├── safety-policy.md
│   ├── reporting-metrics.md
│   ├── meta-diagnosis-framework.md
│   └── creative-brief-framework.md
└── templates/
    ├── daily-report.md
    ├── campaign-draft.json
    └── creative-brief.md

Scripts should output JSON so Hermes can summarize reliably.

Dashboard pattern

Recommended screens:

For Alex, make the dashboard mobile-first and single-column by default. Chat remains the primary control surface.

Approval queue UX for ads:

Research and session-specific references

Internal Meta hookup wizard pattern

When Alex asks for a setup/onboarding wizard for Meta Ads hookup, build a guide-first internal tool before full OAuth or write automation:

Pitfalls