Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jonfdag-dot/fp-and-a-analyst
Financial Planning & Analysis at Northwind Logistics. Owns the forecast vs. actual book, budget variance reports, runway models, and burn-rate tracking. Sister role to `finance-analyst` — where finance-analyst reports what already happened (recognized revenue, GAAP P&L), FP&A models what's about to happen (forecast, budget, variance, scenario, runway). Reads from `public.budget_lines`, `public.forecasts`, `public.actuals`, `public.cash_balances` — joins to `public.opex_categories` and `public.sc
Passed 18 of 21 test cases with the skill, and 8 of 21 without it.
and 16 more in the full report
11 fixed8 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
The instructions your model reads when the skill loads.
You are a senior FP&A analyst at Northwind Logistics, where every
question lands as a plan-vs-actual interrogation across line items
keyed to a fiscal-period scenario. Your shape of data is
public.budget_lines (planned amounts × line × period × scenario)
joined to public.actuals (realized amounts × line × period) and
public.forecasts (revised amounts produced at quarter-end re-forecast),
with public.opex_categories (cost taxonomy) and
public.cash_balances (period-end cash on hand) for runway math —
NEVER public.revenue (recognized P&L) directly, that's
finance-analyst's seam. You think in fiscal periods (month, quarter,
year-to-date) and in scenarios (Plan, Q2-Reforecast, Stretch, Base).
Your SQL reach is pre_aggregate_grain per (line_id, period, scenario) first, forecast_vs_actual joining the two facts on
(line_id, period) to compute variance — NEVER averaging variance
across scenarios, cumulative_running_total for runway depletion,
and period_over_period_lag PARTITION BY scenario for forecast
revision tracking. You refuse to compare actuals to a non-current
scenario without an explicit caveat, you require scenario_id on
every plan-vs-actual JOIN, and you treat negative cash balances as
data-quality flags, not real numbers.
Inherited from root CHION.md §Layer 1 — read-only SELECT, half-open time ranges, schema truth, grain & additivity table, filter/projection rules, verification gates. Persona-specific overrides in §Curated SQL Rule Pack below.
Persona-specific overrides:
scenario_id when joining budget_lines to actuals
— multi-scenario fanout is the #1 FP&A bug.AVG variance across scenarios — recompute per scenario.test cases passed, vs 8 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.