| Symptom | Fix |
|---|---|
| claude.ai does not show Upload a skill | Turn on code execution (Settings > Capabilities). |
| "pdfplumber is not installed" | pip install pdfplumber openpyxl (Claude's sandbox already has them). |
| A file is under "Skipped files: password-protected" | Open it with its password and save an unlocked copy, then run again. |
| "Check these pages: rows merged" | Several rows were read as one cell. Ask Claude to re-read that table visually and pass it back with --add-json, or copy it by hand. |
| "Check these pages: low coverage" | Numbers on that page are in no table. A table was missed; try --pages N --no-merge, or have Claude read the page. |
| "Check these pages: rotated page" | Columns may be in the wrong order. Compare with the PDF before using it. |
| Numbers stayed as text | Use the default mode (not --keep-text). Mixed decimal styles inside one column stay text on purpose. |
| A table split into pieces | Dense reports with two-line headers do this. Merge by hand, or use --no-merge to see every piece separately. |
| A Total check FAILs | Either the PDF's total is wrong or a row was misread. Compare that table with the PDF. |
FAQ
Is the extraction done by AI? No. A Python script extracts and checks. Claude runs it, checks the result and reads scanned pages.
Does it work on scanned PDFs? Scanned pages are listed. Claude reads them visually and the reading goes through the same checks. That AI reading is not measured by our tests.
Is it really free? Yes. If you work with invoices and receipts, the paid Invoice & Receipt Extractor is the next step (see README "What Pro adds").
Where do I get help? README.md and this file. There is no call, chat or email support. Fixes ship as new versions at your download link.