create-image-fal
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent. image_urls…
Diagnose Meta Ads campaign performance and account gaps using Meta's actual system mechanics — including customer-journey coverage, Breakdown Effect, Learning Phase, Auction Overlap, Pacing, and Creative Fatigue. Use for performance diagnosis, account audits, full-funnel or
$ npx -y skills add gooseworks-ai/goose-skills --skill meta-ads-analyzer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/meta-ads-analyzerContext preview
The summary Claude sees to decide when to auto-load this skill.
Diagnose Meta Ads campaign performance and account gaps using Meta's actual system mechanics — including customer-journey coverage, Breakdown Effect, Learning Phase, Auction Overlap, Pacing, and Creative Fatigue. Use for performance diagnosis, account audits, full-funnel or
name: meta-ads-analyzer description: Diagnose Meta Ads campaign performance and account gaps using Meta's actual system mechanics — including customer-journey coverage, Breakdown Effect, Learning Phase, Auction Overlap, Pacing, and Creative Fatigue. Use for performance diagnosis, account audits, full-funnel or TOF/MOF/BOF gap analysis, deciding what to test or create next, and producing novice-friendly recommendations without forcing every campaign or ad into a funnel stage. tags: [ads]
Most "Meta Ads analysis" stops at "this CPA is high, pause it." That's wrong more often than it's right. Meta's delivery system optimizes for **marginal efficiency** — the cost of the *next* conversion — not average efficiency across a snapshot. A segment with a higher average CPA is often the one keeping your overall campaign cheap. Pausing it makes things worse.
This skill diagnoses Meta campaigns the way a senior media buyer would: at the right evaluation level, accounting for learning state, separating noise from signal, and explaining *why* the system is making the decisions it's making before recommending any change. It can also audit whether the account supports the complete customer journey without assuming that TOF, MOF, and BOF must be separate campaigns.
**Core principle:** Holistic first, then drill down. Marginal over average. Customer-journey coverage over rigid funnel structure. Dynamic over static. Every recommendation is a testable hypothesis with expected impact, not a directive.
For account audits, full-funnel reviews, or questions about what is missing, read and apply [references/customer-journey-coverage.md](references/customer-journey-coverage.md) before analyzing the account.
1. **Campaign data** — One of:
2. **Campaign setup**:
3. **Time period** — Date range covered, with any known events (creative refresh, budget change, audience edit, account issue) 4. **Target metrics** — CPA target, ROAS target, or "no target — benchmark me" 5. **Funnel context** (if relevant) — On-platform conversion vs. website event vs. downstream qualification rate 6. **What's making you ask?** — Specific concern ("CPA up 40%"), routine review, or pre-scale audit 7. **Account coverage evidence** (for account/funnel audits, when available):
8. **Report style** — `guided` by default; use `expert` when the user asks for technical detail or demonstrates strong media-buying knowledge
Do not block when some coverage fields are absent. Record what is missing, lower confidence, and distinguish "no evidence available" from "the account has no coverage."
This is the most important step. **Evaluating at the wrong level is the #1 source of wrong recommendations.**
| Campaign Setup | Correct Evaluation Level | Why | |---|---|---| | Advantage+ Campaign Budget (CBO) | **Campaign level** | System pools budget across ad sets — only campaign totals reflect reality | | Automatic placements (no CBO) | **Ad Set level** | System pools budget across placements within the ad set | | Multiple ads in 1 ad set | **Ad Set level** | System pools delivery across ads | | Manual placements + ABO | Placement / Ad Set level | Each is independent |
**Output for this phase:** State the evaluation level explicitly and explain why before any metric is interpreted.
> If asked "is this Meta placement underperforming?" on a CBO campaign, the answer is "wrong question — at CBO the placement-level CPA is misleading. Here's the campaign total..."
Before judging anything, check delivery state per ad set.
**Learning state checklist:**
**Significant edits that reset learning:**
**Output for this phase:** Per ad set, mark `Active` / `Learning` / `Learning Limited`. Caveat all conclusions for anything in learning. **Do not recommend pausing a Learning ad set based on CPA alone.**
Run the diagnosis through these six lenses. Each one explains a different class of "weird" behavior.
The Breakdown Effect: the system shift
Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.
Repo: gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent. image_urls…
Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai. Supports gpt-image-1 (default, fixed sizes — the FAL fallback for Higgsfield's…
Generate an instrumental music bed via ElevenLabs Music, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Trims any sparse intro, loudnorm, fades…
Image-to-video (or text-to-video) via any FAL video model (Kling, Seedance, Veo), ROUTED THROUGH THE GooseWorks fal-proxy so the call bills the Ads agent. The…
Generate a voiceover (VO) clip via ElevenLabs text-to-speech, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Voice id + script text come from…
Scrape competitor ads from Google Ads by domain. Returns ad creatives, formats, and campaign details. Use for competitive ad research and messaging analysis.