Skip to content
Back to skills

Model Review

ASecurity

7-pass review of financial models — assumptions, mechanics, integrity (BS balances, CF reconciles), hardcodes, error-checks, scenarios, documentation. Used by `financial-modeler` (primary) and `valuation-analyst` for DCF integrity checks.

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentsgogitapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add mcorbett51090/RavenClaude --skill model-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Model Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Model Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-model-review/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-model-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: model-review
description: 7-pass review of financial models — assumptions, mechanics, integrity (BS balances, CF reconciles), hardcodes, error-checks, scenarios, documentation. Used by `financial-modeler` (primary) and `valuation-analyst` for DCF integrity checks.
---

# Skill: model-review

**Purpose:** 7-pass review pattern for financial models. Used by `financial-modeler` (primary) and `valuation-analyst` for DCF integrity checks.

## When to use

- Reviewing a model built by someone else before relying on it
- Pre-publication review of a model going to a board, lender, or external party
- Triaging a model that "doesn't tie" or produces unexpected results
- Periodic refresh check on a long-lived model

## The 7 passes (in order)

Don't skip ahead. Each pass depends on the prior ones being clean.

### Pass 1 — Assumptions

- Is there a dedicated Assumptions / Inputs tab?
- Are inputs color-coded (blue) and visually distinct from formulas (black) and links (green)?
- Does every load-bearing input have a documented source? (Cite: where, when, who.)
- Are inputs labeled with units (%, $, x, days)?
- Are growth-rate / margin / ratio assumptions reasonable vs. history?

**Pass fails if:** any load-bearing input has no source, OR inputs are scattered across multiple tabs.

### Pass 2 — Mechanics

- Do the three statements tie? (Net income flows to retained earnings; cash flow ties to BS cash; FCF reconciles.)
- Working capital mechanics: do DSO / DPO / DIO drivers produce the AR / AP / inventory balances they should?
- Debt schedule: principal amortization + interest expense + ending balance all tie?
- Tax: effective rate applied? Loss carryforward / NOL mechanics?
- Equity: share count + stock-comp + buybacks all reconciled?

**Pass fails if:** the three statements don't tie, OR any major mechanical relationship is broken.

### Pass 3 — Integrity checks

- Is there a balance-check row on the BS (= A − L − E, should equal 0)?
- Is there a cash tie-out (ending cash on BS = ending cash on CF)?
- Are there debug rows / consistency checks anywhere else (sum of segments = consolidated, etc.)?
- Are there any `#REF!`, `#NAME?`, `#DIV/0!`, `#VALUE!` errors in the model?

**Pass fails if:** any integrity check is missing or returns non-zero, OR any error value exists.

### Pass 4 — Hardcodes

- Are there hardcoded numbers buried inside formulas? (Search for digit patterns inside formulas — `*0.21`, `+12000`, `/365`.)
- Are there hardcoded dates that should be driven from a date schedule?
- Are there hardcoded sheet references that should use named ranges?

**Pass fails if:** any hardcode is material (drives the answer) and isn't justified.

### Pass 5 — Error-checks (IFERROR audit)

- Are there `IFERROR` wrappers masking actual errors?
- Are there `IF` statements that silently route bad data to a default?
- Are there `0` defaults where the right behavior is to fail visibly?

**Pass fails if:** any error-suppression wrapper hides a real bug.

### Pass 6 — Scenarios

- Is there a scenario switch? (A single input that drives the whole model's scenario.)
- Are there at least three scenarios (base / upside / downside)?
- Do all three actually flow through the model end-to-end?
- Is there a sensitivity table on the top 2-3 drivers (revenue growth, margin, WACC for DCF)?

**Pass fails if:** scenarios exist but don't actually switch the model, OR sensitivity tables are missing on a model going external.

### Pass 7 — Documentation

- Is there a Documentation / Cover tab?
- Does it state: version, last refresh date, owner, purpose, scope, key assumptions, known limitations?
- Are the tabs in a sensible order (Cover / Inputs / P&L / BS / CF / DCF / Outputs)?
- Are circular references either eliminated or documented (e.g., interest-on-cash-sweep)?
- Is the model self-explanatory to a new reader?

**Pass fails if:** there's no documentation tab, OR the model has undocumented circulars.

## The deliverable

After running all 7 passes, the review produces:

| Pass | Status (✅ / ⚠️ / 🔴) | Findings | Severity (P0 / P1 / P2) |
|---|---|---|---|

Plus:
- **Top 3 fixes** (the highest-leverage corrections)
- **Reasonableness check on key outputs** (do they pass the smell test?)
- **Recommendation** (use as-is / use with caveats / do not use)

## Severity guide

- **P0** — model produces a wrong answer; fix before use.
- **P1** — model is fragile / opaque, not currently wrong; fix before next refresh.
- **P2** — model is correct but improvable (documentation, polish, structure); fix during next major rebuild.

## See also

- Template: [`../../templates/model-documentation.md`](../../templates/model-documentation.md)
- Agent: [`../../agents/financial-modeler.md`](../../agents/financial-modeler.md)
- Agent: [`../../agents/valuation-analyst.md`](../../agents/valuation-analyst.md)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…