hermes

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 LET over deep nesting, SUMIFS, XLOOKUP or INDEX/MATCH over VLOOKUP with 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 IFERROR to 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

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install spreadsheet-modeling-rules --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill spreadsheet-modeling-rules -a claude-code

Rules 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 Spreadsheets
PromptSpreadsheets

Design 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-model
PromptSpreadsheets

Audit 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-model
PromptSpreadsheets

Write 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-formula
PersonaSpreadsheets

Spreadsheet 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-expert
PromptSpreadsheets

Clean a messy spreadsheet

Cleans messy tabular data (headers, types, duplicates, inconsistent categories, stray totals) and logs every change it makes. Use before analysing an export or a hand-maintained sheet.

clean-messy-spreadsheet
PromptSpreadsheets

Build a pivot analysis

Designs a pivot table that answers one specific business question and gives exact click-by-click setup steps for Excel or Google Sheets. Use when you have a flat table and a question about it.

build-pivot-analysis