extract-document-data
Extracts specific information from documents like invoices or contracts. It ensures extracted data is accurate and cites its source, preventing errors.
What it does
This tool extracts specific information from documents like payslips, invoices, or contracts. It organizes the data into a list format (JSON) and always indicates which page each piece of information came from, without inventing data that isn't there.
When to use it
- ✓Organizing invoice data for accounting.
- ✓Extracting information from contracts for analysis.
- ✓Converting receipts into an easy-to-use digital format.
Example of what to ask your AI
“Extract the employer name, net pay, and pay date from this payslip.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You send the document (like a PDF) and specify what information you want. The tool reads the document, finds the data, and returns a list with each piece of information and the page where it was found.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill extract-document-dataOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/extract-document-data/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Extract Document Data
Extract structured JSON from documents with per-value grounding: every extracted value cites where it came from (page number, confidence), and values that aren't clearly present are reported in not_found rather than hallucinated. Uses the Stipple API (free anonymous tier).
When to use
- Parsing payslips, invoices, bank statements, receipts, or contracts
- Converting unstructured documents to JSON for downstream systems
- Any extraction where hallucinated values are worse than missing values (lending, accounting, compliance)
Instructions
Get the document. URL or local file path (PDF, PNG, JPEG, DOCX).
Choose the extraction mode:
- Ad-hoc fields — tell the API exactly which fields you want:
curl -X POST https://www.stipple.sh/v1/extract \ -F "file=@payslip.pdf" \ -F 'fields=[{"name":"employer_name"},{"name":"net_pay"},{"name":"pay_date"}]' \ -H "Authorization: Bearer $STIPPLE_API_KEY" - Template — use a built-in schema:
payslip,tax_invoice,bank_statement,receipt,contract - Schema-free — omit
fieldsand let the model extract what it finds
- Ad-hoc fields — tell the API exactly which fields you want:
Interpret the response.
{ "mode": "schema_free", "document_type": "payslip", "pages_read": 1, "fields": { "employer_name": {"value": "Acme Cleaning Pty Ltd", "confidence": 0.95, "page": 1}, "net_pay": {"value": "2845.10", "confidence": 0.97, "page": 1} }, "not_found": ["ytd_tax"] }- Every value carries
confidence(the model's self-report) andpage(grounding) not_found[]lists requested fields the model couldn't find — absences are reported, never guessedpages_readshows how many pages were processed (page limits apply per document)
- Every value carries
Report honestly. This is extraction, not verification — values are what the document shows, not proof it's genuine:
- "Employer: Acme Cleaning Pty Ltd (confidence 0.95, page 1)"
- "ytd_tax: not found in document" — never "ytd_tax: 0" or a guess
- For "is this document genuine?", pair with the
verify-documentskill first
Output format
Payslip fields (grounded, not guessed):
Employer Acme Cleaning Pty Ltd (confidence 0.95, page 1)
Employee J. Citizen (confidence 0.98, page 1)
Net pay 2,845.10 (confidence 0.97, page 1)
Superannuation 268.20 (confidence 0.93, page 1)
not_found: ytd_tax
(absences are reported, never hallucinated)
Limitations and Safety
- Invoices, statements, payslips, and contracts often contain sensitive personal, financial, or commercial data. Obtain explicit approval before uploading them to a hosted third party, minimize the submitted content, and confirm current retention, residency, access, and deletion terms.
- Confidence and page grounding do not prove that an extracted value is correct or that the source document is authentic. Reconcile consequential values against the original document and authoritative systems before payment, lending, accounting, compliance, or legal action.
- Keep the original file and extraction response so a human reviewer can reproduce and correct disputed fields.
Notes
- Costs 1 credit per page read by the model (minimum 1); free weekly allowance applies
- Templates:
payslip,tax_invoice,bank_statement,receipt,contract— pass as thetemplateform field - Tables are extracted with structure preserved; multi-page documents are processed page by page
- Pairs with
verify-document(run first, for authenticity) — an extracted value from a tampered document is still wrong - Free key at https://www.stipple.sh for metering beyond the anonymous allowance
FAQ
What happens if the information isn't in the document?
The tool reports that the data was not found, instead of inventing a value.
Does this tool verify if the document is genuine?
No, it only extracts the information visible in the document. To verify authenticity, another tool is needed.
Can I extract data from any type of document?
It works best with documents like invoices, payslips, bank statements, receipts, and contracts. It may not work as well for other types.
Details
Original description by the author
Extract structured, grounded fields from documents — values cite their page, missing values abstain instead of hallucinating. Use for parsing invoices, payslips, statements, contracts.
Popularity
- GitHub stars
- 48k
- Ranking position
- #2967
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
data-scraper-agent
Helps your agent automatically collect data from any public source. It can be scheduled, enrich information, and save results. Useful for monitoring or tracking online data.
affaan-m/ECC
Apify Automation
Has your agent automatically collect data from the web using the Apify platform. It can run scraping tasks and extract information.
ComposioHQ/awesome-claude-skills
Firecrawl Automation
Helps your agent extract data from the web. It can scrape pages, crawl sites, and organize information.
ComposioHQ/awesome-claude-skills