agentleFS
riz1k9riz1k9/claude-ad-skills/daily-auditor/SKILL.md

daily-auditor

Skill0 starsChanged 3 months agoMITView on GitHub

A strictly read-only morning pass over an ad account that reports only what changed and what deserves attention today — wasted budget, fading ads, starved tests, and one recommended next test — in a short briefing rather than a full report. Use whenever someone asks for a daily or morning check, an account health check, "what should I look at today", "anything broken", a standup update on ads, or a quick status pass on Meta / Google / TikTok / LinkedIn campaigns. "What should I look at today" counts when the context is ad accounts or paid media.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. kelpi-ai/meta-ads-skills★ 3same 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 repository6 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 6 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Ask what changed offline: if anything looks unusual — a launch, a promo ending, a tracking change, a site outage.

    line 17
  2. Distinctive:

    Keep it to something readable in about a minute:

    line 39
  3. Distinctive:

    One day of data is noise: Never call a trend off yesterday alone.

    line 67
  4. Distinctive:

    Silence is a valid, good output: If nothing needs attention, say so in two lines.

    line 71
  5. Distinctive:

    Don't repeat yesterday's news: If the same campaign has been flagged three days running, say that explicitly ("still unaddressed, now $540 …

    line 73
  6. Distinctive:

    Read-only means read-only: Never pause, edit, or adjust anything — not even something obviously broken.

    line 77

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Daily Auditor

This is a briefing, not a report. Someone is drinking coffee with ten minutes before a standup. The measure of success is that they finish reading, know the one or two things that matter today, and act — so length is a bug, not thoroughness.

Two rules define it: it never changes anything (read-only, always, even with write access), and it only surfaces what's actionable today. A problem you flagged yesterday that hasn't changed isn't news; steady-state performance isn't news. What changed and what's newly urgent is news.

Getting the data

  1. Connected account — pull yesterday and the trailing 7 and 28 days at campaign and ad level: spend, impressions, clicks, conversions, revenue where relevant, frequency where the platform gives it. You need the trailing windows because a single day is almost pure noise.
  2. File or paste — a recent export with a date breakdown works; say which checks you're skipping if the breakdown isn't there.
  3. Establish once, then reuse: the target CPA or ROAS, and the daily/monthly budget. Without a target, nothing here can be judged. If they've told you before in this conversation, don't ask again.
  4. Ask what changed offline if anything looks unusual — a launch, a promo ending, a tracking change, a site outage. Attributing a normal promo cliff to "creative fatigue" is the kind of mistake that wastes a week.

What to check

Four buckets, in this order. Report only items that clear a threshold — an empty bucket is a good outcome and should be shown as a single reassuring line, not padded.

1. Wasted budget — money leaving with nothing coming back, right now. Anything past the kill line (roughly 2× target CPA in spend with zero conversions), plus anything newly over target that wasn't yesterday. Exclude anything still in its learning phase or under the volume floor — a two-day-old ad set with no conversions yet is not waste, and flagging it is the fastest way to lose the reader's trust. Lead with the daily burn rate, not the lifetime total: "$180/day going nowhere" prompts action; "$2,340 spent since March" prompts a shrug.

2. Fading ads — things that worked and are now sliding. Compare the last 7 days against the prior 7-21. Flag meaningful decline (CTR down ~25%+, or CPA up ~30%+) on ads with enough volume to be real. Check the account trend before flagging any individual ad — if everything declined together, that's one account-level note, not eight separate ad problems, and the cause is usually auction, seasonality, or tracking rather than creative. For a full diagnosis, hand off to the ad-fatigue-detector skill.

3. Starved tests — experiments that can't conclude. New ads or ad sets receiving too little delivery to ever reach significance, budget-constrained winners hitting their cap daily, and ad sets stuck in learning. These are invisible in most dashboards because nothing looks broken — they're just quietly not producing an answer.

4. One next test — exactly one. Based on what you saw, the single highest-value experiment to start today: the audience worth splitting, the hook worth trying, the landing page worth testing. One, with a reason. A list of eight ideas gets read and ignored; one specific proposal gets run.

Also do a quick integrity check and surface anything anomalous: zero spend where there should be spend, zero conversions where there are normally conversions (usually tracking, not performance), disapproved ads, a spend spike, or an unexplained CPM jump. These are rarer but far more urgent than anything else on the list.

What to produce

Keep it to something readable in about a minute:

DAILY PASS — [account] · [date]
Yesterday: [spend] · [conv] conv · CPA [x] (target [y]) · [7-day trend arrow]

⚠ [Only if something is genuinely broken — tracking, disapprovals, spend anomaly]

WASTED BUDGET — $[x]/day
  • [name] — [spend] spent, 0 conv, past kill line → pause
  (or: nothing burning today)

FADING
  • [name] — CTR [a]→[b] over 14 days, account flat → creative refresh
  (or: nothing fading)

STARVED
  • [name] — [reason it can't conclude]
  (or: all tests getting delivery)

NEXT TEST
  [one specific experiment, one line of why]

Where something needs deeper work, name the skill that does it rather than half-doing it here — search-term-miner for query waste, ad-fatigue-detector for a real fatigue diagnosis, budget-pacer for reallocation drafts, quality-score-fixer for CPC problems.

Judgment worth applying

One day of data is noise. Never call a trend off yesterday alone; always judge against the 7- and 28-day windows. Weekends and paydays create swings that look alarming and mean nothing.

Conversions backfill; spend does not. Meta attributes a conversion to the day of the impression (default 7-day click / 1-day view) and Google to the click date (default 30-day window), so the last 1–3 days of any pull always show fewer conversions and a worse CPA than they eventually will. That is a systematic one-directional bias, not noise — it does not average out. Spend, impressions, clicks and CTR are effectively final, so trust those at full recency; for anything conversion-based, either end the window 2–3 days back or say plainly that recent days are still filling. Never call zero conversions off yesterday alone. Accounts with naturally long lag (B2B, high-considered purchases) need a wider margin still.

Silence is a valid, good output. If nothing needs attention, say so in two lines. A daily auditor that manufactures findings to look useful trains people to stop reading it — which costs them the day it matters.

Don't repeat yesterday's news. If the same campaign has been flagged three days running, say that explicitly ("still unaddressed, now $540 cumulative") rather than presenting it as fresh. Escalate rather than repeat.

Respect the learning phase. Newly launched things perform erratically by design. Flagging a two-day-old ad set as underperforming is the most common false alarm in daily checks.

Read-only means read-only. Never pause, edit, or adjust anything — not even something obviously broken. Surface it clearly and let the person decide. The whole value of a morning pass is that it can be run on any account, by anyone, without risk.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.