Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/nobodyohm-web/thot/3-statement-modelnpx skills add nobodyohm-web/Thot --skill 3-statement-modelgit clone --depth 1 https://github.com/nobodyohm-web/ThotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nobodyohm-web/thot/3-statement-model)<a href="https://agentmods.dev/skills/nobodyohm-web/thot/3-statement-model"><img src="https://agentmods.dev/badge/skills/nobodyohm-web/thot/3-statement-model.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00018 | $0.04801 |
| Opus 5 | $0.00009 | $0.02400 |
| Sonnet 5 | $0.00004 | $0.00960 |
| Haiku 4.5 | $0.00002 | $0.00480 |
Grade A, and why
3-statement-model scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to 3-statement-model — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 434 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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:
- After mapping the template → show the user which tabs/sections you've identified and confirm before touching any cells
- After populating historicals → show the user the historical block and confirm values/periods match source data
- After building IS projections → run the subtotal checks, show the user the projected IS, confirm before moving to BS
- After building BS → show the user the balance check (Assets = L+E) for every period, confirm before moving to CF
- After building CF → show the user the cash tie-out (CF ending cash = BS cash), confirm before finalizing
- Do NOT populate the entire model end-to-end and present it complete — break at each statement, show the work, catch errors early
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 434 lines · 18 tokens per session scan A 2022e0ec2ef0
3-statement-model is a skill published in the GitHub repository nobodyohm-web/Thot (0 stars, last pushed 9d ago), licensed MIT. It adds 18 tokens to every session and 4,801 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to 3-statement-model, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
dcf-model
Build discounted cash flow valuation workbooks in Excel.
comps-analysis
Build comparable-company valuation workbooks in Excel.
lbo-model
Build leveraged buyout workbooks with IRR/MOIC in Excel.
x402
Set up Browser Use Cloud payments with x402 — pay per request from a crypto wallet (USDC on Base mainnet), no signup or API key. Two setups it works out up front — "just use it" (set up a wallet so you or Claude Code can run cloud browser tasks paid from the wallet — Claude writes and runs throwaway scripts, nothing…
excel-author
Build auditable financial workbooks headless via openpyxl.
pptx-author
Build PowerPoint decks headless with python-pptx.