meta-ads-analyzer
Skill4 starsChanged 6 months agoMITView on GitHub
Provides expert-level analysis and diagnosis for Meta Ads campaigns. Interpret performance data, identify root causes, ensure correct metric usage and data integrity, and generate actionable recommendations.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- athina-ai/goose-skillstheir own version, first seen Nov 9, 2026
- gooseworks-ai/goose-skillstheir own version, first seen Nov 1, 2026
- TehseenTech/manus-skillstheir own version, first seen Aug 15, 2026
- Synero/meta-ads-analyzertheir own version, first seen Jun 1, 2026
- mathiaschu/meta-ads-analyzertheir own version, first seen Feb 26, 2026
- Tommyvr7/meta-ads-analyzertheir own version, first seen Feb 26, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- athina-ai/goose-skills★ 1.3ksame name
- gooseworks-ai/goose-skills★ 1.3ksame name
- mathiaschu/meta-ads-analyzer★ 428same name
- Synero/meta-ads-analyzer★ 9same name
- TehseenTech/manus-skills★ 0same name
- Tommyvr7/meta-ads-analyzer★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository30 other files it gives its agents.
- ad-copywriterSkill
- automated-video-editorSkill
- canva-mcpSkill
- challenge-campaign-operatorSkill
- creative-strategistSkill
- daily-growth-operatorSkill
- funnel-junkies-video-publisherSkill
- funnel-message-match-auditorSkill
- ghl-funnel-inspectorSkill
- gws-best-practicesSkill
- landing-page-cro-analystSkill
- manus-apiSkill
- meta-ads-campaign-auditorSkill
- meta-ads-performance-analystSkill
- meta-ads-social-schedulerSkill
- meta-live-campaign-launch-operatorSkill
- meta-paid-ads-challenge-operatorSkill
- meta-safe-campaign-builderSkill
- music-prompterSkill
- performance-reportingSkill
- persistent-computingSkill
- qualified-lead-scoringSkill
- skill-creatorSkill
- social-media-content-dashboardSkill
- split-test-evaluatorSkill
- vanx-meta-purchase-repairSkill
- vanx-social-plannerSkill
- video-generatorSkill
- weekly-content-operatorSkill
- workshop-workbook-builderSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 13 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Rule: When referring to users, audiences, or reach, you MUST use the exact phrase "Accounts Center accounts".
- Distinctive: line 47
Partial dates: If a query's date range includes today, you MUST state that the data is partial and subject to change.
- Very specific: line 57
Rule: When aggregating across mixed objectives, display "N/A" for "Cost per result" and "Results" — do NOT compute these metrics.
- Very specific: line 63
When a metric returns null, display "Data not available" or "N/A" — do NOT report the raw null value.
- Distinctive: line 64
MUST: only report numerical values that are explicitly returned by the API.
- Distinctive: line 73
Use the exact standardized display name and definition returned by the tool — do NOT invent alternative names, abbreviate, reword, or …
- Very specific: line 74
Use sentence case for metric names (e.g., Messaging conversations started, NOT Messaging Conversations Started).
- Distinctive: line 80
All data presented must be rigorously verified for accuracy.
- Distinctive: line 81
Always read values directly from the MCP tool's JSON result for any calculation or reporting — never manually transcribe values from API …
- Very specific: line 88
Reference documents: Start by reading references/breakdown_effect.md.
- Distinctive: line 90
Use Campaign Level for CBO, Ad Set Level otherwise to avoid the Breakdown Effect.
- Distinctive: line 98
Every insight must include data evidence and an explanation.
- Distinctive: line 100
All output must be in a single, consistent language.
- Very specific: line 101
Always use sentence case for metric names (e.g., Link clicks).
- Distinctive: line 102
DO NOT shorten or change the terminologies for brevity, natural flow, or conversational purposes.
- Distinctive: line 128
Always instruct the user to consult the linked Meta help article directly — it is the authoritative source.
- Distinctive: line 129
Do not include non-Meta, unofficial policy links in your response.
- Distinctive: line 133
When a tool response includes items filtered out for a special category reason, respond with exactly the message below — do NOT analyze, …
- Distinctive: line 143
Use this skill for any Meta Ads–related task that involves interpreting data, analyzing performance, diagnosing issues, or generating …
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Meta Ads analysis & diagnosis skill
[!DANGER] > CRITICAL: FAILURE TO FOLLOW THE RULES IN THIS DOCUMENT WILL RESULT IN TASK FAILURE.
[!IMPORTANT] > SCOPE: The rules in this skill apply to every
meta-marketingconnector tool call and to all outputs and responses — including diagrams, analyses, documents, reports, slides, and any other deliverable. Compliance is required at all times.
1. Non-negotiable rules (MANDATORY)
These are the most common failure points. They are not guidelines; they are absolute requirements.
1.1. Audience terminology: use "Accounts Center accounts", never "people" or "users"
- Reason: This is a strict legal and policy requirement from Meta.
- Rule: When referring to users, audiences, or reach, you MUST use the exact phrase
"Accounts Center accounts". The words "people", "person", and "unique users" are forbidden in these contexts — including as units of measurement (e.g., "cost per 1,000 people reached" is invalid). - Rule:
ReachMUST be used as a standalone metric name. Do NOT add modifiers or prefixes (e.g.,Total reach,Organic reach,74k reachare all invalid). - Examples:
- Correct: "The campaign reached 10,000 Accounts Center accounts."
- INCORRECT: "The campaign reached 10,000 people."
- Correct: "Reach measures the number of Accounts Center accounts that saw your ad."
- INCORRECT: "Reach measures the number of unique users who saw your ad."
Common failure point: When defining
Reach, you MUST use the exact wording returned bymeta_marketing_get_metric_definition. Do NOT paraphrase as "unique users", "people", or "viewers".
1.2. Clicks metrics: use "Clicks (all)" or "Link clicks", never "clicks"
- Reason: "Clicks" is ambiguous and leads to incorrect analysis. The API returns separate values for different click types, and conflating them causes misleading reports.
- Rule: You MUST always use the specific metric name — either
"Clicks (all)"or"Link clicks". NEVER use the word "clicks" alone, in any context, regardless of what other qualified terms appear in the same response. Callmeta_marketing_get_metric_definitionfor detailed definitions. - Examples:
- Correct: "The ad received 1,500 Clicks (all) and 800 Link clicks."
- INCORRECT: "The ad received 1,500 clicks."
1.3. Metric naming: use exact names, no modifications
- Reason: Consistency and clarity are critical for accurate reporting.
- Rule: You MUST use the exact
Standardized display namereturned bymeta_marketing_get_metric_definition. This applies everywhere — documents, reports, messages to the user, diagrams, slides, and code output. Do not alter a metric name to make it "fit" a visual design. - Forbidden prefixes: NEVER add
Total,Overall, orAveragebefore a metric name (e.g.,Total Impressions,Total clicks (all)are invalid). If you need to express an aggregate sum, rephrase the surrounding sentence instead. - Forbidden suffixes and noun modifications: NEVER change the grammatical form of a metric name or append contextual nouns (e.g.,
Accounts Reached,Reach Volume,Impressions Generatedare all invalid). Even if a name likeReachorSpendfeels too short for a label, do NOT expand it — use the surrounding text to provide context. - Forbidden ambiguous terms: NEVER use vague terms like
Video viewsorVideo View Rate. Use the exact standardized display name, such as3-second video plays.
1.4. Data integrity: currency and dates
- Currency: The monetary values returned by the API are already converted into the standard currency unit (e.g., USD, EUR). When presenting any money-related metrics (such as Amount spent, CPC (all), CPM (cost per 1,000 impressions), Cost per result, etc.), use the returned numerical values directly together with the
currencyfield from the ad account context. For example, if the API returnsspend: 150.50and the account currency isUSD, report it as$150.50. - Partial dates: If a query's date range includes today, you MUST state that the data is partial and subject to change.
1.5. Data scope: account vs. asset level accuracy
- Reason: Confusing account-level data with campaign-level (or ad set/ad level) data is a common and critical error. It renders any analysis of specific assets meaningless and misleading.
- Rule: You MUST ensure the data scope strictly matches the user's query. If a user asks about a specific campaign, you must return data only for that campaign, not the entire account. Before presenting data, double-check that the correct entity ID and reporting level were used in the data retrieval process.
1.6. Cross-objective aggregation: display "N/A" for mixed result types
- Reason: "Cost per result" cannot be aggregated across campaigns with different objectives (e.g., Sales vs. Lead). Ads Manager returns
nullfor this. - Rule: When aggregating across mixed objectives, display
"N/A"for "Cost per result" and "Results" — do NOT compute these metrics.
1.7. Null data handling & data authenticity: never fabricate data
- Reason: Ads Manager returns
nullfor metrics that cannot be computed or are unavailable. Additionally, presenting fabricated numbers destroys trust and leads to incorrect business decisions. - Rule:
- When a metric returns
null, display"Data not available"or"N/A"— do NOT report the raw null value. - MUST only report numerical values that are explicitly returned by the API. NEVER fabricate, estimate, or invent any data values. If a metric is not available in the API response, do NOT guess or make up a number — always indicate that the data is unavailable.
- When a metric returns
2. Standardized metric glossary & definitions
meta_marketing_get_metric_definition is the single source of truth for all metric names and definitions. You MUST call it for every raw API metric that appears in any tool result or response (e.g., ["reach", "impressions", "cpc"]) — regardless of task type, context, or whether you believe the definition is already known.
There are no exceptions: compliance checks, status reviews, and account audits are subject to this rule exactly as performance analyses are.
- NEVER rely on memory or prior context.
- Use the exact standardized display name and definition returned by the tool — do NOT invent alternative names, abbreviate, reword, or paraphrase.
- Use sentence case for metric names (e.g.,
Messaging conversations started, NOTMessaging Conversations Started).
3. Core analysis principles & workflow
3.1. Core principles (how to think)
- All data presented must be rigorously verified for accuracy. This includes its scope (e.g., Account vs. Campaign), units (e.g., cents vs. dollars), and timeframes (e.g., partial vs. full day). Never present data without first confirming its integrity.
- Always read values directly from the MCP tool's JSON result for any calculation or reporting — never manually transcribe values from API responses. Reference the JSON file in code or via command line to compute aggregates, ratios, averages, or any derived metrics.
- Evaluate at the aggregate level before drilling down.
- Analyze performance over time, not single snapshots.
- The system prioritizes marginal cost (cost of the next result), not the average. A segment with a higher average CPA might have a lower marginal CPA.
3.2. Analysis workflow (how to act)
Reference documents: Start by reading references/breakdown_effect.md.
- Use Campaign Level for CBO, Ad Set Level otherwise to avoid the Breakdown Effect.
- Investigate marginal efficiency, ad relevance diagnostics, and learning phase status.
- Explain why the system makes its decisions based on marginal cost, not just average cost.
4. Output generation rules
- Never recommend pausing or reducing budget based solely on higher average CPA/CPM in any analysis or output. Frame changes as testable hypotheses.
- Always justify recommendations with data and system mechanics.
- Every insight must include data evidence and an explanation.
- Align with official recommendations from the
meta_marketing_get_recommendationstool, or explicitly state why you are diverging. - All output must be in a single, consistent language.
- Always use sentence case for metric names (e.g.,
Link clicks). - DO NOT shorten or change the terminologies for brevity, natural flow, or conversational purposes.
- Before delivering any output, verify compliance with all non-negotiable rules in Section 1 — especially metric naming, clicks qualifiers, and audience terminology. Correct any violations before delivery.
5. Meta Ads domain knowledge
Campaign & performance definitions
- Conversion ads: Ad entities with objectives like Lead, Sales, or App Promotions are categorized as conversion ads.
- Conversion rate: Conversion rate = conversion / impression.
- Performance indicators: Lower value of Cost Per result or CPM is associated with higher performance. Higher value of ROAS is associated with higher performance.
Account & asset issues
- Account or asset issues occur when one or more of a customer's assets (e.g., Facebook account, Instagram account, ad account, page, or payout account) have been disabled or restricted by Meta, typically due to a policy violation. This is not relevant for general questions about Business Manager setup, deleting a Business Manager, or converting a Facebook page to a business page.
Budget & billing
- Daily spending limit (DSL): The current daily spending limit that advertisers can check, increase, or decrease.
- Billing threshold (payment threshold): The amount of ad spend that triggers a payment method charge when reached. Advertisers can check limit, lower, or increase their payment threshold. The billing threshold is also relevant to billing frequency (e.g., monthly billing, daily billing).
6. Special handling & response rules
Ads policy questions
- NEVER answer policy questions directly, interpret or summarize policy content, or use web search. Doing so risks misrepresenting Meta's official position and providing guidance that is inaccurate or out of date.
- When a user asks for guidance on whether an ad, content, scenario or data is allowed, restricted, or prohibited under Meta Ads policies, you MUST call the
meta_marketing_get_policytool and return only the official policy URL(s) with a brief redirect message in this format "According to Meta's Advertising Standards, the following rules apply: URLs". - Always instruct the user to consult the linked Meta help article directly — it is the authoritative source. Your role is strictly to route the user to the official policy source, not to interpret it.
- Do not include non-Meta, unofficial policy links in your response.
Special category campaigns
When a tool response includes items filtered out for a special category reason, respond with exactly the message below — do NOT analyze, retrieve data, or offer any alternative guidance:
"The Ads Manager connector is still in Beta. At this time, I am not yet ready to discuss ad campaigns that are designated as being a part of a special category (like housing, employment, and financial services). This is an area for improvement as Manus and Meta continue to work on improving this connector."
Support intent recognition
This intent occurs when a user seeks actionable help to fix, recover, or resolve a specific issue, error, or technical problem related to their Meta assets, accounts, payments, or advertising activities — or when they want to speak with a human agent. It is characterized by a need for step-by-step guidance, procedural instructions, or direct intervention, rather than general learning, strategic planning, or performance improvement.
7. When to use this skill
Use this skill for any Meta Ads–related task that involves interpreting data, analyzing performance, diagnosing issues, or generating recommendations. This includes ensuring correct metric usage, enforcing Meta terminology and data integrity standards, handling breakdown analysis, and providing accurate, policy-compliant reporting and guidance.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

