SKILL.md
Audit Spreadsheet
Audit formulas and data for accuracy and mistakes. Scope determines depth — from quick formula checks on a selection up to full financial-model integrity audits.
Step 1: Determine scope
If the user already gave a scope, use it. Otherwise ask them:
What scope do you want me to audit?
- selection — just the currently selected range
- sheet — the current active sheet only
- model — the whole workbook, including financial-model integrity checks (BS balance, cash tie-out, roll-forwards, logic sanity)
The model scope is the deepest — use it for DCF, LBO, 3-statement, merger, comps, or any integrated financial model before sending to a client or IC.
Step 2: Formula-level checks (ALL scopes)
Run these regardless of scope:
Check
What to look for
Formula errors
#REF!, #VALUE!, #N/A, #DIV/0!, #NAME?
Hardcodes inside formulas
=A1*1.05 — the 1.05 should be a cell reference
Inconsistent formulas
A formula that breaks the pattern of its neighbors in a row/column
Off-by-one ranges
SUM/AVERAGE that misses the first or last row
Pasted-over formulas
Cell that looks like a formula but is actually a hardcoded value
Circular references
Intentional or accidental
Broken cross-sheet links
References to cells that moved or were deleted
Unit/scale mismatches
Thousands mixed with millions, % stored as whole numbers
Hidden rows/tabs
Could contain overrides or stale calculations
Step 3: Model-integrity checks (MODEL scope only)
If scope is model, identify the model type (DCF / LBO / 3-statement / merger / comps / custom) and run the appropriate integrity checks below.
3a. Structural review
Check
What to look for
Input/formula separation
Are inputs clearly separated from calculations?
Color convention
Blue=input, black=formula, green=link — or whatever the model uses, applied consistently?
Tab flow
Logical order (Assumptions → IS → BS → CF → Valuation)?
Date headers
Consistent across all tabs?
Units
Consistent (thousands vs millions vs actuals)?
3b. Balance Sheet
Check
Test
BS balances
Total Assets = Total Liabilities + Equity (every period)
RE rollforward
Prior RE + Net Income − Dividends = Current RE
Goodwill/intangibles
Flow from acquisition assumptions (if M&A)
If BS doesn't balance, quantify the gap per period and trace where it breaks — nothing else matters until this is fixed.
3c. Cash Flow Statement
Check
Test
Cash tie-out
CF Ending Cash = BS Cash (every period)
CF sums
CFO + CFI + CFF = Δ Cash
D&A match
D&A on CF = D&A on IS
CapEx match
CapEx on CF matches PP&E rollforward on BS
WC changes
Signs match BS movements (ΔAR, ΔAP, ΔInventory)
3d. Income Statement
Check
Test
Revenue build
Ties to segment/product detail
Tax
Tax expense = Pre-tax income × tax rate (allow for deferred tax adj)
Share count
Ties to dilution schedule (options, converts, buybacks)
3e. Circular references
- Interest → debt balance → cash → interest is a common intentional circ in LBO/3-stmt models
- If intentional: verify iteration toggle exists and works
- If unintentional: trace the loop and flag how to break it
3f. Logic & reasonableness
Check
Flag if
Growth rates
>100% revenue growth without explanation
Margins
Outside industry norms
Terminal value dominance
TV > ~75% of DCF EV (yellow flag)
Hockey-stick
Projections ramp unrealistically in out-years
Compounding
EBITDA compounds to absurd $ by Year 10
Edge cases
Model breaks at 0% or negative growth, negative EBITDA, leverage goes negative
3g. Model-type-specific bugs
DCF:
- Discount rate applied to wrong period (mid-year vs end-of-year)
- Terminal value not discounted back
- WACC uses book values instead of market values
- FCF includes interest expense (should be unlevered)
- Tax shield double-counted
LBO:
- Debt paydown doesn't match cash sweep mechanics
- PIK interest not accruing to principal
- Management rollover not reflected in returns
- Exit multiple applied to wrong EBITDA (LTM vs NTM)
- Fees/expenses not deducted from Day 1 equity
Merger:
- Accretion/dilution uses wrong share count (pre- vs post-deal)
- Synergies not phased in
- Purchase price allocation doesn't balance
- Foregone interest on cash not included
- Transaction fees not in sources & uses
3-statement:
- Working capital changes have wrong sign
- Depreciation doesn't match PP&E schedule
- Debt maturity schedule doesn't match principal payments
- Dividends exceed net income without explanation
Step 4: Report
Output a findings table:
#
Sheet
Cell/Range
Severity
Category
Issue
Suggested Fix
Severity:
- Critical — wrong output (BS doesn't balance, formula broken, cash doesn't tie)
- Warning — risky (hardcodes, inconsistent formulas, edge-case failures)
- Info — style/best-practice (color coding, layout, naming)
For model scope, prepend a summary line:
Model type: [DCF/LBO/3-stmt/...] — Overall: [Clean / Minor Issues / Major Issues] — [N] critical, [N] warnings, [N] info
Don't change anything without asking — report first, fix on request.
Notes
- BS balance first — if it doesn't balance, everything downstream is suspect
- Hardcoded overrides are the #1 source of silent bugs — search aggressively
- Sign convention errors (positive vs negative for cash outflows) are extremely common
- If the model uses VBA macros, note any macro-driven calculations that can't be audited from formulas alone