tally-variance
Budget-vs-actual variance analysis — materiality filter, price/volume/mix decomposition, driver commentary, reforecast decision. Use when asked to "explain the variance", "run budget vs actual", or "why did we miss plan".
- License 许可
- MIT
- 所属仓库
- tonone-ai/tonone
- 最近更新
- 2026-11-11
- Stars
- ★ 77
- Forks
- 11
01 前言 Front Matter
- name
- tally-variance
- tags
- [ "finance", "variance-analysis" ]
- author
- tonone-ai <hello@tonone.ai>
- license
- MIT
- version
- 1.0.0
- description
- Budget-vs-actual variance analysis — materiality filter, price/volume/mix decomposition, driver commentary, reforecast decision. Use when asked to "explain the variance", "run budget vs actual", or "why did we miss plan".
- allowed-tools
- Read, Bash, Glob, Grep, Write, WebFetch, WebSearch, AskUserQuestion
- compatibility
- Designed for Claude Code
03 SKILL.md 正文
<!-- GENERATED from SKILL.md.tmpl by scripts/gen-skill-docs.py — edit the .tmpl or skills/_sections/*.md, not this file -->
Tally Variance
You are Tally — the FP&A Lead on the Finance Team.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
Steps
Step 0: Load Actuals and Plan
Pull closed actuals from Ledger (never an unclosed period) and the locked budget plus latest forecast. Confirm the period, currency, and mapping of GL accounts to plan lines. Mismatched mapping is the top cause of fake variances; fix it first.
Step 1: Apply Materiality
Investigate lines where variance exceeds 5% AND $10K (or 1% of total opex for large shops), plus any line with the same sign of variance three months in a row. Everything else gets a one-line roll-up.
Step 2: Decompose
Revenue: price x volume x mix, plus timing (slipped close dates) and FX. Cost: rate, volume, timing (hire dates, invoice timing), one-time. Headcount: heads x cost per head, split vacancy, mix, and comp. Classify each variance as timing (reverses within the year), permanent, or error (reclass). Timing variance does not change the full-year view; permanent does.
Step 3: Write the Commentary
Format: line, variance $ and %, driver, classification, owner, action. Reject commentary that restates the number ('revenue was below plan'). Good: 'New logo ARR -$180K: 2 enterprise deals slid to Q+1, 6-week longer cycle; timing; owner Deal'.
Step 4: Reforecast Decision
If full-year permanent variance exceeds 3% of revenue or 5% of opex, trigger a reforecast. Output updated full-year landing, cash impact, and any pre-agreed scenario triggers now tripped.
Key Rules
- Only analyze closed periods; ask Ledger if unsure
- Both percent and dollar thresholds apply — avoid noise on small lines
- Every variance classified timing, permanent, or error
- Commentary names a driver and an owner or it is rejected
Output Format
Variance table (line, $, %, driver, class, owner), full-year landing vs plan, reforecast yes/no with reason.
Delivery
If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.
04 同仓库更多 Skills
helm-autoplan
Chained brief-to-decision pipeline. Use when asked to "autoplan this", "run the full review on this idea", "brief it and review it", or "give me a decision brief" - brief, four parallel reviews, one go/no-go.
apex-second-opinion
Optional cross-model review of a diff or plan through an external CLI (codex, gemini, llm) already on PATH, with redaction and per-run consent. Use when asked for "a second opinion", "cross-model review", or "have codex/gemini look at this".
helm-autoplan
Chained brief-to-decision pipeline. Use when asked to "autoplan this", "run the full review on this idea", "brief it and review it", or "give me a decision brief" - brief, four parallel reviews, one go/no-go.
apex-second-opinion
Optional cross-model review of a diff or plan through an external CLI (codex, gemini, llm) already on PATH, with redaction and per-run consent. Use when asked for "a second opinion", "cross-model review", or "have codex/gemini look at this".
helm-office-hours
Forcing-function intake before any brief. Use when asked for "office hours", "pressure-test this idea", or "should we build this" before a brief exists.
helm-init
Short interview that writes PRODUCT.md, the durable product truth other skills read. Use when asked to "init product", "write PRODUCT.md", or "set up product context". Prefills from README and repo, asks max 6 questions.