Skip to main content
Meta Ads Kit is built on 5 specialized skills that chain together into a complete ad management system. Each skill can run standalone or as part of the automated workflow.

meta-ads

Core reporting — daily checks, bleeders, winners, fatigue detection

ad-creative-monitor

Track creative performance over time, detect fatigue before it kills ROAS

budget-optimizer

Analyze spend efficiency, recommend budget shifts between campaigns

ad-copy-generator

Generate ad copy matched to specific image creatives, outputs asset_feed_spec variants

ad-upload

Push images and copy straight to Meta via Graph API — no Ads Manager required

meta-ads

The foundation. This skill wraps social-cli to give you the 5 Daily Questions that replace Ads Manager.

What It Does

  • Daily briefings — Spend pacing, active campaigns, 7-day trends
  • Bleeders report 🩸 — Ads with high spend + low CTR bleeding your budget
  • Winners report 🏆 — Top performers ready to scale
  • Fatigue detection 😴 — CTR declining, frequency climbing, CPC rising
  • Custom reports — Ad performance broken down by age, gender, placement, etc.
  • Actions (with approval) — Pause, resume, adjust budgets

When You Use It

The agent handles orchestration, interprets the data, and asks before taking any action.

Key Reports

All reporting is read-only. The skill can pull any data without asking. Actions that affect spend (pause/resume/budget changes) always require explicit approval.

Date Presets

You can run any report for:
  • today — Today only
  • yesterday — Yesterday only
  • last_7d — Last 7 days (default)
  • last_30d — Last 30 days
  • last_90d — Last 90 days
Example: "Meta ads overview for last 30 days"

Files Read/Written

Reads:
  • ad-config.json — Your benchmarks (target CPA, max frequency, etc.)
  • workspace/brand/stack.md — Stored ad account ID (optional)
  • workspace/brand/learnings.md — Past performance patterns (optional)
Writes:
  • workspace/brand/learnings.md — Appends findings: fatigue patterns, winning creative traits, performance anomalies
  • workspace/brand/stack.md — Stores ad account ID on first use

ad-creative-monitor

The early warning system. Creative fatigue is the silent killer of ad accounts. This skill watches for fatigue signals daily and flags creatives that need rotation.

What It Does

  • Daily CTR tracking — Monitors CTR decay day-over-day at the ad level
  • Frequency creep detection — Alerts when frequency exceeds thresholds
  • CPC inflation tracking — Flags ads where CPC is quietly rising
  • Creative lifespan estimation — Predicts when an ad will exhaust its audience
  • Rotation recommendations — Tells you which ads to pause and when new creatives are needed

Fatigue Signals (Ranked by Severity)

When You Use It

Typically runs:
  • As part of the daily check (Question 5)
  • Weekly on Mondays to plan creative refresh
  • On-demand when you notice CTR dipping

Example Output

How it works: Pulls ad-level insights with daily time increment (--time-increment 1), calculates day-over-day trends for CTR/CPC/frequency, compares against benchmarks in ad-config.json, flags any ad showing fatigue, and recommends rotation schedule.

budget-optimizer

The efficiency analyzer. Most ad accounts have budget spread evenly across campaigns when performance isn’t even close to even. This skill finds where your money works hardest and recommends shifts.

What It Does

  • Efficiency ranking — Sorts campaigns/adsets by CPA, ROAS, or CPC
  • Budget shift recommendations — Calculates how much to move from losers to winners
  • Spend pacing checks — Flags over/underspend vs. daily or lifetime budgets
  • ROI comparison — Shows which campaigns deliver the best return

When You Use It

Typically runs:
  • Weekly to optimize budget allocation
  • When a campaign is underperforming
  • Before scaling winners

How It Works

  1. Pulls campaign and adset level insights for the specified period
  2. Calculates efficiency metrics (CPA, ROAS, CPC relative to spend)
  3. Compares against benchmarks in ad-config.json
  4. Identifies top and bottom performers
  5. Calculates recommended budget shifts (percentage-based)
  6. Presents recommendations with clear reasoning
  7. Never adjusts budget without explicit approval
  8. Logs decisions to workspace/brand/learnings.md

Example Output

Safety: Budget changes are high-risk actions. This skill always shows current vs. recommended budget, explains the reasoning with data, waits for explicit “yes” before executing, and logs every change for audit trail.

ad-copy-generator

The creative writer. Generates Meta ad copy that’s matched to specific image creatives — not generic copy pasted across every ad. Each image gets copy that reinforces its specific message.

What It Does

  • Image analysis — Uses vision to identify visual format (notes app, receipt, tweet, chart, etc.), on-image text, angle/hook, mood
  • Account data cross-reference — Pulls your top-performing ads to find winning copy patterns
  • Psychology-driven variants — Generates 3-5 headline + body variants, each hitting a different psychological trigger (Money, Time, Status, Fear)
  • Brand voice matching — Reads workspace/brand/voice-profile.md to match tone and avoid forbidden words
  • asset_feed_spec output — Formats copy ready for Meta’s Degrees of Freedom optimization

The Process (Simplified)

  1. Pull what’s already working — Check top 20 ads by CTR in last 30 days, extract copy patterns
  2. Load brand context — Read voice profile, audience, positioning (or ask inline if not available)
  3. Analyze each image — Identify format, on-image text, psychology, mood, funnel stage
  4. Write copy using psychology — Rotate across the Four Horsemen (Money, Time, Status, Fear)
  5. Apply Meta specs — Headlines 25-40 chars, body 50-120 words, 2-3 short paragraphs
  6. Generate variants — 3-5 headlines × 3-5 bodies, each hitting different angles
  7. Cross-reference winners — Match headline length, hook structure, proof claims to what’s working
  8. Output asset_feed_spec — JSON ready to feed into ad-upload

When You Use It

Typically runs:
  • When ad-creative-monitor detects fatigue → time for fresh copy
  • When launching new campaigns
  • When testing new creative concepts

Copy Specs (Meta Best Practices)

Example Output

workspace/campaigns/[campaign-name]/ads/ [creative-name].md - Full copy document
[creative-name].json - asset_feed_spec JSON (ready for ad-upload)
| [creative-name] copy | ad-copy | 2026-03-04 | [campaign] | draft | 3 headlines, 3 bodies |
  1. Validate copy + image |
  2. Upload image → get hash
    |
  3. Create creative with asset_feed_spec |
  4. Create ad (or update existing) |
  5. Save IDs to campaign files
Typically runs:
  • Right after ad-copy-generator produces asset_feed_spec JSON
  • When refreshing fatigued creatives
  • When launching new campaigns

Validation (Before Upload)

Runs local checks before touching the API: If validation fails, you see the errors before any API calls.

Dry-Run Mode

Add --dry-run to see exactly what would be sent without hitting the API:
Shows:
  • Validation results
  • Exact JSON payload for each endpoint
  • Estimated creative/ad names
  • No API calls made, no IDs returned

Example Output

Always creates ads as PAUSED. Review in Ads Manager before activating. This prevents accidental budget burn.

Files Written

Example upload.json:
Appends to workspace/brand/assets.md:

How Skills Work Together

The five skills chain into a closed loop: Example workflow:
  1. meta-ads runs daily check → finds Ad #238471 has frequency 4.2, CTR dropped 40%
  2. ad-creative-monitor confirms fatigue signal → recommends rotation
  3. ad-copy-generator writes 3 new body variants + 3 headlines matched to the same image
  4. ad-upload pushes fresh creative, attaches to existing ad (preserves ad ID and history)
  5. meta-ads monitors new creative performance over next 7 days
  6. If new copy outperforms, budget-optimizer recommends scaling it
No Ads Manager required at any step.

Next Steps

Daily Questions

Understand the 5 questions that power the daily check

Workflow

See how skills chain into the full automation loop

Setup Guide

Get your ad account connected and run your first report

Configuration

Customize benchmarks and skill behavior