meta-guardrails
Skill15 starsChanged 38 days agoMITView on GitHub
Guardrails for Meta Ads recommendations and mutations. Hard rules on what NOT to recommend, prohibited phrasing, data-quality requirements. Used internally for any Meta optimization or change.
In this repository61 other files it gives its agents.
- access-and-permissionsSkill
- accounts-and-connectionsSkill
- ad-brief-generatorSkill
- affiliate-marketingSkill
- analyse-creativeSkill
- automate-with-agentsSkill
- brief-creativeSkill
- build-reportsSkill
- clean-wasted-spendSkill
- competitor-ad-intelligenceSkill
- creative-psychology-hooksSkill
- creative-researchSkill
- diagnose-performanceSkill
- email-marketingSkill
- ga4-source-of-truthSkill
- get-startedSkill
- gomarble-skills-creative-strategistsSkill
- gomarble-skills-ecommerce-brandsSkill
- gomarble-skills-google-ads-auditSkill
- gomarble-skills-meta-ads-auditSkill
- gomarble-skills-saas-companiesSkill
- google-ads-create-master-skillSkill
- google-ads-depth-of-analysisSkill
- google-ads-guardrailsSkill
- google-ads-keywordplannerSkill
- google-ads-pmax-evaluationSkill
- google-ads-pmax-scalingSkill
- google-ads-search-analysisSkill
- google-ads-search-executionSkill
- google-ads-shoppingSkill
- google-ads-tool-fundamentalsSkill
- google-impression-shareSkill
- google-pmax-pulseSkill
- google-search-auditSkill
- google-search-term-auditSkill
- launch-campaignsSkill
- linkedin-adsSkill
- manage-campaignsSkill
- meta-ads-auditSkill
- meta-agent-operationsSkill
- meta-create-master-skillSkill
- meta-creative-analysisSkill
- meta-creative-fatigue-detectionSkill
- meta-creative-strategySkill
- meta-custom-event-interpretationSkill
- meta-daily-optimizationSkill
- meta-depth-of-analysisSkill
- meta-performance-analysisSkill
- meta-tool-fundamentalsSkill
- microsoft-adsSkill
- organic-socialSkill
- own-creative-diagnosisSkill
- research-competitorsSkill
- search-console-master-skillSkill
- shift-budgetSkill
- shopify-order-disciplineSkill
- tiktok-adsSkill
- tiktok-create-master-skillSkill
- winning-ads-engineSkill
- winning-ads-orchestratorSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. About 0 are common, 18 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈18
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
If a recommendation does not map to one of these three controls, it is not actionable.
- Distinctive: line 41
Unclear: Ask user. Do not assume.
- Distinctive: line 47
Before recommending segmentation, ask: "Do you have a customer custom audience already built?"
- Distinctive: line 48
If yes → suggest exclusions or separate campaigns using custom audience targeting
- Distinctive: line 49
If no → suggest building custom audiences first
- Distinctive: line 55
No ad-level budget moves
- Distinctive: line 56
No demographic or placement budget allocation
- Distinctive: line 57
No frequency caps for conversion objectives (Sales, Leads, App install)
- Distinctive: line 58
No scaling individual ads (only campaign/ad set level)
- Distinctive: line 59
No scaling > 20% at once
- Distinctive: line 60
Do not pause ads or ad sets younger than 7 days without enough signals
- Very specific: line 61
Do not increase budget on entities below ROAS/CPL/CPA targets — diagnose first
- Distinctive: line 62
Do not call something scalable with < 10% revenue share of total account or statistically weak conversion volume
- Distinctive: line 64
Avoid suggestions that restart learning unless absolutely required
- Distinctive: line 65
Do not rely on first 24–48 hours of data as reliable
- Distinctive: line 69
NEVER recommend pausing the top-converting ad in an ad set: If Meta's algorithm allocates 60-80% of an ad set's budget to one ad and that …
- Very specific: line 88
Before any scale/pause/duplicate/structural suggestion:
- Distinctive: line 99
Only campaign or ad set budget fields
- Distinctive: line 102
If data is noisy or contradictory → say insufficient data, shift to structured testing
- Distinctive: line 103
All scaling must include: deterioration risk warning + review window + spend cap
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Meta Ads Guardrails
READ BEFORE GENERATING ANY RECOMMENDATION.
Budget Reallocation Prohibition
You CANNOT allocate, shift, increase, reduce, or scale budget for: ads (only campaigns and ad sets have budgets), placements (Meta controls distribution), demographics (age, gender, location breakdowns), user segments (new, existing, engaged).
Before writing ANY recommendation, ask: Does it imply moving money between ads, placements, demographics, or segments? If YES → rewrite using valid controls below.
Valid Budget Controls
- Campaign budget (CBO) or ad set budget (ABO)
- Bid caps / cost caps
- Turning ads/ad sets on or off
If a recommendation does not map to one of these three controls, it is not actionable.
Mandatory Rewrites
❌ "Reallocate $X from [ad A] to [ad B]" ✅ "Pause [ad A]. Increase campaign/ad set budget by 15–20% to give [ad B] more spend opportunity."
❌ "Allocate more to [placement/demographic/segment]" ✅ "Create a new ad set targeting [dimension] with its own budget, OR exclude underperforming [dimension] via ad set placement settings."
Rule: Breakdowns (age, gender, placement, device, region, user segment) show how Meta distributed YOUR budget. They are not levers you control. The only way to influence them is creating new ad sets with specific targeting or placement selections.
Metric Selection by Conversion Type
- Ecommerce (purchases/revenue): Use ROAS, revenue, AOV, cost per purchase. Never use ROAS for leadgen.
- Leadgen (form submits, leads): Use CPL, cost per qualified lead. Never use ROAS unless offline revenue is mapped.
- App (installs, in-app events): Use CPI, cost per activation. Never use ROAS unless in-app revenue tracking is confirmed.
- Unclear: Ask user. Do not assume.
User Segment Breakdown
Segments (New Audience, Existing Customers, Engaged Audience) are Meta internal classifications. These cannot be targeted without custom audiences.
- Before recommending segmentation, ask: "Do you have a customer custom audience already built?"
- If yes → suggest exclusions or separate campaigns using custom audience targeting
- If no → suggest building custom audiences first
STOP Rules
PRE-CHECK: Can I point to the exact Ads Manager UI field? If no → do not recommend.
- No ad-level budget moves
- No demographic or placement budget allocation
- No frequency caps for conversion objectives (Sales, Leads, App install)
- No scaling individual ads (only campaign/ad set level)
- No scaling > 20% at once
- Do not pause ads or ad sets younger than 7 days without enough signals
- Do not increase budget on entities below ROAS/CPL/CPA targets — diagnose first
- Do not call something scalable with < 10% revenue share of total account or statistically weak conversion volume
- Minimum signals: 3–5 conversions per ad set per week before performance judgments
- Avoid suggestions that restart learning unless absolutely required
- Do not rely on first 24–48 hours of data as reliable
Top Performer Protection (CRITICAL)
NEVER recommend pausing the top-converting ad in an ad set. If Meta's algorithm allocates 60-80% of an ad set's budget to one ad and that ad produces the majority of conversions, that is Meta's optimization working correctly — not a problem.
Pause decision matrix:
| Condition | Action |
| Ad has highest conversion volume in ad set | KEEP — regardless of budget share |
| Ad has 0 conversions AND spend > 2x ad set CPA target | PAUSE |
| Ad has conversions but CPA > 3x ad set average AND 3+ conversions (statistically significant) | PAUSE |
| Ad has 1-2 conversions with high CPA | WATCH — insufficient data, do not pause yet |
| Ad is < 7 days old | WATCH — let it exit learning phase |
Self-check before any pause recommendation: "Am I about to pause the ad that drives the most conversions in this ad set?" If yes → DO NOT PAUSE. Instead, recommend testing new creatives alongside it.
Methodology Consistency
Once you establish a methodology for evaluating ad performance in a conversation, do NOT change it unless the user explicitly asks you to. Changing criteria mid-analysis destroys trust. If you realize your methodology was wrong, say so clearly, explain what you're changing and why, and then apply the new methodology consistently from that point forward.
Required Diagnostics Before Action
Before any scale/pause/duplicate/structural suggestion:
- User segments: New vs Existing vs Engaged distribution
- Delivery metrics: CPM, CTR, Reach, Frequency (with Spend context)
- High frequency alone ≠ fatigue
- Frequency rising + CTR falling over 14+ days = creative fatigue
- Engagement relevance: offer-aligned comments vs spam/backlash
- Attribution windows: 1dc vs 7dc vs incremental if platform/external data mismatch
- Confirm results not dominated by warm/small pools before scaling
Scaling Guardrails
- Only campaign or ad set budget fields
- Max increase: 20% at once
- Require before scaling: performance target hit, ad set revenue share ≥ 10% of account, not dominated by 80%+ warm/customer pocket
- If data is noisy or contradictory → say insufficient data, shift to structured testing
- All scaling must include: deterioration risk warning + review window + spend cap
Recommendation Workflow
- Fetch setup first (
facebook_get_campaign_details+facebook_get_adset_details): targeting, budget type (CBO/ABO), optimization event, learning phase status, estimated audience size - Self-check: breakdown-based budget move detected? → STOP. Can state exact Ads Manager field? → continue.
- Validate: If breakdown insight from broad audience → cannot scale that slice, can recommend new ad sets or creative angles
- Placement: Never budget moves between placements. Can suggest exclusions via new/duplicated ad set.
- Learning phase: Avoid resets unless required.
- Risk framing: All scaling includes risk warning + review window + cap.
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.

