Budget Change Card: every ad budget move on one card, big ones wait for your yes
by PaperChaseWebb
A free kit for owners who let an agent suggest or make ad budget changes. Every proposed move becomes a card: old budget, new budget, the reason, and spend and conversions checked against one report export. Small moves from an agent you trust, on enough data and under a daily cap, may go. Bigger ones wait for your yes, moves over your ceiling are blocked, and the change itself goes through a gate that logs who allowed it.
- Price
- Free
- Difficulty
- Beginner
- Setup
- 15 min
- Format
- .md file
budget-change-card-every-ad-budget-move-on-one-card-with-the-owners-yes.md · 43 KB · direct download, no signup
What you end up with
Every budget change has a card, a reason, numbers from one report and a name next to the yes.
What you get
- The method: one report as the only source of numbers, a percent limit for small moves, a ceiling, a daily increase cap and a minimum of data
- budget.py: 9 rules checks and 13 reasons a move is held or blocked, from a stale old budget or numbers that do not match the report to thin data and the daily cap
- cards.md each run: old and new budget, percent change, reason, window, spend, conversions and cost per conversion
- A gate called right before a budget changes, which lets a move through once; any edit after your yes stops it
- The owner's yes refused inside an agent session, without a terminal, for a blocked card and from anyone but the owner
- AGENTS.md, CLAUDE.md, a Grok Bot standing order and a Hermes skill, a fictional example, and 49 tests
Who it is for
Owners and small marketing teams who let an agent suggest or make ad budget changes.
Works with
Solid chips: the agent is named in this listing's own tools list. Dashed chip: One Python script, a rules template, a fictional bakery with eight campaigns and eight proposed moves, and agent rules for each harness. Tested on Linux.
Tools needed
Cost to run: Free. Python is free.
Time to result: First cards in about 15 minutes
How it works
Run the example
Unpack the file and run python3 budget.py scan example/rules.json example/budgets.csv example/report.csv example/proposals.csv out/.
Expected: 2 clear, 4 need a yes and 2 blocked, each with its reason.
Write your rules
Copy templates/rules.json. Keep every agent on propose_only and the auto limit at 0 to start.
Expected: budget.py check shows rules OK.
Export one report
Each morning, export your campaign report to report.csv and today's budgets to budgets.csv.
Expected: Cards whose numbers match the report; any that do not are blocked.
Say yes at your own terminal
Read the card, then run approve and type apply. Whoever changes the budget calls gate first.
Expected: The log shows your yes; edit the card and gate says no-go.
Sample prompts, free to use
Follow AGENTS.md. Add the move to proposals.csv under your own name with numbers copied from report.csv, run budget.py scan, and send the owner cards.md if anything is held or blocked. Call budget.py gate before changing a budget and change it only on exit 0. Do not approve, edit the rules, budgets, report or log, split a move or retry a refused change another way.
One prompt.
Free preview of the file
# Budget Change Card **An agent that moves ad budgets on a hunch can spend a week's money by lunch. Make every move fit on one card: the old budget, the new one, the reason, and the numbers from one report. Small moves can go. Big ones wait for your yes.** Version 1.0, 2026-11-04. By PaperChaseWebb Inc. Free. Works with Grok Bot, Claude Code, Codex and Hermes, or by hand. Python 3.8 or newer, no installs. ## The problem Budget moves suggested by agents tend to arrive as a sentence in chat: "raise brand search, it's doing well." Doing well by which report, over which days, from what budget to what? When the numbers come from three dashboards that disagree, nobody can check the case, and when the move turns out wrong, nobody can say who allowed it. This kit puts each move on a card and checks the card against a single report export. Moves that are small, from an agent you trust, backed by enough data and under a daily cap may go. The rest wait for you, and your yes covers that one card as it read. ## What you get out of it - cards.md: one card per proposed move, sorted into blocked, needs your yes, and clear, with the reason for each. - Every card shows old and new budget, the percent change, the reason, the window, spend, conversions and cost per conversion from the report. - A gate called right before a budget is changed. Exit 0 means go; anything else means stop. A move goes once. - changelog.jsonl: each yes and each change, with who, when, old and new budget, and a f
Test record
- Date
- Nov 4, 2026
- What was run
- tests/test_budget.py (49 tests) unpacked from the pack file and run fresh on Linux, Python 3.8, 3.9, 3.11, 3.12 and 3.13; check, scan, approve, gate and status on the fictional example.
- Result
- 49 passed, 0 failed on all five versions; the example sorts 2 moves clear, 4 held (agent may only propose, over the auto limit, thin data, daily cap) and 2 blocked (over the ceiling, numbers off the report); the yes is refused in agent sessions, without a terminal, for the wrong name, without the typed word and for a blocked card; an edit or a budget change after a yes stops the move; a move goes once; the inputs are never modified.
- Not run
- macOS or Windows. A real ad account or report export. A live Grok Bot, Claude Code, Codex or Hermes session.
Copied from this item's dated test notes. What was not run stays in.
Worth knowing
- It never connects to an ad account. It covers changes that pass through the gate, so remove direct budget access from agents where you can.
- It checks that the numbers match one report, not that the report is right or the reason is wise. Read the cards.
- On 2026-11-04: 49 tests passed on Python 3.8, 3.9, 3.11, 3.12 and 3.13 on Linux, run from the files unpacked out of the pack. Agent rules guide; they were not loaded inside each harness for this release.
- Daily budgets only. Lifetime budgets, bids and targeting are out of scope.
Questions
Does it change my ad budgets?
No. It decides whether a move may be made and logs who allowed it. A person or your own tool makes the change after the gate says go.
Can my agent approve its own move?
No. The yes is refused inside an agent session, without a terminal and for anyone but the owner named in the rules.
Why block big moves even with a yes?
A ceiling makes big changes happen in steps you can watch. Raise max_move_pct if you want a higher ceiling.
What should I pair it with?
The Earned Autonomy Ladder (free) decides when an agent may move from proposing to applying small moves, and the Usage Cap Check (free) keeps the agent bill itself in view.
Details
Version 1.0 · Updated Nov 4, 2026 · Markdown version of this page
License: Personal and commercial use. Download terms
Related

Earned Autonomy Ladder: agents earn each level from their record and your yes
A free kit for owners moving agents from drafting to doing. Every agent action gets its own level: watch, draft, act and report, or act within a limit. A lane moves up one level only after enough clean runs over enough days and only with your yes at your own terminal. A reverted run drops it a level, an incident drops it to watch, and payments, first contact, deletes, contracts, public posts and credentials stay on draft for good.

Usage Cap Check: see the month coming before the agent bill does
A free kit for providers who bill agent or model usage to clients, and for the owners who pay it. Write one plan with a monthly cap, alert points, a rule for going over and every job that spends. Copy usage from the provider's own export into a three-column log. A checker gives spend to date, the last 7 days' pace and where the month lands, flags jobs over budget, unplanned spend and jobs with no off switch, and turns each into one decision sheet the client owner answers in a single reply.

Pilot Scorecard: agree the pass line before an agent pilot starts
A free kit for providers who offer a trial before a monthly plan, and for owners who want to try one. Write one page of terms: one workflow, 30 days at most, up to 5 measures with today's number, a target and where each number comes from, plus data limits, an off switch, the refund rule and the next step after a pass or a fail. The client owner signs it at their own terminal, the pass lines lock, and the end report says pass or fail per measure without an argument.

Ask-first rules for AI agents: hard nos, approval cards and a test set
Paste-in rules that make an agent ask before it sends, spends, posts or deletes, define what a real yes is, and stop retries after a no, plus 12 test scenarios to check it.
Start free. Buy a file. Or have it built for you.
Free samples
Read and download in full. No signup.
Marketplace
Packs, templates, prompts and bots. One-time checkout, instant download.
Agency AI operations
Built, installed and managed. Growth Fleet starting at $2,500 setup + $750/mo, Managed Ops starting at $2,500 onboarding + $5,000/mo with a 3-month minimum.