skills/43-wentorai-research-plugins/skills/tools/document/paper-parse-guide/SKILL.md
Deep dual-mode reading of academic papers from PDF or URL sources
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research paper-parse-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Perform structured, dual-mode deep reading of academic papers from PDF files or URLs. Mode A provides a rapid overview suitable for screening during literature reviews. Mode B delivers exhaustive section-by-section analysis for papers central to your research.
Reading academic papers efficiently is a core research skill, yet the density and conventions of scholarly writing make it time-consuming. A typical researcher reads dozens of papers per week during a literature review phase, requiring different levels of depth for different papers. Some need only a quick scan to determine relevance; others demand line-by-line scrutiny of methods and results.
This skill implements a dual-mode reading system. Mode A (Survey Mode) extracts key metadata, the main argument, methods summary, and key findings in under two minutes of processing time. Mode B (Deep Analysis Mode) performs exhaustive section-by-section analysis including methodology critique, statistical evaluation, figure interpretation, and connection to broader literature.
Both modes begin by parsing the paper's structure from its PDF or HTML source, extracting clean text with section boundaries, figures, tables, equations, and references. The parsing pipeline handles the common challenges of academic PDFs: two-column layouts, footnotes, headers/footers, embedded equations, and supplementary materials.
| Source | Method | Notes |
|--------|--------|-------|
| Local PDF | Direct file path | Best quality, no network needed |
| DOI | Resolve via CrossRef/Unpaywall | Auto-fetches open access version |
| arXiv ID | https://arxiv.org/pdf/{id} | Always available |
| URL | Direct download | May require institutional access |
| OpenAlex ID | OpenAlex API + OA link | Includes metadata |
from pathlib import Path
import fitz # PyMuPDF
def parse_paper(pdf_path: str) -> dict:
doc = fitz.open(pdf_path)
sections = []
current_section = {"title": "Header", "content": []}
for page in doc:
blocks = page.get_text("dict")["blocks"]
for block in blocks:
if block["type"] == 0: # Text block
for line in block["lines"]:
text = " ".join(span["text"] for span in line["spans"])
font_size = max(span["size"] for span in line["spans"])
is_bold = any("Bold" in span["font"] for span in line["spans"])
# Detect section headings
if font_size > 11 and is_bold:
if current_section["content"]:
sections.append(current_section)
current_section = {"title": text.strip(), "content": []}
else:
current_section["content"].append(text)
sections.append(current_section)
return {
"title": extract_title(doc),
"authors": extract_authors(doc),
"sections": sections,
"references": extract_references(doc),
"page_count": len(doc)
}
For higher-quality structural parsing, use GROBID (GeneRation Of BIbliographic Data):
# Start GROBID server
docker run --rm -p 8070:8070 lfoppiano/grobid:0.8.0
# Parse a paper
curl -X POST "http://localhost:8070/api/processFulltextDocument" \
-F "[email protected]" \
-F "consolidateHeader=1" \
-F "consolidateCitations=1" \
-H "Accept: application/xml" \
-o parsed_paper.xml
GROBID returns TEI XML with structured sections, author affiliations, parsed references, and figure/table captions. It handles two-column layouts, footnotes, and complex formatting better than simple text extraction.
Designed for rapid screening. Produces a structured summary in 5 components:
Title: [Extracted title]
Authors: [First author et al., year]
Venue: [Journal/Conference name]
DOI: [DOI if available]
Pages: [Page count]
Type: [Empirical / Theoretical / Review / Methods]
Extract from abstract + introduction: What is the main claim?
Extract from results section and abstract.
Exhaustive section-by-section reading with critical evaluation.
## [Paper Title] ([Year])
**Authors**: [Authors]
**Venue**: [Venue]
**DOI**: [DOI]
### Summary
[2-3 sentence summary]
### Key Contributions
1. [Contribution 1]
2. [Contribution 2]
### Methodology
[Methods description]
### Strengths
- [Strength 1]
- [Strength 2]
### Weaknesses
- [Weakness 1]
- [Weakness 2]
### Relevance to My Research
[How this paper connects to your work]
### Key Quotes
> "[Notable quote]" (p. X)
### References to Follow
- [Ref 1]: [Why relevant]
- [Ref 2]: [Why relevant]
Automatically extract or generate a BibTeX entry for the parsed paper, including all available fields (author, title, journal, year, volume, pages, doi).
For systematic reviews, process multiple papers in sequence:
papers = ["paper1.pdf", "paper2.pdf", "paper3.pdf"]
summaries = []
for pdf in papers:
parsed = parse_paper(pdf)
summary = mode_a_survey(parsed)
summaries.append(summary)
# Generate comparison matrix
comparison = create_comparison_table(summaries,
columns=["methods", "sample_size", "key_finding", "relevance"])
tools
Show mcp-stata identity, connected tools, and status. Use when the user asks if mcp-stata is available, asks about access to the toolkit, or asks what Stata tools are connected.
tools
Activate when users mention Stata commands, .do files, regressions, econometrics, stored results, graphs, dataset inspection, replication, or Stata errors. Route the task through mcp-stata tools and the specialized research skills instead of treating it as plain text coding.
development
Build and review paper-ready regression, balance, and summary tables from Stata outputs. Use when the user needs a clean table for a draft, appendix, or coauthor share-out.
tools
Install, configure, update, or verify mcp-stata across Claude Code, Codex, Gemini CLI, Cursor, Windsurf, and VS Code. Activate when users ask to set up the Stata toolkit or troubleshoot the installation.