Individual skill
budget-guardian
Monitors a Google Ads MCC for monthly budget overruns and sends Slack alerts at 100% and 120% of monthly budget per account. Designed to catch hijacked accounts, runaway PMax campaigns, and pacing-sheet formula errors within 2 hours instead of 24+. Alert-only — never pauses campaigns. Runs on GitHub Actions on a 2-hour cron. Use this skill when the user asks to "set up budget guardian", "install spend alerts", monitor MCC spend, or build a tripwire against unauthorized PMax campaigns.
budget-guardian/SKILL.md
Source commit 90f0e419f2d820789d5e50eee1237ab9fd14dfc6
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 11, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 80
- Repository last updated
- Aug 25, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- ai-agents Repository topic
- ai-skills Repository topic
- claude-code Repository topic
- google-ads Repository topic
- google-ads-api Repository topic
- ppc Repository topic
- ppc-automation Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.github/workflows/budget-guardian.ymlasset · 1,349 bytesREADME.mddoc · 16,089 bytesSKILL.mdcore · 7,300 bytesexamples.mddoc · 2,770 bytesreferences/alert-contract.mddoc · 9,960 bytesrequirements.txtdoc · 113 bytesrules.mddoc · 11,328 bytessheet-template.mddoc · 2,269 bytesworkflows/__init__.pyruns · 0 bytesworkflows/_shared/__init__.pyruns · 0 bytesworkflows/_shared/google_ads_auth.pyruns · 1,529 bytesworkflows/_shared/google_auth.pyruns · 977 bytesworkflows/_shared/sheets_retry.pyruns · 1,013 bytesworkflows/budget_guardian/__init__.pyruns · 0 bytesworkflows/budget_guardian/ads_api.pyruns · 1,947 bytesworkflows/budget_guardian/main.pyruns · 5,018 bytesworkflows/budget_guardian/setup_tabs.pyruns · 2,757 bytesworkflows/budget_guardian/sheets_io.pyruns · 5,437 bytesworkflows/budget_guardian/slack.pyruns · 3,654 bytes
Read excerpt
# Budget Guardian
A spend tripwire for your Google Ads MCC. Scans every enabled account in your MCC every 2 hours. If month-to-date spend crosses 100% or 120% of the monthly budget you set, it pings Slack. **Alert-only — never pauses campaigns.**
Pairs with [Shared Budget Updater](../shared-budget-updater/) — the execution arm: it pushes sheet-approved budgets; the Guardian is the tripwire watching what gets spent against them.
## Why this exists
Two threats with the same shape — a spend spike nobody noticed until the damage was done.
The first is fat-fingering: a wrong formula or stale value in a budget sheet quietly pushing the wrong number across multiple accounts. The second is the industry-wide trend of hijacked MCCs and malicious spend — unauthorized PMax campaigns at huge daily budgets, drained accounts, agency-level changes nobody approved.
Daily checks miss the first 23 hours of either one. A 2-hour cron with per-threshold dedupe gets detection to ~2 hours, with one alert per account per threshold per month so Slack doesn't get spammed.