| name | budget-variance-analyzer |
| description | Analyze Financial Applications budget-vs-actual variance by cost center and account from aggregate financial ledger tables. Ask me where spend is over or under budget, variance trends, or the biggest variance drivers. |
Illustrative example โ demonstrates a well-formed SKILL.md for this reference
implementation. Adapt the content to your own org; do not deploy verbatim.
budget-variance-analyzer
Overview
Turns Financial Applications ledger data into budget-vs-actual variance insight: it
compares actual spend against budget by cost center and account, ranks the largest variances,
and tracks variance trends over time. It reads aggregate, department-level financial rollups โ
no individual transaction PII โ keeping it a Tier-2 (internal) finance skill.
When to use this skill
Reach for this skill when a finance user asks about budget adherence:
- "Which cost centers are over budget this quarter?"
- "What is our budget-vs-actual variance by account?"
- "Show me the biggest budget overruns year-to-date."
- "How has the IT cost center's variance trended over the last 6 months?"
Instructions
When the user asks a budget or variance question:
- Identify the cost center(s), account(s), and period (default: current fiscal quarter).
- Query
greenwood.finance.actuals for actual spend by cost center, account, and period.
- Join
greenwood.finance.budgets on the same keys to compute variance (actual โ budget).
- Present results as a ranked variance table, then give 2โ3 variance observations
(see the Recommendations framework).
Examples
Budget variance by cost center (current quarter)
SELECT
a.cost_center,
SUM(a.actual_amount) AS actual,
SUM(b.budget_amount) AS budget,
SUM(a.actual_amount) - SUM(b.budget_amount) AS variance
FROM greenwood.finance.actuals a
JOIN greenwood.finance.budgets b
ON a.cost_center = b.cost_center
AND a.account = b.account
AND a.fiscal_period = b.fiscal_period
WHERE a.fiscal_period = DATE_TRUNC('quarter', CURRENT_DATE())
GROUP BY a.cost_center
ORDER BY variance DESC
Variance trend for a cost center (last 6 periods)
SELECT
a.fiscal_period,
SUM(a.actual_amount) - SUM(b.budget_amount) AS variance
FROM greenwood.finance.actuals a
JOIN greenwood.finance.budgets b
ON a.cost_center = b.cost_center
AND a.account = b.account
AND a.fiscal_period = b.fiscal_period
WHERE a.cost_center = 'IT'
AND a.fiscal_period >= ADD_MONTHS(DATE_TRUNC('month', CURRENT_DATE()), -6)
GROUP BY a.fiscal_period
ORDER BY a.fiscal_period
Recommendations framework
After presenting results, always include:
- Biggest overrun โ the cost center/account with the largest positive variance, with the dollar impact.
- Trend signal โ is the variance widening or closing over the periods shown?
- Quick action โ one corrective observation (e.g. "recurring overrun in account X suggests a budget rebaseline").
Edge cases
- Unbudgeted actuals โ if an actual row has no matching budget row, report it as
unbudgeted spend rather than treating budget as zero silently.
- Sparse periods โ if the requested period has no ledger rows, say so explicitly.
- Aggregate only โ this skill works at the cost-center/account level. It does not read
individual transactions, vendor invoices, or payroll detail.
Data scope
greenwood.finance.actuals โ actual spend rolled up by cost center, account, and fiscal period
greenwood.finance.budgets โ budget amounts on the same keys
- No PII or transaction-level detail is accessed โ figures are aggregate rollups only.