Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
fuzhiyu avatar

Zotero Paper Reader

  • 566 installs
  • 8 repo stars
  • Updated December 5, 2025
  • fuzhiyu/researchprojecttemplate

zotero-paper-reader is a Claude Code skill that automatically extracts structured insights, summaries, and citations from academic papers stored in Zotero for developers who need agent-driven literature review without ma

About

zotero-paper-reader is an AI & Agent Building skill from fuzhiyu/researchprojecttemplate that reads academic papers in a Zotero library and returns structured insights, summaries, and citations for coding agents. Listed on skills.sh with 1 install and rank 2662, the skill targets developers automating literature review, building research assistants, or feeding paper metadata into downstream note systems. Reach for zotero-paper-reader when a Zotero collection must be summarized, key claims extracted, or bibliographic citations prepared without hand-annotating each PDF. The workflow assumes papers are already imported into Zotero and focuses on agent-readable structured output rather than reference manager setup.

  • Reads and parses PDFs from your local Zotero library
  • Generates structured summaries, key findings, and citation metadata
  • Outputs ready-to-use research notes and literature review drafts
  • Works as a reusable agent capability for systematic literature review

Zotero Paper Reader by the numbers

  • 566 all-time installs (skills.sh)
  • Ranked #1,629 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 24, 2026 (Skillselion catalog sync)
npx skills add https://github.com/fuzhiyu/researchprojecttemplate --skill zotero-paper-reader

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs566
repo stars8
Last updatedDecember 5, 2025
Repositoryfuzhiyu/researchprojecttemplate

How do you summarize academic papers from a Zotero library?

Automatically extract structured insights, summaries, and citations from academic papers stored in Zotero.

Who is it for?

Developers building research automation pipelines who keep papers in Zotero and need agent-generated summaries and citations.

Skip if: Users without a Zotero library configured, teams needing full PDF OCR for unscanned papers, or non-academic document summarization outside Zotero.

When should I use this skill?

A user asks to summarize, extract insights from, or cite papers stored in Zotero.

What you get

Structured paper insights, narrative summaries, and formatted citation extracts per Zotero item

  • Structured paper insights
  • Summary text
  • Citation extracts

By the numbers

  • Listed with 1 install on skills.sh
  • skills.sh rank 2662 in catalog listing

Files

SKILL.mdMarkdownGitHub ↗

Zotero Paper Reader

Overview

Read and analyze academic papers directly from the Zotero library. This skill handles the complete workflow from searching Zotero to converting PDFs to readable markdown format.

When to Use

Use this skill when the user requests to:

  • "Read this paper from Zotero"
  • "Find and read [paper title]"
  • "Access [author name] paper"
  • "Get the paper about [topic]"
  • "Convert [paper] from Zotero to markdown"

Workflow

Step 1: Search Zotero Library

Use the Zotero MCP tools to search for the paper:

# Search by title, author, or keywords
mcp__zotero__zotero_search_items(query="paper title or author", limit=5)

Present the search results to the user if multiple papers are found. Get the item_key from the selected paper.

Step 2: Get PDF Attachment

Retrieve the PDF attachment information:

# Get child items (attachments) for the paper
mcp__zotero__zotero_get_item_children(item_key="ITEM_KEY")

Look for the attachment with type: application/pdf and note its Key (attachment key) and Filename.

Step 3: Get PDF File (Local or Download)

Use the bundled script to get the PDF - it automatically tries local storage first, then downloads if needed:

uv run python .claude/skills/zotero-paper-reader/scripts/get_zotero_pdf.py ATTACHMENT_KEY

The script workflow: 1. First searches local Zotero storage (~/Zotero/storage/ATTACHMENT_KEY/) 2. If found locally, returns that path 3. If not found locally, downloads from Zotero web library using API 4. Retrieves original filename from Zotero metadata and downloads to /tmp/[original_filename]

Security note: The Zotero API key and library configuration are read directly from Notes/.env by the Python script and never exposed to the LLM. Required environment variables: ZOTERO_API_KEY, ZOTERO_LIBRARY_TYPE, ZOTERO_LIBRARY_ID.

Step 4: Convert to Markdown

Use the mistral-pdf-to-markdown skill to convert the PDF:

uv run python .claude/skills/mistral-pdf-to-markdown/scripts/convert_pdf_to_markdown.py \
  "PATH_TO_PDF" \
  "Notes/PaperInMarkdown/CLEAN_FILENAME.md"

Filename convention: Create a clean filename from the paper metadata:

  • Format: Author_Year_Title.md
  • Example: Du_et_al_2023_Are_Intermediary_Constraints_Priced.md
  • Replace spaces with underscores, remove special characters

Step 5: Read and Analyze

Read the converted markdown file:

# For large papers, read in sections
Read(file_path="Notes/PaperInMarkdown/FILENAME.md", offset=1, limit=500)

Since academic papers are often large (>25k tokens), read strategically:

  • Start with abstract and introduction (first 300-500 lines)
  • Use Grep to search for specific sections if needed
  • Read specific sections based on user interest

Provide the user with: 1. Paper metadata (title, authors, publication year) 2. Brief summary of the abstract 3. Main findings or sections of interest 4. Offer to read specific sections or search for particular content

Example Usage

User request: "Read the paper 'Are Intermediary Constraints Priced' from my Zotero library"

Workflow: 1. Search: mcp__zotero__zotero_search_items(query="Are Intermediary Constraints Priced") 2. Get attachment: mcp__zotero__zotero_get_item_children(item_key="KPRQ2DLZ") 3. Get PDF: uv run python .claude/skills/zotero-paper-reader/scripts/get_zotero_pdf.py 2HSELEHX

  • Returns local path if available, or downloads and returns temp path

4. Convert: uv run python .claude/skills/mistral-pdf-to-markdown/scripts/convert_pdf_to_markdown.py [PDF_PATH] Notes/PaperInMarkdown/Du_et_al_2023_Are_Intermediary_Constraints_Priced.md 5. Read: Read(file_path="Notes/PaperInMarkdown/Du_et_al_2023_Are_Intermediary_Constraints_Priced.md", limit=500) 6. Summarize and offer to dive deeper into specific sections

Notes

  • The skill works with both local and web Zotero libraries
  • For web libraries, requires ZOTERO_API_KEY, ZOTERO_LIBRARY_TYPE, and ZOTERO_LIBRARY_ID in Notes/.env
  • For local libraries, Zotero local API must be enabled in Zotero preferences
  • Requires Mistral API key in Notes/.env for PDF conversion
  • Converted markdown files include extracted images in images/ subfolder
  • Large papers (>40k tokens) should be read in sections to avoid context limits

Resources

scripts/

  • get_zotero_pdf.py - Unified script that tries local storage first, then downloads from web API if needed

Related skills

FAQ

What does zotero-paper-reader extract from papers?

zotero-paper-reader automatically extracts structured insights, narrative summaries, and citations from academic papers stored in Zotero. Developers use the output for faster literature review inside coding agents.

Does zotero-paper-reader require papers to already be in Zotero?

zotero-paper-reader assumes academic papers are already imported into a Zotero library. The skill focuses on reading and summarizing stored items rather than configuring the reference manager from scratch.

AI & Agent Buildingresearchautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.