PluginBench
Skill
Official
Pass
Audit score 90

audit-xls

anthropics/financial-services

Audit spreadsheet formulas and financial-model integrity in seconds.

What is audit-xls?

Detects formula errors, hardcodes, and structural mistakes in Excel. For financial models, runs deep integrity checks: balance-sheet balance, cash tie-out, rollforward logic, and model-type-specific bugs (DCF, LBO, merger, 3-statement). Use when QA-ing before client delivery or debugging a model that won't balance.

  • Scans for formula errors (#REF!, #VALUE!, #DIV/0!, etc.) and broken cross-sheet links
  • Flags hardcodes inside formulas, inconsistent patterns, and off-by-one ranges
  • Checks balance-sheet balance, cash tie-out, and rollforward integrity
  • Validates DCF discount rates, LBO debt mechanics, and merger accretion logic
  • Identifies hidden rows, circular references, and unit/scale mismatches
  • Reports findings with severity (critical/warning/info) and suggested fixes

How to install audit-xls

npx skills add https://github.com/anthropics/financial-services --skill audit-xls
Claude Code
Cursor
Windsurf
Cline

How to use audit-xls

  1. 1.Trigger the skill by saying 'audit this sheet', 'check my formulas', 'debug model', or 'model won't balance'
  2. 2.Specify your audit scope: selection (current range), sheet (active sheet only), or model (full workbook with integrity checks)
  3. 3.Review the findings table showing sheet, cell, severity, category, issue, and suggested fix
  4. 4.Ask the skill to fix any critical or warning items, or make changes yourself

Use cases

Good for
  • QA a 3-statement or DCF model before sending to investors or IC
  • Debug why a balance sheet won't balance or cash doesn't tie out
  • Audit an LBO model for debt paydown and PIK mechanics before closing
  • Spot hardcoded assumptions buried in formulas that should be inputs
  • Validate a merger model's accretion/dilution and purchase-price allocation
Who it's for
  • Financial analysts and modelers
  • Investment bankers and PE professionals
  • CFOs and controllers reviewing financial models
  • Anyone auditing spreadsheets for accuracy before client delivery

audit-xls FAQ

What's the difference between 'sheet' and 'model' scope?

'Sheet' audits formulas and data on the active sheet only. 'Model' audits the entire workbook and runs financial-integrity checks: balance-sheet balance, cash tie-out, rollforward logic, and model-type-specific bugs (DCF, LBO, merger, 3-statement).

Will it fix errors automatically?

No — the skill reports findings first with severity and suggested fixes. You decide what to change; it won't modify anything without your approval.

What model types does it support?

DCF, LBO, 3-statement, merger models, and comps. It identifies model type and runs type-specific checks (e.g., debt paydown mechanics for LBO, accretion/dilution for merger).

Can it audit VBA macros?

No — it audits formulas only. If your model uses VBA-driven calculations, those will be noted as non-auditable.

What if the balance sheet doesn't balance?

The skill quantifies the gap per period and traces where the imbalance breaks. This is the highest priority — everything downstream is suspect until BS balances.

Full instructions (SKILL.md)

Source of truth, from anthropics/financial-services.


name: audit-xls description: Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on "audit this sheet", "check my formulas", "find formula errors", "QA this spreadsheet", "sanity check this", "debug model", "model check", "model won't balance", "something's off in my model", "model review".

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:

CheckWhat 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 formulasA formula that breaks the pattern of its neighbors in a row/column
Off-by-one rangesSUM/AVERAGE that misses the first or last row
Pasted-over formulasCell that looks like a formula but is actually a hardcoded value
Circular referencesIntentional or accidental
Broken cross-sheet linksReferences to cells that moved or were deleted
Unit/scale mismatchesThousands mixed with millions, % stored as whole numbers
Hidden rows/tabsCould 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

CheckWhat to look for
Input/formula separationAre inputs clearly separated from calculations?
Color conventionBlue=input, black=formula, green=link — or whatever the model uses, applied consistently?
Tab flowLogical order (Assumptions → IS → BS → CF → Valuation)?
Date headersConsistent across all tabs?
UnitsConsistent (thousands vs millions vs actuals)?

3b. Balance Sheet

CheckTest
BS balancesTotal Assets = Total Liabilities + Equity (every period)
RE rollforwardPrior RE + Net Income − Dividends = Current RE
Goodwill/intangiblesFlow 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

CheckTest
Cash tie-outCF Ending Cash = BS Cash (every period)
CF sumsCFO + CFI + CFF = Δ Cash
D&A matchD&A on CF = D&A on IS
CapEx matchCapEx on CF matches PP&E rollforward on BS
WC changesSigns match BS movements (ΔAR, ΔAP, ΔInventory)

3d. Income Statement

CheckTest
Revenue buildTies to segment/product detail
TaxTax expense = Pre-tax income × tax rate (allow for deferred tax adj)
Share countTies 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

CheckFlag if
Growth rates>100% revenue growth without explanation
MarginsOutside industry norms
Terminal value dominanceTV > ~75% of DCF EV (yellow flag)
Hockey-stickProjections ramp unrealistically in out-years
CompoundingEBITDA compounds to absurd $ by Year 10
Edge casesModel 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:

#SheetCell/RangeSeverityCategoryIssueSuggested 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