zotero-paper-reader
Use Zotero to find, read, summarize, cite, or export academic papers.
Skill by FuZhiyu
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fuzhiyu-zotero-paper-reader
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/zotero-paper-reader- Your home directory (~)
What's inside
- Skill name
zotero-paper-reader- Description
- Use Zotero to find, read, summarize, cite, or export academic papers. Use for paper lookup, library searches, attachments, BibTeX, and draft citation work.
- License
- MIT
- Instructions
- 61 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (6)
- SKILL.md
- access-modes.md · references/
- bibtex-citations.md · references/
- paper-reading.md · references/
- zotero_tool.py · scripts/
- zotero_tool.py.lock · scripts/
SKILL.md (first lines)
# Zotero Paper Reader
Search, retrieve, and analyze papers from a Zotero library via pyzotero. Defaults to the Zotero Desktop local API; falls back to the Zotero Web API when local Zotero is unavailable.
## Access Model
**Run the bundled tool** with `uv run --script <skill-dir>/scripts/zotero_tool.py`, where `<skill-dir>` is the directory containing this `SKILL.md` — substitute the real path. It detects the access mode automatically.
Load [`references/access-modes.md`](references/access-modes.md) for fallback rules, credential setup, or access-mode troubleshooting.
## Paper-Reading Workflow
Load [`references/paper-reading.md`](references/paper-reading.md) for exact invocations, JSON field names, disambiguation logic, parent-item hydration on full-text hits, and troubleshooting.
1. Search: `zotero_tool.py search "query"` — plain metadata search; `--fulltext` for indexed content (local or web).
2. Identify top-level item: inspect `data.itemType` on each hit; attachment hits from `--fulltext` need parent hydration via `data.parentItem`.
3. Choose: present concise metadata when multiple top-level papers match; ask the user only if the intended paper cannot be inferred.
4. Get PDF attachment key: `zotero_tool.py children ITEM_KEY` → find child with `data.contentType == "application/pdf"`.
5. Get PDF path: `zotero_tool.py pdf ATTACHMENT_KEY` → emits `{"source": ..., "path": ...}`.
6. Convert to markdown: invoke the `mistral-pdf-to-markdown` skill with the PDF path; save to `Notes/PaperInMarkdown/Author_Year_ShortTitle.md`.
7. Read and analyze: in sections — abstract and introduction first, then targeted sections.
## Library Query Commands
| Goal | Command |
|---|---|
| List libraries (user + groups) | `libraries` |
| Metadata search (title/creator/year) | `search "query"` |
| Full-text search (indexed content; local or web) | `search "query" --fulltext` |
| Single item | `item ITEM_KEY` |
| Child items / attachments | `children ITEM_KEY` |
| Attachment full-text retrieval (one attachment) | `fulltext ATTACHMENT_KEY` |
| PDF path or download | `pdf ATTACHMENT_KEY` |
| All collections | `collections` |
| All tags | `tags` |
| DOI-to-key index | `doiindex` |
| BibTeX export + master-`.bib` sync | `bibtex --item-key KEY` (or `--query "text"` / `--doi DOI`) |
| Insert a citation into a draft + sync `.bib` | `cite --item-key KEY --tex FILE --bib PATH` (or `--markdown FILE`) |
| Render formatted references | `bibliography --item-key KEY` (default APA) |
| Health / access check | `health` |
All commands emit JSON. Add `--help` to any subcommand for parameter details.
**Targeting a library.** Commands default to the user's own library ("My Library"). For a group library, run `libraries` first to get the group ids, then pass `--library <group-id>` (or `--library group:<id>`) — e.g. `search "your query" --library <group-id>`. Works on `search`, `item`, `children`, `collections`, `tags`, `fulltext`, `doiindex`, `pdf`, `bibtex`, `cite`, and `bibliography`.
## Citations & BibTeX
`bibtex`, `cite`, and `bibliography` generate citations from selected library items. Citekeys come from the researcher's **Better BibTeX (BBT)** by default, falling back to Zotero's built-in translator — with a key-mismatch warning — when BBT is unreachable. All three share the `--item-key` / `--query` / `--doi` selection flags, `--library` targeting, and the dedup-append `.bib` sync.
Load [`references/bibtex-citations.md`](references/bibtex-citations.md) for command examples, the full flag list (`--bib` / `--tex` / `--markdown` / `--marker` / `--style`), the BBT-vs-built-in key model and fallback semantics, JSON fields, and troubleshooting.
## Configuration
Credentials come from environment variables, else `Notes/.env`; they are never printed to the agent transcript. Web API mode needs `ZOTERO_LIBRARY_ID`, `ZOTERO_LIBRARY_TYPE` (default `user`), `ZOTERO_API_KEY`. Local mode needs none. Details in [`references/access-modes.md`](references/access-modes.md).
## Resources
- [`scripts/zotero_tool.py`](scripts/zotero_tool.py) — unified pyzotero command surface (pinned to pyzotero 1.13.0 via PEP 723 inline metadata)
- References — [`paper-reading.md`](references/paper-reading.md), [`access-modes.md`](references/access-modes.md), [`bibtex-citations.md`](references/bibtex-citations.md); load conditions in the sections aboveFrom FuZhiyu/superRA, MIT.
More from FuZhiyu/superRA
- 0.637score
onboarding
FuZhiyu
Bring an existing research project into superRA — a retroactive task tree, a reproduction graph, version control, and an optional isolated reproduction run —…
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
slide-design
FuZhiyu
Research slide communication.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
superimplement
FuZhiyu
Run a superRA task tree autonomously through dispatched implementer and reviewer seats.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
communicate
FuZhiyu
Communication discipline for writing, rewriting, distilling, and reviewing any text meant for human reading, including conversation, task files, planning…
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
superplan
FuZhiyu
Proactively plan or update superRA work.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
reproducibility
FuZhiyu
Register and verify task-declared reproduction graphs.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
result-protection
FuZhiyu
Protect key research results with permanent documentation, drift tests, or artifact-appropriate checks.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
worktree-data-sync
FuZhiyu
Sync non-git data (datasets, outputs, caches, symlinked data) between git worktrees.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
academic-writing
FuZhiyu
Academic prose support.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
agent-orchestration
FuZhiyu
Coordinate superRA agents and handoffs.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
econ-data-analysis
FuZhiyu
Economic data-analysis discipline.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
mistral-pdf-to-markdown
FuZhiyu
Convert PDFs to Markdown with Mistral OCR and extracted images.
SkillAFreshness: A★ 11Claude Code +9
Signals
- Stars
- 11
- Forks
- 2
- Open issues
- 5
- Last commit (this folder)
- Aug 19, 2026 (2 months ago)
- Last release
- Oct 5, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/FuZhiyu/superRA
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from FuZhiyu
- 0.637score
result-protection
FuZhiyu
Protect key research results with permanent documentation, drift tests, or artifact-appropriate checks.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
superimplement
FuZhiyu
Run a superRA task tree autonomously through dispatched implementer and reviewer seats.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
reproducibility
FuZhiyu
Register and verify task-declared reproduction graphs.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
onboarding
FuZhiyu
Bring an existing research project into superRA — a retroactive task tree, a reproduction graph, version control, and an optional isolated reproduction run —…
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
slide-design
FuZhiyu
Research slide communication.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
superplan
FuZhiyu
Proactively plan or update superRA work.
SkillAFreshness: A★ 11Claude Code +9
Cite this page
zotero-paper-reader skill. Agent Mart. https://agentmart.dev/skills/fuzhiyu-zotero-paper-reader (last updated 2026-10-24)