zotero-paper-reader — Claude Code skill: read papers from Zotero
Pulls a paper out of your Zotero library by title, author or topic, grabs the PDF and turns it into markdown the agent can read and summarise.
npx skills add FuZhiyu/ResearchProjectTemplate --skill zotero-paper-reader -a claude-codeWhat zotero-paper-reader does
The skill runs the whole chain. It searches Zotero through the MCP tools, lists the matches when there is more than one, and keeps the item_key of the paper you pick. Then it asks for the item's children, spots the attachment typed application/pdf, and hands that key to get_zotero_pdf.py.
That script runs under uv run python. It looks in ~/Zotero/storage/ first and only falls back to downloading from the web library over the API. From there the PDF goes to the mistral-pdf-to-markdown skill, and the result lands in Notes/PaperInMarkdown/ as Author_Year_Title.md. Extracted figures end up in an images/ subfolder.
A web library needs ZOTERO_API_KEY, ZOTERO_LIBRARY_TYPE and ZOTERO_LIBRARY_ID in Notes/.env; the Mistral key for conversion goes in the same file. Local libraries only work when the local API is switched on in Zotero's preferences. Papers past 40k tokens are read in chunks — pull a whole one into context and you will hit the limit.
What it helps with
- locate a paper in Zotero by author or topic
- fetch its PDF from local storage or the web library
- turn the PDF into markdown with its figures
- work through the abstract and key sections of a long paper
- keep paper notes in one folder with predictable filenames
Example prompts for the agent
- Find Du's 2023 papers in Zotero and summarise the abstracts
- Convert this Zotero paper to markdown and save it under
Notes/PaperInMarkdown/
How to install zotero-paper-reader
1Skills CLI (Vercel)
npx skills add FuZhiyu/ResearchProjectTemplate --skill zotero-paper-reader -a claude-code2Manually: put the files in place
~/.claude/skills/zotero-paper-reader/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/zotero-paper-reader/
1Skills CLI (Vercel)
npx skills add FuZhiyu/ResearchProjectTemplate --skill zotero-paper-reader -a codex2Manually: put the files in place
.agents/skills/zotero-paper-reader/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add FuZhiyu/ResearchProjectTemplate --skill zotero-paper-reader -a cursor2Manually: put the files in place
.cursor/skills/zotero-paper-reader/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install FuZhiyu/ResearchProjectTemplate zotero-paper-reader2Manually: put the files in place
.github/skills/zotero-paper-reader/SKILL.md1Skills CLI (Vercel)
npx skills add FuZhiyu/ResearchProjectTemplate --skill zotero-paper-reader -a gemini-cli2Platform CLI
gemini skills install https://github.com/FuZhiyu/ResearchProjectTemplate --path ProjectExample/.claude/skills/zotero-paper-readerManually: put the files in place
.devin/skills/zotero-paper-reader/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add FuZhiyu/ResearchProjectTemplate --skill zotero-paper-reader -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about zotero-paper-reader
How do I install zotero-paper-reader in Claude Code?
Run npx skills add FuZhiyu/ResearchProjectTemplate --skill zotero-paper-reader -a claude-code. The skill lands at ~/.claude/skills/zotero-paper-reader/SKILL.md.
What does zotero-paper-reader do?
It searches your Zotero library, retrieves the paper's PDF, converts it to markdown and reads it back to you as metadata, an abstract summary and the main findings.
What has to be set up before the first run?
For a web library, ZOTERO_API_KEY, ZOTERO_LIBRARY_TYPE and ZOTERO_LIBRARY_ID in Notes/.env, plus a Mistral key for the PDF conversion. With a local library you just enable the local API in Zotero's preferences.