Budget Tracker logo

Budget Tracker

Community
indranilbanerjee
budget-tracker

Project ad budget pacing by script from live accounts or given numbers: month-end overspend. "are we overspending this month"

Overview

Publisherindranilbanerjee
Repositorydigital-marketing-pro
Skill namebudget-tracker
Stars
866
Forks
138
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by indranilbanerjee on GitHub. Read the source before you install it.

Installation

Install the Budget Tracker AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/budget-tracker
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git /tmp/digital-marketing-pro
mkdir -p .claude/skills
cp -r /tmp/digital-marketing-pro/skills/budget-tracker .claude/skills/budget-tracker
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Budget Tracker in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Budget Tracker on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Budget Tracker is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

/digital-marketing-pro:budget-tracker

Script location. If your host does not set ${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin's scripts/ folder, next to skills/. Run them with Python 3.10 or newer: python, or python3 where python is not found (macOS, many Linux systems).

Purpose

Track advertising budget in real-time across all connected ad platforms. Analyze spend pacing against targets, project end-of-period totals, flag overspend risks and underspend inefficiencies, calculate daily burn rates, and recommend budget reallocations to maximize ROI within the remaining budget window. Designed for media buyers and marketing managers who need a single view of where money is going and whether it is being spent effectively.

Input Required

The user must provide (or will be prompted for):

  • Budget period: This month, this quarter, or a custom date range (e.g., "Feb 1 - Mar 31"). Determines the pacing denominator and projection horizon
  • Ad platforms to include: All connected platforms or specific ones (e.g., "Google Ads and Meta only"). Defaults to all connected ad MCPs
  • Budget targets per platform (optional): Specific spend targets per platform for the period. If omitted, targets are pulled from profile.json budget_range and any saved platform allocations
  • Total budget (optional): Overall budget cap for the period. If omitted, pulled from profile.json budget_range
  • Alert thresholds (optional): Custom thresholds for overpace (default: >110% of expected pacing) and underspend (default: <70% of expected pacing) flags
  • Include efficiency metrics (optional): Whether to pull CPA, ROAS, and conversion data alongside spend. Defaults to yes

Process

  1. Load brand context: Read ~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.json. Apply brand voice, compliance rules for target markets (skills/context-engine/compliance-rules.md), and industry context. Also check for guidelines at ~/.claude-marketing/brands/{slug}/guidelines/_manifest.json — if present, load restrictions. Check for agency SOPs at ~/.claude-marketing/sops/. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
  2. Extract budget targets: Pull budget_range from profile.json and any saved per-platform allocations from previous budget-optimizer or media-plan runs. If user provided explicit targets, use those as overrides. Calculate the target daily spend rate for each platform (budget / days in period).
  3. Pull spend data from connected ad MCPs: Query each connected advertising platform (google-ads, meta-marketing, linkedin-marketing, tiktok-ads) for current-period spend — total spend to date, daily spend breakdown, campaign-level spend distribution, and cost metrics (CPC, CPM, CPA per campaign).
  4. Calculate pacing per platform: Execute python "${CLAUDE_PLUGIN_ROOT}/scripts/ad-budget-pacer.py" --budget {total} --period-days {N} --days-elapsed {N} --spend-to-date {amount} with spend data and budget targets to compute days elapsed/remaining, budget consumed vs expected pacing percentage, pacing ratio (actual / expected), daily burn rate (7-day average), and burn rate trend (accelerating/steady/decelerating).
  5. Project end-of-period spend: Extrapolate current daily burn rate to end of period for each platform — produce best-case (lowest recent daily spend), expected (7-day average), and worst-case (highest recent daily spend) projections.
  6. Compare to budget targets: For each platform, calculate the gap between projected end-of-period spend and the budget target — express as both dollar amount and percentage variance.
  7. Flag pacing issues: Generate alerts — overpace critical (>120%, immediate action: reduce bids, pause low-performers, set daily caps), overpace warning (110-120%, proactive adjustments this week), underspend warning (<70%, increase bids or expand targeting or reallocate), underspend info (70-85%, monitor).
  8. Pull efficiency metrics: For each platform, retrieve CPA, ROAS, conversion volume, and cost per conversion so reallocation decisions are performance-informed, not just pacing-based.
  9. Recommend reallocations: Execute python "${CLAUDE_PLUGIN_ROOT}/scripts/budget-optimizer.py" with current spend efficiency data to suggest specific dollar-amount shifts from underspending or low-efficiency platforms to high-performing ones with room to scale. Include rationale for each recommended move.
  10. Save budget snapshot: Persist the current pacing snapshot via python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand {slug} --action save-snapshot --data '{...pacing metrics...}' for historical tracking, trend analysis, and comparison in future budget-tracker runs.

Output

A structured budget dashboard containing:

  • Budget summary: Total budget for the period, total spent to date, total remaining, overall pacing percentage, days elapsed, days remaining, projected end-of-period total, and overall health status (on track, overpacing, underpacing)
  • Per-platform spend table: Platform name, budget target, actual spend to date, pacing percentage, daily burn rate (7-day avg), projected end-of-period spend, variance from target ($ and %), and status flag (green/yellow/red)
  • Pacing visualization data: Daily spend trajectory vs ideal linear pacing for each platform — highlights where spend is accelerating, decelerating, or tracking evenly across the period
  • Overspend/underspend alerts: Priority-ordered list of pacing issues with severity, platform, current pacing %, projected variance, and specific recommended corrective action
  • Reallocation recommendations: Specific dollar-amount shifts between platforms with rationale — e.g., "Move $2,000 from LinkedIn (62% pacing, $85 CPA) to Google Ads (98% pacing, $22 CPA, room to scale)"
  • Efficiency context: Per-platform CPA, ROAS, conversion volume, and cost trend alongside spend data so budget decisions account for performance quality, not just pacing
  • Daily burn rate breakdown: Current daily spend per platform vs target daily spend, with 7-day trend direction and acceleration/deceleration indicator
  • Projection scenarios: Best-case, expected, and worst-case end-of-period spend projections per platform and in aggregate, with confidence ranges
  • Executive summary: 2-3 sentence overview — total budget health, biggest risk or opportunity, and the single most important action to take now

Agents Used

  • performance-monitor-agent — Spend data aggregation from connected ad MCPs, pacing calculations, projection modeling, snapshot persistence, and historical spend trend analysis
  • media-buyer — Budget optimization strategy, reallocation recommendations, platform-specific spend tactics (bid strategies, daily caps, audience expansion), and auction dynamics expertise

Frequently asked questions

What does the Budget Tracker AI skill do?

Project ad budget pacing by script from live accounts or given numbers: month-end overspend. "are we overspending this month"

Why use Budget Tracker on TypingMind?

Because you install it once and use it with any model. Budget Tracker is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Budget Tracker in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/budget-tracker. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Budget Tracker?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Budget Tracker?

As many as you like. As long as a model supports skills, you can use Budget Tracker with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Budget Tracker AI skill free?

Yes. It is published on GitHub by indranilbanerjee under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇