paper-siphon
Convert academic PDFs to clean Markdown. Use whenever you encounter a PDF paper (local file or URL) that needs to be read, analyzed, or referenced as text.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Convert academic PDFs to clean Markdown. Use whenever you encounter a PDF paper (local file or URL) that needs to be read, analyzed, or referenced as text.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Multi-agent review-and-improve loop for a GitHub PR you have checked out — posts a "starting" PR comment cc'ing the original author, runs requested rounds plus any adaptive continuation, applies fix commits to the local branch after each round, pushes everything back to the PR, then edits the starting comment in-place with the synthesized report (or a failure summary). Auto-detects the PR from the currently checked-out branch when no locator is supplied. Use when the user wants to "improve a PR", "review and commit fixes", "iterate on my PR", or "review and push back" against a checked-out PR branch. Requires `gh`, `uuidgen`, `jq`, and `uv` or `python3` on PATH. Activates the `review-anvil` engine in per_fix mode.
Read-only multi-agent review of a GitHub Pull Request, with the synthesized report posted back as a PR comment so the author is notified. Use when the user wants to review a GitHub PR (github.com or GitHub Enterprise) and post a structured review back to the PR conversation. Auto-detects the PR from the currently checked-out branch when no locator is supplied. Requires `gh`, `uuidgen`, `jq`, and `uv` or `python3` on PATH. Activates the `review-anvil` engine in read-only mode and orchestrates the shell helper for posting.
Multi-agent code review without any edits or commits — requested rounds of parallel reviewers, synthesis, default-on reproduction of uncertain material findings, and a final report. Use when the user wants a code review of a diff, branch, path, or PR but does NOT want any fixes applied automatically (no edits, no commits, no staging). Activates the `review-anvil` engine in read-only mode.
Iteratively refine code via requested rounds of parallel subagent review and orchestrator-applied fixes, with bounded adaptive continuation enabled by default for productive runs. Use when the user says "let's do three rounds", "fix/review loop", "back-and-forth review", "iterative review", or asks to harden a change with multiple rounds of codex/claude review.
Delegate code review, plan review, and exploration to Codex CLI. Use when you need an independent second opinion on code changes, plans, or architecture — or when asked to run codex review/exec.
Delegate code review, plan review, and exploration to Claude Code CLI. Use when you need an independent second opinion on code changes, plans, or architecture — or when asked to run claude review/exec.
| name | paper-siphon |
| description | Convert academic PDFs to clean Markdown. Use whenever you encounter a PDF paper (local file or URL) that needs to be read, analyzed, or referenced as text. |
Convert academic PDFs into clean Markdown using paper-siphon. Runs via uvx — no installation needed.
# Local PDF
uvx paper-siphon paper.pdf
# Remote PDF (e.g. arXiv)
uvx paper-siphon https://arxiv.org/pdf/1706.03762.pdf
# Custom output path
uvx paper-siphon paper.pdf -o paper-notes.md
By default, output is written to the same filename with a .md extension (e.g. paper.pdf → paper.md).
Paper Siphon has multiple extraction pipelines. Pick the right one based on the paper's complexity.
Best for: most papers — standard single/double-column text, simple tables, no heavy math.
uvx paper-siphon paper.pdf
This is the fastest option. It uses Docling to parse PDF structure, strips margin line numbers (common in journal proofs), and normalizes whitespace. Start here — it handles the majority of papers well.
--vlm)Best for: papers with complex layouts — multi-column figures interleaved with text, unusual formatting, scanned documents, or when the default pipeline produces garbled output.
uvx paper-siphon --vlm paper.pdf
This uses a vision-language model to interpret page images directly. It is significantly slower but handles visual complexity that pure text extraction misses. Use this when:
On Apple Silicon (M-series), this automatically uses MLX acceleration. To disable it:
uvx paper-siphon --vlm --no-mlx paper.pdf
To use the VLM pipeline with MLX dependencies explicitly included:
uvx --with 'paper-siphon[mlx]' paper-siphon --vlm paper.pdf
--enrich-formula)Best for: nudging the default pipeline's math when you want to stay on the fast text-extraction path.
uvx paper-siphon --enrich-formula paper.pdf
This post-processes the default pipeline's extracted math expressions for better fidelity. Warning: resource-intensive — only enable when the paper's math content is important for the task at hand.
For genuinely math-heavy papers, prefer --vlm. In our backend benchmark the default (Docling) pipeline frequently drops display equations (emitting formula-not-decoded), scoring far lower on math than the VLM backends, which read equations off the page image as LaTeX. --enrich-formula improves the default path but does not close that gap.
| Paper type | Command |
|---|---|
| Standard text-heavy paper | uvx paper-siphon paper.pdf |
| Complex layout / scanned PDF | uvx paper-siphon --vlm paper.pdf |
| Math-heavy paper | uvx paper-siphon --vlm paper.pdf |
| Math-heavy, staying on the fast path | uvx paper-siphon --enrich-formula paper.pdf |
Rule of thumb: try the default pipeline first. Escalate to --vlm if the output is garbled or incomplete, or if the paper is math-heavy — the default pipeline tends to drop display equations, and the VLM path reads them off the page far more reliably.
uvx paper-siphon [OPTIONS] INPUT
| Option | Description |
|---|---|
INPUT | Path to a local PDF file, or a URL pointing directly to a PDF |
-o, --output PATH | Custom output file path (default: input filename with .md extension) |
--vlm | Use vision-language model pipeline for complex layouts |
--mlx / --no-mlx | Enable/disable Apple Silicon MLX acceleration (default: enabled when available) |
--enrich-formula | Enrich mathematical expressions (resource-intensive) |
-v, --verbose | Enable detailed debug logging |
uvx paper-siphon ./downloads/paper.pdfuvx paper-siphon https://arxiv.org/pdf/1706.03762.pdfFor arXiv, use the /pdf/ URL (not /abs/). For example:
https://arxiv.org/pdf/1706.03762.pdfhttps://arxiv.org/abs/1706.03762uvx paper-siphon https://arxiv.org/pdf/1706.03762.pdf -o attention.md
for f in papers/*.pdf; do uvx paper-siphon "$f"; done
scholar-search skilluvx paper-siphon https://arxiv.org/pdf/<id>.pdf -o paper.md
Use this skill when: