Agent skill · business finance · nousresearch

3-statement-model

3-statement-model — an agent skill for coding agents.

Why this skill is useful

Provides specific guidelines for building integrated financial models in Excel using formulas, which the AI may not generate correctly without this structured approach.

What it needs

About 13k tokens when loaded. Last updated 2026-08-07. 226,679 stars on the source repository.

What this skill does

Environment This skill assumes headless openpyxl — you are producing an .xlsx file on disk. Follow the excel-author skill's conventions for cell coloring, formulas, named ranges, and sensitivity tables. Recalculate before delivery: python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx. 3-Statement Financial Model Template Completion Complete and populate integrated financial model templates with proper linkages between Income Statement, Balance Sheet, and Cash Flow Statement. ⚠️ CRITICAL PRINCIPLES — Read Before Populating Any Template Formulas over hardcodes (non-negotiable): Every projection cell, roll-forward, linkage, and subtotal MUST be an Excel formula — never a pre-computed value When using Python/openpyxl: write formula strings (ws["D15"] = "=D14(1+Assumptions!$B$5)"), NOT computed results (ws["D15"] = 12500) The ONLY cells that should contain hardcoded numbers are: (1) historical actuals, (2) assumption drivers in the Assumptions tab If you find yourself computing a value in Python and writing the result to a cell — STOP. Write the formula instead. Why: the model must flex when scenarios toggle or assumptions change. Hardcodes break every downstream integrity check silently. Verify step-by-step with the user: 1. After mapping the template → show the user which tabs/sections you've identified and confirm before touching any cells 2. After populating historicals → show the user the historical block and confirm values/periods match source data 3. After building IS projections → run the subtotal checks, show the user the projected IS, confirm before moving to BS 4. After building BS → show the user the balance check (Assets = L+E) for every period, confirm before moving to CF 5. After building CF → show the user the cash tie-out (CF ending cash = BS cash), confirm before finalizing 6. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills nousresearch/3-statement-model

View the source on GitHub

Browse the @skills marketplace