meta-ads

meta-ads is a skill for Claude Code, Codex from boringmarketer/kimi-first. It costs 89 tokens per session (2,828 once invoked), scanned A, original, MIT.

A guide for creating and checking advertising campaigns on Meta, the company behind Facebook and Instagram, through its Marketing API. It covers permissions, special-category rules, creative sizing, and verifying that conversion tracking reports real events.

In plain words
What is it for?
It is for launching or debugging Facebook and Instagram campaigns, configuring account and app access, preparing story creatives, and confirming that leads or other conversions are recorded correctly.
Why use it?
It addresses rejected campaigns, missing permissions, unsafe image crops, and misleading tracking results. The checks focus on deployed pages and Meta's own test tools rather than incomplete local signals.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: positional $N argument.

Good fit It is for launching or debugging Facebook and Instagram campaigns, configuring account and app access, preparing story creatives, and confirming that leads or other conversions are recorded correctly.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/boringmarketer/kimi-first/meta-ads
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add boringmarketer/kimi-first --skill meta-ads
Clone the repo
git clone --depth 1 https://github.com/boringmarketer/kimi-first

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for meta-ads

README.md
[![agentmods](https://agentmods.dev/badge/skills/boringmarketer/kimi-first/meta-ads.svg)](https://agentmods.dev/skills/boringmarketer/kimi-first/meta-ads)
Your own site
<a href="https://agentmods.dev/skills/boringmarketer/kimi-first/meta-ads"><img src="https://agentmods.dev/badge/skills/boringmarketer/kimi-first/meta-ads.svg" alt="Measured on agentmods" height="20"></a>
Per session 89 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,828 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00089 $0.02828
Opus 5 $0.00044 $0.01414
Sonnet 5 $0.00018 $0.00566
Haiku 4.5 $0.00009 $0.00283

Measured 3d ago against content hash 8cb6450c144e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

meta-ads scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

One `curl` then proves the whole server path in isolation. This is the only
skills/meta-ads/SKILL.md · 271 lines

How it starts

The opening of the file, as written. The whole thing — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Meta Ads — launch and verification

Everything here was learned by getting it wrong in production first. The API rejections are real rejections, the permission chain is the one that actually unblocks, and the verification section exists because measuring the wrong thing produced three confidently-wrong conclusions in a single session.


1. Verification comes first, because it is where the damage happens

Read this before believing any test result.

Three separate false negatives in one launch. Each looked like a real bug. Each was the instrument, not the system.

Trap What happened What to use instead
Testing on localhost Verified the pixel and an embed on localhost. Both were blocked in production by a CSP that localhost does not have. Always verify against the deployed URL. A localhost pass proves nothing about production headers.
performance.getEntriesByType('resource') Concluded "the Lead never fires" because no beacon appeared. fbevents uses navigator.sendBeacon when an eventID is present, and sendBeacon never appears in resource timing. Meta's Test Events tool. It is Meta's own instrumentation and it ends the argument.
"Received From: Browser" in Test Events Concluded the server-side CAPI was broken because no server rows appeared. Test Events only shows server events if the server sends a test_event_code. Have the server return its own send result (see §6). Absence of display ≠ absence of delivery.

The pattern: absence of evidence was read as evidence of absence, from an instrument that structurally could not observe the thing being measured. Before concluding something is broken, ask what the instrument can actually see.

Confounded variables. One "isolation test" removed two variables at once and the wrong one got the blame. Change one thing.


2. The permission chain (the part that actually blocks you)

To create ads via API you need four separate grants. Missing any one gives a different, unhelpful error.

Read the full file on GitHub · 271 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 271 lines · 89 tokens per session scan A 8cb6450c144e

Subscribe to this mod's changes

meta-ads is a skill published in the GitHub repository boringmarketer/kimi-first (46 stars, last pushed 3d ago), licensed MIT. It adds 89 tokens to every session and 2,828 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.

Related

Other skills, from other repositories

deepseek-and-destroy

Continuously execute a complex multi-phase implementation plan through configurable worker-agent loops until the plan is complete or a genuinely human-level blocker is reached. Uses fresh implementation and review contexts, reviewer-led repair, fresh re-review, durable multi-orchestrator state, and main-orchestrator…

mtarcure/claude-vibe-squad · 75 tokens

espalier-migrate

Migrate an existing harness/espalier install to the current Espalier version — auto-detects which of v0.1→v0.2, v0.3→v0.4, v0.4→v0.5, the v0.5.3 coder-agent patch, v0.5→v0.6 (Stage 1 grill), v0.6→v0.7 (read-only /espalier-ask lane), v0.7→v0.8 (requirements approval gate), the v0.8.1 impact-analysis agent patch, the…

Junhanliu-dev/espalier-engineering · 0 tokens

espalier-init

Analyze any existing codebase, discover its patterns and best practices, and generate an Espalier structure (rules, skills, wiki, pipeline) so AI coders produce code matching that project's language and conventions. Greenfield repos take the two-pass Decide-Then-Bind path (/espalier-map charts the conventions, init…

Junhanliu-dev/espalier-engineering · 118 tokens

blind-rediscovery

Operational checklist + helper for blind-rediscovery fan-out work. Splits per-target dossiers into blind/ (voice-readable, no prior-finding refs) and curated/ (operator-only, prior findings + comparisons). Use when running Stage 3 hypothesis exploration on a target with prior chrono work.

mtarcure/claude-vibe-squad · 67 tokens

compact-now

Operator-triggered proactive compaction — Chrono externalizes load-bearing state (active decisions, open tasks, next action) to a snapshot + a durable Vault learning note before invoking Claude Code's native /compact, then resumes from the snapshot. Use when the operator says "/compact-now" / "compact now" or when…

mtarcure/claude-vibe-squad · 82 tokens

sandbox-provision-discipline

Verify authorization, isolation, egress, credentials, persistence, evidence, and cleanup gates before provisioning or using a sandbox for PoCs, untrusted binaries, fuzzing, or other risky tests.

mtarcure/claude-vibe-squad · 45 tokens