Papers research
Use when the user wants to search academic papers, read research literature, find citations, download arXiv PDFs, or perform any literature-review style task. Self-contained Python toolkit — no MCP server required.From its SKILL.md
npx -y skills add xwmxcz/papers-skill --skill papers-researchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 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
4.3 KB, as published. Nobody here has run it
Papers Research
Skill-mode port of papers-mcp.
Orchestrates a bundled Python CLI (scripts/papers.py) via Bash to search
papers, fetch metadata/citations, and download + read PDFs.
One-time setup
Verify dependencies (only once per machine):
python -c "import httpx, arxiv, fitz" 2>&1 || pip install httpx arxiv PyMuPDF
If python isn't on PATH, use py (Windows) or the full interpreter path.
Invocation
The script lives at ${CLAUDE_PLUGIN_ROOT}/skills/papers-research/scripts/papers.py
— this variable is auto-substituted by Claude Code's plugin loader. Always
quote the path (it may contain spaces).
python "${CLAUDE_PLUGIN_ROOT}/skills/papers-research/scripts/papers.py" <subcommand> [args]
Subcommands
| Subcommand | What it does | Example |
|---|---|---|
search <query> [--limit N] | Semantic Scholar search (cap 20) | search "diffusion models" --limit 5 |
detail <paper_id> | Full metadata, TL;DR, top 10 references | detail 10.48550/arXiv.2310.06825 |
citations <paper_id> [--limit N] | Papers that cite this one (cap 20) | citations <id> --limit 15 |
arxiv <query> [--max-results N] | arXiv preprint search (cap 10) | arxiv "RLHF" --max-results 5 |
download <arxiv_id> [--save-dir D] | Save PDF locally | download 2310.06825 --save-dir ./pdfs |
read <pdf_path> [--max-pages N] | Extract PDF text via PyMuPDF | read ./pdfs/foo.pdf --max-pages 20 |
Paper ID conventions
detail and citations auto-detect ID type:
- DOI (
10.xxxx/...) → used as-is - arXiv (
ARXIV:2310.06825, or bare numeric ≥10 digits → auto-prefixed) - Semantic Scholar paperId (long hex string) → used as-is
download requires a plain arXiv ID like 2310.06825 (no prefix).
Standard workflows
A — Literature scan
- Run
search <topic>. - Present results as a ranked table: # | Title | Year | Citations | ID.
- Ask which paper(s) to dig into.
B — Deep-read one paper
detail <id>→ confirm match, show abstract + TL;DR.- If arXiv ID present:
download <arxiv_id> --save-dir ./pdfs. read <pdf_path>(default 10 pages = abstract + intro + conclusion; raise to 30+ for full read but warn about context usage).- Summarize: problem · method · key result · limitations.
C — Impact analysis
detailthe anchor paper.citations <id> --limit 20.- Cluster citing papers by year/theme; highlight most-cited follow-ups.
D — Build a reading list
- Run Workflow A.
- For each chosen paper, also run
citationsto find related work. - Deduplicate by paperId; annotate each entry with one-line rationale.
Decision rules
Which search first?
- Generic topic, unknown venue →
search(broader, has citation counts). - User says "preprint" / "latest" / "arXiv" →
arxiv. - Ambiguous → run both, dedupe by title.
Before downloading a PDF:
- Always
detailfirst to confirm match. - If user request was vague, show abstract and confirm before downloading.
- Then
download.
Reading PDFs:
max_pages=10default is fine for skim.- Bump to 30+ only when user wants thorough analysis.
- If extraction returns
PDF无法提取文本(可能是扫描件), the PDF is a scanned image — offer to find an alternative version on the publisher site or use OCR (out of scope for this skill).
Failure handling
- HTTP 429 → script auto-retries 3× with exponential backoff. If it still fails, wait 10s and retry once before reporting.
- Empty results → broaden query (drop quoted phrases, try synonyms) before giving up.
- Unknown paper_id format → try as DOI first, then
ARXIV:<id>, then raw. - Missing dependency → script returns
需要安装 X: pip install X; surface this and offer to install.
Output conventions
- Always include the paper ID alongside titles so the user can re-query.
- Cite format:
[FirstAuthor et al., Year] *Title* (cites: N). - For downloaded PDFs, always report the absolute save path.
- Default
save-diris the current working directory; ask if the user wants a specific location.