Spreadsheet modelling rules
Rules for building or editing spreadsheets, covering separate inputs, calculations and outputs, no hard-coded numbers, consistent units, checks and a notes tab. Load for spreadsheet work.
When you build, extend or edit a spreadsheet, workbook or spreadsheet formula:
Structure
- Keep inputs, calculations and outputs apart: separate sheets for anything beyond a one-off calculation, or at least clearly labelled blocks on one sheet. Inputs are entered once and referenced everywhere else; outputs only reference calculations.
- Add a Notes (or Cover) sheet that states the purpose, the author or owner, the date or version, how to use the file, the source of every input and every important assumption.
- Lay calculations out to read left to right and top to bottom, with one time axis shared by every time-based sheet (one column per period, same columns on every sheet).
- Store data as one flat table per entity: one header row, one record per row, no merged cells, no blank rows inside the data, no subtotals mixed into raw data, and no separate tab per month when a date column would do.
Formulas
- Never type a number inside a formula except 0, 1, and fixed unit conversions such as 12 months, 7 days or 100 for percentages. Every rate, price, threshold or assumption goes in an input cell with a label and unit, preferably as a named range (for example
inp_vat_rate). - Use one formula per row (or per column) and copy it across the whole range unchanged. If a period needs a different calculation, drive it with a flag row (1 or 0) rather than a different formula.
- Prefer simple, readable formulas: helper columns or
LETover deep nesting,SUMIFS,XLOOKUPorINDEX/MATCHoverVLOOKUPwith a hard-coded column number, exact-match lookups unless an approximate match is deliberate and documented. - Reference whole tables, structured references or named ranges instead of fixed ranges that stop short of the data.
- Avoid volatile and fragile functions (
INDIRECT,OFFSET, whole-column array formulas over large sheets) unless there is no reasonable alternative, and say why when you use them. - Never use
IFERRORto hide errors you have not understood; handle the specific expected case (for example a missing lookup key) and let unexpected errors show. - Avoid circular references. If one is genuinely needed (for example interest on an average balance), isolate it, add an on/off switch and document it on the Notes sheet.
Units and formats
- Put the unit in every label or header (currency, thousands, %, per month, per year) and keep one unit per row or column. Convert explicitly in a labelled step rather than inside another formula.
- Keep rates and periods consistent: never mix monthly and annual rates without a visible conversion.
- Store dates as real dates and numbers as numbers, never as text.
- Format inputs so they are visibly different from calculations (for example a fill colour), but never let colour be the only signal: label input cells too.
Checks
- Add checks wherever numbers must agree: totals across and down, balance sheet balancing, sums of parts equal to the whole, row counts before and after a transformation, and opening plus flows equals closing.
- Each check returns a difference that should be 0 (with a small tolerance for rounding), and a master check cell on the Notes or output sheet shows OK or ERROR.
- Add sign and range checks where they protect the answer (no negative stock, probabilities between 0 and 1).
Working with an existing file
- Follow the conventions already in the file unless they break these rules; when they do, point it out and ask before restructuring someone else's workbook.
- Do not delete or overwrite data, sheets or formulas you were not asked to change. Suggest keeping a copy before any bulk edit.
- When you give a formula, say which cell it goes in, whether to fill it down or across, and one quick way to verify it.
- Never invent input values. Mark unknown inputs as needed, and label any illustrative value as a placeholder.
details
- kind
- Rule: standing instructions for everything the assistant does
- domain
- Data analysis
- category
- Spreadsheets
- level
- Intermediate
- made for
- Data analyst, Business analyst, Financial analyst, Operations
- risk
- read-only
- version
- v1.0.1 · incubating
- reviewed
- 2026-10-02
- works in
- Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai
use in
npx @hermes-hq/hodios install spreadsheet-modeling-rules --target claude-codenpx skills add hermes-hq/hodios-dist --skill spreadsheet-modeling-rules -a claude-codeRules are always-on instructions, so they are not in the plugins: add the skill, or paste the text into CLAUDE.md.
pairs well with
All of SpreadsheetsDesign a spreadsheet model
Designs a spreadsheet model for a business calculation with separate inputs, calculations, outputs, checks and named ranges. Use before building a pricing, capacity or unit-economics model.
design-spreadsheet-modelAudit a spreadsheet model
Audits a spreadsheet model for hard-coded values, broken ranges, inconsistent formulas, circularity, unit mistakes and missing checks, ranked by impact. Use before relying on someone else's sheet.
audit-spreadsheet-modelWrite a spreadsheet formula
Builds an Excel or Google Sheets formula from a plain-language goal and the sheet layout, explains how it works and flags edge cases. Use when you know the result you want but not the formula.
write-spreadsheet-formulaSpreadsheet expert
Spreadsheet expert who builds clean, auditable Excel and Google Sheets workbooks, prefers simple formulas over clever ones and explains each step. Use as a standing spreadsheet helper.
spreadsheet-expertExtract tables from a PDF
Extracts tables from PDF or scanned text into clean CSV, Markdown or JSON, keeps values exactly as printed, flags likely OCR errors and validates totals against the source. Use before analysis.
extract-tables-from-pdfRun a what-if analysis
Builds a scenario and sensitivity analysis for a decision (best, base and worst cases, a tornado chart and breakevens) as a spreadsheet layout with exact formulas. Use before committing to a plan.
run-what-if-analysis