Pdf to markdown
Use when research-paper analysis requires readable source or text that is not already available. Do not use for generic non-research PDFs.From its SKILL.md
npx -y skills add MoeenNehzati/famulus --skill pdf-to-markdownAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.7 KB, as published. Nobody here has run it
Generated from
blueprint.yaml. Do not edit this block by hand.
Catalog: research; topics: scholarly-documents; visibility: listed Activation: user-request, skill-workflow; persistent modifier: no
Skill Version: 2
Uses Interfaces:
pdf-to-markdown.source.gateway -> pdf-to-markdown._rtx.interface.scripts-check-marker-models@1pdf-to-markdown.source.gateway -> pdf-to-markdown._rtx.interface.scripts-fetch-arxiv-source@1
Public Interfaces:
pdf-to-markdown.interface.default
Generated from
blueprint.yaml. Do not edit this block by hand.
Instruction Interfaces:
These interfaces are documented prompt surfaces. They are not executed through dispatcher:
pdf-to-markdown.interface.default— Primary LLM-facing skill instructions.
PDF to Markdown
Overview
Convert a research paper to LLM-readable text. Prefer LaTeX source over PDF conversion — LaTeX preserves math, structure, and cross-references that PDF-to-text destroys.
Step 1 — Find LaTeX source (do this first)
Input required: paper title and authors. arXiv ID if known.
arXiv (check first — highest hit rate for CS/math/econ)
- No arXiv ID? Search
arxiv [title] [authors]via WebSearch to find one. - Run the
scripts-fetch-arxiv-sourceinterface with<arxiv-id> [<output-dir>].- Script downloads
arxiv.org/src/<id>, extracts, lists.texfiles found. - If arXiv returns HTML instead of a tarball, the paper has no source — move on.
- Script downloads
- Root file is usually
main.tex; if absent, scan for the file that\begin{document}. - Done — hand
.texfiles to the LLM.
If not on arXiv — check in order
- Author GitHub: WebSearch
"[title]" site:github.com— look for a repo with.texfiles - Author personal/institutional page: WebSearch
[title] [author] latex source - OpenReview (
openreview.net/search?term=[title]) — Attachments tab, look for source zip - ACL Anthology (
aclanthology.org) — NLP venues; links to arXiv preprint when one exists
If LaTeX source found anywhere: download, extract, done.
Step 2 — PDF fallback via marker_single
If no LaTeX source found, convert the PDF directly.
Before running: check whether models are cached using the scripts-check-marker-models interface.
If any models are missing, warn the user: "Running marker will download missing models (~3GB total to ~/.cache/datalab/models/). Proceed?" Do not run marker_single until confirmed.
Standard invocation (good typeset PDF, no extra cost):
marker_single paper.pdf --output_dir ./output --disable_image_extraction
Always specify --output_dir — the default buries output in the anaconda site-packages directory.
Math-heavy paper (ask user before using — slower, better equation/table output):
marker_single paper.pdf \
--output_dir ./output \
--disable_image_extraction \
--llm_service <configured-marker-llm-service> \
--use_llm \
--redo_inline_math \
--highres_image_dpi 300
Requires a configured Marker LLM backend, such as an Anthropic-backed Marker
service with ANTHROPIC_API_KEY in the environment or the matching API-key
flag. Uses the selected provider API (pay-per-token where applicable).
Other useful flags:
--page_range 0,5-10— convert specific pages only--output_format json— structured output instead of flat markdown--disable_ocr— skip OCR for faster conversion (safe if PDF has selectable text)