model-auditlisted
Install: claude install-skill Lukehle/closeloop
# Model audit
Spreadsheet errors are not rare and they are not random. Decades of field audits put the rate of
material errors in operational spreadsheets high enough that "assume defects until proven otherwise"
is the correct default. The defects also cluster into a small taxonomy, which means most of them are
mechanically detectable.
**Order of operations: machine first, human second.** Run the deterministic checks before reading
any formulas. Reasoning about a model you have not mechanically scanned wastes the expensive pass on
things a script finds for free — and misses the ones you would never notice by eye.
---
## Step 1 — Mechanical scan
```bash
python scripts/audit_workbook.py path/to/model.xlsx > audit.json 2>audit.err; status=$?
echo "exit=$status"; head -5 audit.err
```
Capture the exit code. Exit `0` = clean, `1` = findings, `2` = could not read the file. Per
`tie-out`, never pipe this into a filter that swallows the status.
The script reports, per sheet:
| Check | Defect it catches |
|---|---|
| `hardcode_in_formula_row` | A typed constant sitting in a row that is otherwise formulas — the single most common material defect |
| `inconsistent_row_formula` | One cell in a row whose formula structure differs from its neighbours |
| `error_values` | `#REF!`, `#VALUE!`, `#DIV/0!`, `#N/A`, `#NAME?`, `#NUM!`, `#NULL!` |
| `external_link` | Formulas pointing at other workbooks — a silent staleness source |
| `cross_sheet_density` | Sheets with unusually heavy cros