| name | pdf-to-expert-report |
| description | Transforms a research paper PDF into a comprehensive, visually-rich expert report by extracting ALL content (text, figures, diagrams, tables, equations, algorithms) using parallel vision agents, then synthesizing into a structured report optimized for PhD-level readers who lack domain expertise but are eager to master the paper in one reading.
Trigger this skill whenever a user: - Provides any .pdf file path and wants to understand, analyze, summarize, or report on it - Says "read this paper", "explain this PDF", "brief me on this research", "create a report
from this paper", "help me understand this", "master this paper", "extract knowledge from"
- Wants deep understanding of academic or technical content from a PDF - Asks "what does this paper say about X" or "what are the key findings in this PDF" - Provides a PDF and asks ANY analytical or comprehension question about its content
Always invoke this skill proactively โ even for "quick summaries", the parallel extraction approach catches visual content (diagrams, charts) that plain text extraction misses. This skill is the right choice any time a PDF is involved and understanding is the goal.
|
PDF to Expert Report
A lossless, visually-aware pipeline that turns any research paper PDF into a report designed
to let a PhD reader in ANY field master the paper in one sitting. Built on the insight that
research papers communicate critical information through diagrams, charts, and figures โ not
just text โ this skill uses vision-capable agents to see the full rendered page.
Overview of the Pipeline
PDF
โ
โโ Step 0: Render pages to PNG (PyMuPDF, 120 DPI)
โ โ preserves all visual content
โ
โโ Step 1: Read first 4 pages โ identify paper, structure, scope
โ
โโ Step 2: Launch N parallel extraction agents (one per ~20 pages)
โ โ each agent sees and describes ALL content on their pages
โ โ each agent writes extract_pages_NNN_MMM.md
โ
โโ Step 3: Read all extractions โ write comprehensive report
REPORT_<title>.md
Step 0: Setup and Rendering
Check dependencies
python -c "import fitz; print('PyMuPDF ok')" 2>&1
Render all pages to PNG
Run the bundled render script:
python "<skill_dir>/scripts/render_pdf.py" --input "<pdf_path>" --output "<pdf_dir>/pdf_pages/"
This creates numbered files: page_001.png, page_002.png, โฆ in pdf_pages/.
Use --dpi 150 if the paper has small text, dense tables, or intricate diagrams.
The script also prints the total page count โ use this to plan agent batches.
Step 1: Orient with First Pages
Read page_001.png through page_004.png using the Read tool. Note:
- Full title, authors, institution, venue/year
- Abstract โ the paper's own one-paragraph summary of contributions
- Table of contents / section structure (if present)
This briefing is essential for writing better agent prompts in Step 2.
Step 2: Parallel Extraction Agents
Batch size
| Pages | Agents | Batch size |
|---|
| 1โ30 | 2 | ~15 pages |
| 31โ60 | 3 | ~20 pages |
| 61โ100 | 5 | ~20 pages |
| 101โ200 | 8โ10 | ~20 pages |
Output files
Each agent writes to: <pdf_dir>/extract_pages_NNN_MMM.md
Agent prompt template
Read references/extraction-prompt.md for the full template.
Substitute into the template:
{PAPER_TITLE} โ full title from Step 1
{ABSTRACT_SNIPPET} โ first 2โ3 sentences of abstract
{START_PAGE}, {END_PAGE} โ agent's page range
{PNG_FILE_LIST} โ full absolute paths, one per line
{OUTPUT_FILE} โ absolute path to extraction output file
Launch ALL agents in a single message
Use multiple Agent tool calls in one response so they run truly in parallel.
Do NOT launch agents one at a time โ the whole point is parallel execution.
While agents run
- Sketch the report skeleton (Background, Problem sections) using the abstract
- Check
references/report-guide.md to internalize the full report structure
Step 3: Synthesize the Report
Read all extract_pages_*.md files, then write the full report in one pass.
Output path
<pdf_dir>/REPORT_<slug>.md where slug = paper title lowercased, spaces โ underscores
Report requirements โ non-negotiable
These are the properties that make the report useful to a domain-outsider PhD:
-
Generous background โ build the reader's mental model from scratch. Assume PhD
intelligence but zero domain vocabulary. Use analogies to familiar concepts.
-
Visual structure โ no section longer than 3 paragraphs without a list, table, ASCII
diagram, or callout box. Walls of text fail the reader.
-
Every figure interpreted โ do not just mention "Figure 3 shows the architecture."
Describe what is in the figure AND what insight it conveys AND what claim it supports.
-
Numbers in context โ "49% accuracy" means nothing. Say "49% โ vs. 34% prior best,
meaning this system correctly handles 45% more cases than the previous leader."
-
Claim-evidence pairing โ every major claim must be followed by the evidence
(experimental result, proof, ablation) that supports it.
-
Actionable implications โ end with concrete takeaways: what should a practitioner,
researcher, or decision-maker DO differently after reading this paper?
-
Honest limitations โ what does the paper NOT show? What assumptions could break?
Follow references/report-guide.md for the exact section template.
Final Checklist
Before reporting done:
References
references/extraction-prompt.md โ Full extraction agent prompt (copy and customize)
references/report-guide.md โ Complete report section template with guidance
scripts/render_pdf.py โ Cross-platform PDF-to-PNG renderer