From zotero-literature
This skill should be used when the user asks to "find a paper", "list references", "read a paper", "search literature", "export BibTeX", "check citations", "access Zotero", "open paper PDF", "cross-check references", or needs to interact with the project's Zotero reference library. Also trigger when tasks involve reading academic papers, verifying citations, or managing bibliography files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/zotero-literature:zotero-literatureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Access the project's Zotero reference collection via the local API, with PDF reading from local storage.
Access the project's Zotero reference collection via the local API, with PDF reading from local storage.
http://localhost:23119)## Literature (Zotero) sectionEach project defines its Zotero collection name in CLAUDE.md. If not specified, ask the user which collection to use.
Look for this pattern in CLAUDE.md:
## Literature (Zotero)
Collection: <COLLECTION_NAME>
All Zotero operations use the bundled script:
${CLAUDE_SKILL_ROOT}/scripts/zotero_api.py
This script is stdlib-only Python — no dependencies needed.
Before any operation, resolve the collection name to its API key:
python ${CLAUDE_SKILL_ROOT}/scripts/zotero_api.py find-collection "<COLLECTION_NAME>"
Returns the collection key (e.g., TY7P7TFU) needed for all other commands. Cache this key for the session.
python ${CLAUDE_SKILL_ROOT}/scripts/zotero_api.py list-items <COLLECTION_KEY>
Returns item keys, dates, and titles for all papers in the collection.
python ${CLAUDE_SKILL_ROOT}/scripts/zotero_api.py search-items <COLLECTION_KEY> "<query>"
Searches titles, abstracts, and author last names.
To read a paper, first find its local PDF path:
python ${CLAUDE_SKILL_ROOT}/scripts/zotero_api.py find-pdf <ITEM_KEY>
This returns the local filesystem path (e.g., ~/Zotero/storage/LDXEPPJR/Author - 2024 - Title.pdf). Then use the Read tool to read the PDF directly — do not use curl to download.
The PDF path follows this structure:
~/Zotero/storage/{ATTACHMENT_KEY}/{filename}.pdf
Export the entire collection as a .bib file:
python ${CLAUDE_SKILL_ROOT}/scripts/zotero_api.py export-bibtex <COLLECTION_KEY> <output_path>
For LaTeX papers, export to the paper directory (e.g., paper/main.bib).
Verify that all \cite{} keys in .tex files have corresponding entries:
python ${CLAUDE_SKILL_ROOT}/scripts/zotero_api.py cross-check <COLLECTION_KEY> <tex_directory>
search-items <key> "prompt injection"find-pdf <ITEM_KEY>export-bibtex <key> paper/main.bibpdflatex + bibtex + pdflatex + pdflatexlist-items <key>cross-check <key> paper/Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub waterwoods-ai/zotero-literature