3-statement-model – Documents & Office skill for AI agents
Build integrated IS/BS/CF financial workbooks in Excel.
Install the 3-statement-model skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/3-statement-model-2e02e.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /3-statement-model – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/3-statement-model-2e02e.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $3-statement-model – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/3-statement-model-2e02e.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /3-statement-model – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/3-statement-model-2e02e.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /3-statement-model – then describe the task you want done.
SKILL.md content
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. Do NOT populate the entire model end-to-end and present it complete — break at each statement, show the work, catch errors early
Formatting — Professional Blue/Grey Palette (Default unless template/user specifies otherwise)
Keep colors minimal. Use only blues and greys for cell fills. Do NOT introduce greens, yellows, oranges, or multiple accent colors — a clean model uses restraint.
| Element | Fill | Font |
|---|---|---|
| Section headers (IS / BS / CF titles) | Dark blue #1F4E79 | White bold |
| Column headers (FY2024A, FY2025E, etc.) | Light blue #D9E1F2 | Black bold |
| Input cells (historicals, assumption drivers) | Light grey #F2F2F2 or white | Blue #0000FF |
| Formula cells | White | Black |
| Cross-tab links | White | Green #008000 |
| Check rows / key totals | Medium blue #BDD7EE | Black bold |
That's 3 blues + 1 grey + white. If the template has its own color scheme, follow the template instead.
Font color signals *what* a cell is (input/formula/link). Fill color signals *where* you are (header/data/check).
Model Structure
Identifying Template Tab Organization
Templates vary in their tab naming conventions and organization. Before populating, review all tabs to understand the template's structure. Below are common tab names and their typical contents:
| Common Tab Names | Contents to Look For |
|------------------|----------------------|
| IS, P&L, Income Statement | Income Statement |
| BS, Balance Sheet | Balance Sheet |
| CF, CFS, Cash Flow | Cash Flow Statement |
| WC, Working Capital | Working Capital Schedule |
| DA, D&A, Depreciation, PP&E | Depreciation & Amortization Schedule |
| Debt, Debt Schedule | Debt Schedule |
| NOL, Tax, DTA | Net Operating Loss Schedule |
| Assumptions, Inputs, Drivers | Driver assumptions and inputs |
| Checks, Audit, Validation | Error-checking dashboard |
Template Review Checklist
- Identify which tabs exist in the template (not all templates include every schedule)
- Note any template-specific tabs not listed above
- Understand tab dependencies (e.g., which schedules feed into the main statements)
- Locate input cells vs. formula cells on each tab
Understanding Template Structure
Before populating a template, familiarize yourself with its existing layout to ensure data is entered in the correct locations and formulas remain intact.
Identifying Row Structure
- Locate the model title at top of each tab
- Identify section headers and their visual separation
- Find the units row indicating $ millions, %, x, etc.
- Note column headers distinguishing Actuals vs. Estimates periods
- Confirm period labels (e.g., FY2024A, FY2025E)
- Identify input cells vs. formula cells (typically distinguished by font color)
Identifying Column Structure
- Confirm line item labels in leftmost column
- Verify historical years precede projection years
- Note the visual border separating historical from projected periods
- Check for consistent column order across all tabs
Working with Named Ranges
Templates often use named ranges for key inputs and outputs. Before entering data:
- Review existing named ranges in the template (Formulas → Name Manager in Excel)
- Common named ranges include: Revenue growth rates, cost percentages, key outputs (Net Income, EBITDA, Total Debt, Cash), scenario selector cell
- Ensure inputs are entered in cells that feed into these named ranges
Projection Period
- Templates typically project 5 years forward from last historical year
- Verify historical (A) vs. projected (E) columns are clearly separated
- Confirm columns use fiscal year notation (e.g., FY2024A, FY2025E)
Margin Analysis
Note: The following margin analysis should only be performed if prompted by the user or if the template explicitly requires it. If no prompt is given, skip this section.
Calculate and display profitability margins on the Income Statement (IS) tab to track operational efficiency and enable peer comparison.
Core Margins to Include
| Margin | Formula | What It Measures |
|--------|---------|------------------|
| Gross Margin | Gross Profit / Revenue | Pricing power, production efficiency |
| EBITDA Margin | EBITDA / Revenue | Core operating profitability |
| EBIT Margin | EBIT / Revenue | Operating profitability after D&A |
| Net Income Margin | Net Income / Revenue | Bottom-line profitability |
Income Statement Layout with Margins
Display margin percentages directly below each profit line item:
- Gross Margin % below Gross Profit
- EBIT Margin % below EBIT
- EBITDA Margin % below EBITDA
- Net Income Margin % below Net Income
Credit Metrics
Note: The following Credit analysis should only be performed if prompted by the user or if the template explicitly requires it. If no prompt is given, skip this section.
Calculate and display credit/leverage metrics on the Balance Sheet (BS) tab to assess financial health, debt capacity, and covenant compliance.
Core Credit Metrics to Include
| Metric | Formula | What It Measures |
|--------|---------|------------------|
| Total Debt / EBITDA | Total Debt / LTM EBITDA | Leverage multiple |
| Net Debt / EBITDA | (Total Debt - Cash) / LTM EBITDA | Leverage net of cash |
| Interest Coverage | EBITDA / Interest Expense | Ability to service debt |
| Debt / Total Cap | Total Debt / (Total Debt + Equity) | Capital structure |
| Debt / Equity | Total Debt / Total Equity | Financial leverage |
| Current Ratio | Current Assets / Current Liabilities | Short-term liquidity |
| Quick Ratio | (Current Assets - Inventory) / Current Liabilities | Immediate liquidity |
Credit Metric Hierarchy Checks
Validate that Upside shows strongest credit profile:
- Leverage: Upside < Base < Downside (lower is better)
- Coverage: Upside > Base > Downside (higher is better)
- Liquidity: Upside > Base > Downside (higher is better)
Covenant Compliance Tracking
If debt covenants are known, add explicit compliance checks comparing actual metrics to covenant thresholds.
Scenario Analysis (Base / Upside / Downside)
Use a scenario toggle (dropdown) in the Assumptions tab with CHOOSE or INDEX/MATCH formulas.
| Scenario | Description |
|----------|-------------|
| Base Case | Management guidance or consensus estimates |
| Upside Case | Above-guidance growth, margin expansion |
| Downside Case | Below-trend growth, margin compression |
Key Drivers to Sensitize: Revenue growth, Gross margin, SG&A %, DSO/DIO/DPO, CapEx %, Interest rate, Tax rate.
Scenario Audit Checks: Toggle switches all statements, BS balances in all scenarios, Cash ties out, Hierarchy holds (Upside > Base > Downside for NI, EBITDA, FCF, margins).
SEC Filings Data Extraction
If the template specifically requires pulling data from SEC filings (10-K, 10-Q), see [references/sec-filings.md](references/sec-filings.md) for detailed extraction guidance. This reference is only needed when populating templates with public company data from regulatory filings.
Completing Model Templates
This section provides general guidance for completing a
… (full content is in the download package)
Related skills
- 2slides-ppt-generator – AI-powered presentation generation via the 2slides API — create slides from text, match…
- antinet-doc-parse – 软件开发工程师与数据科学家在构建RAG系统时,当需处理PDF/Word/Excel等多格式复杂文档,用此技能可自动触发三级解析降级,一键输出高置信度结构化Markdown与元数据…
- baoyu-danger-x-to-markdown – Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses…
- baoyu-format-markdown – Formats plain text or markdown files with frontmatter, titles, summaries, headings…
- law-to-markdown – 律师助理与法律助手在处理繁杂法条时,当需要将 PDF/Word/TXT 格式的法律规范文件转为结构化 Markdown 时适用。自动完成 OCR…
- documentation-and-adrs – Records decisions and documentation. Use when you need to document an architecture…
- baoyu-markdown-to-html – Converts Markdown to styled HTML with WeChat-compatible themes. Supports code…
- paperjsx – Generate PPTX presentations, DOCX documents, XLSX spreadsheets, and PDF reports from…