Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add terrylica/cc-skills/plugin install doc-toolsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/terrylica/cc-skills/academic-pdf-to-gfm)<a href="https://agentmods.dev/skills/terrylica/cc-skills/academic-pdf-to-gfm"><img src="https://agentmods.dev/badge/skills/terrylica/cc-skills/academic-pdf-to-gfm/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/terrylica/cc-skills/academic-pdf-to-gfm"><img src="https://agentmods.dev/badge/skills/terrylica/cc-skills/academic-pdf-to-gfm.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00035 | $0.07224 |
| Opus 5 | $0.00017 | $0.03612 |
| Sonnet 5 | $0.00007 | $0.01445 |
| Haiku 4.5 | $0.00003 | $0.00722 |
Grade A, and why
academic-pdf-to-gfm scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 537 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Academic PDF → GitHub GFM Conversion
A battle-tested workflow for converting academic/research PDF papers into GitHub-renderable GFM markdown with inline figures, mathematically correct LaTeX, and validated output.
Battle-tested on: López de Prado (2026) "How to Use the Sharpe Ratio" — 51 pages, 82 equations, 8 figures.
Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
Quick Start — Per-Page Routing Workflow
Do NOT try to apply a single extraction method to the entire PDF. Modern academic papers mix text, tables, and figures; route each page individually.
Step 1: Render all pages at 300 DPI
# Generate PNG for every page at 300 DPI
uv run --python 3.14 --with pymupdf python3 << 'EOF'
import fitz, os
doc = fitz.open('paper.pdf')
os.makedirs("pages", exist_ok=True)
for i in range(len(doc)):
pix = doc[i].get_pixmap(matrix=fitz.Matrix(300/72, 300/72), alpha=False)
pix.save(f"pages/page{i:04d}.png")
print(f"Page {i}: {pix.width}×{pix.height}")
EOF
Step 2: Detect page type for each page
# Locate the Unlimited-OCR script. If installed via marketplace, it will be in the cc-skills plugin directory.
# If running from the cc-skills repo directly:
S=${S:-~/eon/cc-skills/plugins/unlimited-ocr/scripts/unlimited_ocr.py}
# For each page, run Unlimited-OCR and inspect the <|det|> markers
for img in pages/page*.png; do
echo "=== $(basename $img) ==="
uv run --no-project $S parse --input "$img" --collapse-math-spacing --quiet 2>&1 | \
grep "<|det|>" | cut -d'>' -f2 | cut -d' ' -f1 | sort | uniq -c
done
Step 3: Route each page
Based on the detected <|det|> markers:
| Detected | Route to | Command |
|---|---|---|
text only (no equation, image, chart) |
pymupdf4llm or pdftotext | See Tool Comparison below |
equation or table present |
Unlimited-OCR (with --table-format pipe) |
uv run --no-project $S parse --input page.png |
image or chart present |
Segment + describe | Use unlimited-ocr-segment-figure skill + vision model |
Mixed (table + image) |
Unlimited-OCR for table + segment for images | Split the output, route images separately |
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 537 lines · 35 tokens per session scan A 04320d55ce38
academic-pdf-to-gfm is a skill published in the GitHub repository terrylica/cc-skills (73 stars, last pushed today), licensed MIT. It adds 35 tokens to every session and 7,224 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
document-skills
Professional document creation, editing, and analysis for Office formats (docx, pdf, pptx, xlsx). Use when working with Word documents, PDFs, PowerPoint presentations, or Excel spreadsheets.
nano-pdf
Extract text and metadata from PDF files using pdftotext and poppler-utils. Supports full extraction, page ranges, and structured output.
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
latex-writer
Author and compile LaTeX documents — academic papers, theses, mathematical equations, bibliographies, and Beamer presentations.
hive.pdf
Read, write, merge, split, rotate, watermark, encrypt, and OCR PDF files using Python (pypdf, pdfplumber, reportlab, pypdfium2) and command-line tools (poppler-utils, qpdf). Use when the user asks to extract text/tables/images from a PDF, create or modify a PDF, combine or split PDFs, OCR a scanned PDF…
epd-parser
Extract GWP, life-cycle stages, certifications, and impact metrics from an EPD PDF. Use when given a declaration to parse; not to find or compare EPDs.