Install any skill in seconds. Free to start, no credit card required.
Get Started Free →archive228/pdf-ingestion
Get a PDF into the model without blowing the context window or losing structure. Native PDF beats OCR-then-text for most cases; extract-then-summarize beats native for very long docs.
Passed 23 of 25 test cases with the skill, and 14 of 25 without it.
and 11 more in the full report
9 fixed14 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
We have a 50-page technical report containing a mix of prose, tables, and charts. Context limits are somewhat constrained. Which ingestion path should be chosen, and what adjustment should be made if context becomes tight?
| Checked | Without skill | With skill |
|---|---|---|
| Recommends native PDF input as the primary path. | Missed | Passed |
| Recommends chunking the native input if context limits become tight. | Missed | Passed |
The instructions your model reads when the skill loads.
Three ways to feed a PDF to the model, in increasing order of preprocessing:
Native PDF input — pass the file directly. Model sees pages as images + extracted text. Best for docs under ~100 pages with meaningful layout (tables, figures, forms). Preserves structure.
Text extraction then send — pdftotext / pypdf / equivalent, then send the text. Loses layout but cheap. Fine for prose-heavy docs where tables don't matter.
Extract → chunk → summarize → send — for docs >100 pages or when you'll query the same doc many times. Preprocess once, cache the summary.
| Doc shape | Path |
|---|---|
| <20 pages, layout matters (report, form, invoice) | Native |
| <20 pages, pure prose (article, memo) | Text extraction |
| 20-100 pages, mixed | Native, but chunk if context tight |
| >100 pages | Extract → chunk → summarize |
| Scanned PDF (no text layer) | OCR first (Tesseract or vision model), then treat as extracted text |
| Tables are the point | Native — text extractors mangle tables |
| Figures/diagrams are the point | Native + explicit "describe the figure on page N" prompt |
prompt-caching). Native PDFs are large — every uncached turn costs full input price on the whole doc.pdftotext reading order. Multi-column PDFs come out as interleaved lines. Use pdftotext -layout for column preservation, or pdftotext -raw for straight reading order — pick per doc, don't guess.test cases passed, vs 14 / 25 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.