Triggered when user wants to create, build, plan, or review a budget. Matches: "create a budget", "help me with a budget", "build a budget", "monthly budget", "project budget", "department budget", "event budget", "financial plan", "expense tracker", "budget spreadsheet", "budget template", "how much am I spending", "plan my expenses", "cost breakdown", "budget dashboard", "financial dashboard", "interactive budget", "visualize my budget". Also trigger for any request involving spreadsheets with financial calculations, revenue projections, or cost-benefit analysis. Do NOT use for analyzing past expense data without creating a new budget (use report-writer), creating budget slides for a presentation (use presentation skill — budget-wizard can supply the numbers but slide layout belongs there), writing a cost-benefit analysis document (use report-writer), or tracking time or creating timesheets (not a budget task).
From tandemnpx claudepluginhub binatrixai/tandem-marketplace --plugin tandemThis skill is limited to using the following tools:
evals/evals.jsonexamples/personal-budget.mdexamples/project-budget.mdreferences/budget-dashboard-template.htmlreferences/formula-guide.mdtemplate.mdExecutes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Interactive budget creation through guided conversation. Produces a structured markdown preview and CSV for Excel/Google Sheets import.
Detect the user's preferred language from Personal Preferences. Respond entirely in that language. Currency symbol and number formatting should match locale.
If no preference is set:
AskUserQuestion: "What language should I use?"
Options: ["English", "עברית", "Русский"]
AskUserQuestion: "What type of budget are you creating?"
Options: ["Personal / Household", "Project", "Event", "Department / Team", "Custom"]
AskUserQuestion: "What period does this budget cover?"
Options: ["Monthly", "Quarterly (3 months)", "Annual (12 months)", "Custom period"]
Check Personal Preferences for currency. If not set:
AskUserQuestion: "What currency?"
Options: ["ILS (₪)", "USD ($)", "EUR (€)", "Custom"]
Present pre-populated categories based on budget type. User can add, remove, or modify.
Personal / Household:
Project:
Event:
Department / Team:
AskUserQuestion: "Here are the suggested categories for a [type] budget. What would you like to do?"
Options: ["Use these categories", "Add more categories", "Remove some categories", "Start from scratch"]
For each category, ask for the budgeted amount. Group related items:
AskUserQuestion: "Let's fill in the amounts. Which section should we start with?"
Options: ["[Category 1]", "[Category 2]", "[Category 3]", "Enter all at once — I'll list them"]
For each category, ask for subcategory amounts. Calculate subtotals automatically.
Present the complete budget using template.md format:
AskUserQuestion: "Here's your budget summary. What would you like to do?"
Options: ["Looks good — generate final version", "Adjust amounts", "Add a category", "Remove a category", "Start over"]
Generate two outputs:
AskUserQuestion: "Budget is ready! How would you like the output?"
Options: [
"Show both markdown and CSV",
"Save as file to ~/Tandem/documents/",
"Just show the markdown preview",
"Just the CSV for spreadsheet import",
"Interactive HTML dashboard (open in browser)"
]
If saving as file, use naming convention: budget-[type]-[YYYY-MM].md and budget-[type]-[YYYY-MM].csv
For every budget, automatically compute:
See references/formula-guide.md for Excel formulas to include in CSV output.
When HTML dashboard output is selected, generate a single self-contained HTML file with an Apple Swiss design aesthetic — interactive sliders, charts, and projections.
update() on input for real-time updates| Token | Value |
|---|---|
| Background | #f5f5f7 (Apple light gray) |
| Cards | #ffffff with border-radius: 20px, soft shadow |
| Typography body | Instrument Sans (Google Fonts) with system-ui fallback |
| Typography numbers | Newsreader serif (Google Fonts) for large numbers and headings |
| Colors | Apple system: green #34c759, blue #007aff, pink #ff2d55, orange #ff9500, purple #af52de, teal #5ac8fa |
| Sliders | White thumbs with blue border, thin 4px tracks |
| Buttons | Pill-shaped (border-radius: 100px), active state fills with blue |
| Spacing | 24-28px card padding, 16px grid gaps |
| Animations | Subtle fadeIn on load with staggered delays |
| Hover states | Cards lift slightly with enhanced shadow |
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.jsBefore delivering the dashboard:
balance * (1 + rate/12) per monthSave as budget-dashboard-[type]-[YYYY-MM].html in ~/Tandem/documents/.
Include a small footer disclaimer: "This is a planning tool, not financial advice."
After budget creation, suggest 1-2 of these:
Memory is user-triggered only. Offer to remember:
Follow template.md for markdown format. See examples/personal-budget.md and examples/project-budget.md for complete examples. See references/formula-guide.md for Excel formula reference.
For HTML dashboard mode, see the Interactive HTML Dashboard Mode section above.
When outputting in Hebrew:
After completing the workflow, append an entry to ~/Tandem/stats.json:
{
"type": "document",
"action": "created",
"count": 1,
"timeSavedMinutes": 30,
"description": "Created budget: Q2 Marketing Budget",
"timestamp": "<current ISO 8601>"
}
If ~/Tandem/stats.json does not exist, create it as [<entry>]. If it exists, read it, parse the JSON array, append the new entry, and write it back.
After appending to stats.json, follow the /sync workflow from tandem-skills/core/sync/SKILL.md to rebuild ~/Tandem/dashboard.html with updated statistics. This keeps the dashboard current after every skill run. If /sync fails (e.g., dashboard.html does not exist yet), continue — the main skill workflow must complete successfully regardless of sync outcome.