← ToffuCONTENT HISTORY
WHAT CHANGED
Update to Toffu
Snapshot Oct 29, 2026 · 19:06 UTC · version 1.3.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Toffu and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Report month-to-date budget pacing across all connected ad platforms with Toffu. Use when the user asks how they are pacing, whether they are on budget, or what they will spend by month end. Projects month-end spend per account against the monthly budgets and lists the moves to make this week.",
"included_files": [],
"name": "pacing-report",
"skill_md_contents": "---\nname: pacing-report\ndescription: Report month-to-date budget pacing across all connected ad platforms with Toffu. Use when the user asks how they are pacing, whether they are on budget, or what they will spend by month end. Projects month-end spend per account against the monthly budgets and lists the moves to make this week.\n---\n\nUse the Toffu tools. Never apply a change the user has not confirmed.\n\n1. Call `get_account_context`. If a platform has several accounts, ask which one. Pass the ids as `account_ids` to `query_campaign_performance`, and as `account_id` to the other tools.\n2. Read data with `query_campaign_performance` (daily rows: `time_increment` \"1\"), `list_campaigns`, `list_ad_sets` and `list_ads`.\n3. To change something, call `propose_update_campaign`, `propose_update_ad_set` or `propose_update_ad`, and show the preview. Call `apply_change` only after the user confirms that change.\n\nThere is no budgets sheet here: ask the user for the monthly budget per account or platform, once.\n\n# Mid-Month Pacing Report\n\nUse when the user asks \"how are we pacing\", \"are we on budget\", \"month-to-date pacing\", \"will we hit budget\", or wants a report to send a client mid-month. Agency clients ask this every two weeks. Automating it is a recurring time saver.\n\n## Inputs\n\n- The monthly budget per account or per channel (the user supplies; if missing, ask once or pull from a stored budgets sheet).\n- Today's date and the month-to-date (MTD) actual spend per account or channel.\n- The number of days elapsed and the number of days remaining in the month.\n\n## The math (no surprises)\n\n- `expected_pace = (days_elapsed / days_in_month) * monthly_budget`\n- `pacing_delta_pct = (mtd_spend - expected_pace) / expected_pace`\n- `projected_eom = mtd_spend * (days_in_month / days_elapsed)`\n- `projected_vs_budget_pct = (projected_eom - monthly_budget) / monthly_budget`\n\n## Classification\n\n- **On track**: |pacing_delta_pct| <= 5%. No action.\n- **Underpacing**: pacing_delta_pct < -10%. Budget will be left on the table. Recommend: raise budgets, expand audiences, or unpause held inventory.\n- **Overpacing**: pacing_delta_pct > 10%. Will overspend without intervention. Recommend: reduce daily caps, pause lowest-ROAS campaigns, or move budget to under-pacing accounts.\n- **Severe**: |pacing_delta_pct| > 25%. Lead with this.\n\nRound all percentages to whole numbers in the output. The CMO does not need 3 decimal places.\n\n## Output format\n\nOne executive line: \"X of N accounts pacing on target. $A overspend / $B underspend projected at month-end.\"\n\nThen a table — Account/Channel | Monthly budget | MTD spend | Days elapsed/total | Expected pace | Pacing delta | Projected EOM | Action. Sort by absolute pacing delta descending.\n\nEnd with a 3-line \"what to do this week\" section listing concrete moves (raise X budget by $Y, pause campaign Z).\n\n## Pitfalls\n\n- Calendar months have different lengths. Always use the actual `days_in_month` for the month being reported, not 30.\n- A campaign launched on the 10th has different \"expected pace\" than one running since the 1st. If launch dates differ from month-start, use `days_since_campaign_start` instead of `days_elapsed`. Note this on the row.\n- Weekend tapering: most accounts spend less on Sat-Sun. A simple linear pace will read \"underpacing\" Friday morning and \"overpacing\" Monday morning. State the projection as \"linear\" so the reader knows it's not seasonality-aware.\n- If the budget is \"as much as profitable\" rather than a fixed cap, pacing is the wrong report — use ROAS-vs-target instead.\n- Currency: convert MTD spend to the budget's currency, not the other way around. Otherwise the budget moves between reports.\n"
}SHA-256 of public snapshot: 2634d90180f602be05e9b95ac0e593498d3beedab42ab92e7441c22c0f9ade71