← ClaudeAtlas

data-extractlisted

Get STRUCTURED data OUT of documents — PDFs (incl. multi-table/scanned via local OCR), Word, PowerPoint (.pptx), and Outlook .msg — into a clean .xlsx plus an audit report. Use when the user wants to "extract data from this PDF/document", "pull the table out of this report", "get the figures from these statements/certificates", "turn these confirmations into a table", "read the fields off this form", or "extract these line items". Two modes: key-value/FORM extraction (label → value, one record per document — certificates, confirmations, cover sheets) and TABLE extraction (list a document's tables, pick one, pull it). Intent-first; normalises via the shared engine (dates → DD MMM YYYY, currency → amount + code) and flags anything unfound or uncertain — never invents values. Extraction is computed locally (local OCR only). NOT for already-tabular data (use data-tidy) or deal-document intelligence like lease abstraction/model review (out of scope).
moonlight-lupin/data-toolkit · ★ 0 · Data & Documents · score 72
Install: claude install-skill moonlight-lupin/data-toolkit
# Data Extract Pull structured data **out of documents** and into a clean `.xlsx` + an audit report. The counterpart to `data-tidy`: **tidy** cleans data that's already roughly tabular; **extract** locates and pulls data from document-shaped sources (forms, multi-table PDFs, scans). Both share one engine, so extracted data is normalised and reported the same way. > **Self-sufficient & local engine.** No other toolkit needed. All processing — including OCR — > happens on your machine: no cloud OCR, no external APIs, no third-party uploads. Note the AI > agent driving the skill does send whatever it reads into its context to your AI provider; > "never leaves the machine" is not claimed. See `../../PRINCIPLES.md#data-handling--pii-policy`. > > **Shared engine.** The cleanup primitives live at the plugin-root `scripts/` > (`dataclean.py`, `ingest.py`); this skill's `scripts/extract.py` adds them to the path. ## Which mode? | You have… | Mode | Use | |---|---|---| | a **form / certificate / confirmation** (label: value) | **fields** | `extract_fields` → one record per doc | | a **document with one or more tables** | **table** | `list_tables` → `get_table` → the rows | | **many documents, same shape** (e.g. 30 confirmations) | **fields, batched** | one record each → `fields_to_table` → one `.xlsx` | ## Workflow ### 0 — Intent (ask up front) What's the document, and **which fields / which table** do you want out? For forms, the **field list** (name + the labels to look for + t