zotero-research
Installation
SKILL.md
Read-only Zotero research
Follow the user's language. Zotero is strictly GET-only: never create, edit, tag, move, or delete library data.
Workflow
- Use
zotero_collectionsto list collections, read one collection, or list its top-level items. - Use
zotero_searchwith DOI first, then distinctive title terms. Omitqueryor use*to browse; boundlimitand pagination. - Match normalized DOI first. Otherwise compare normalized title, year, and first author. Report ambiguity instead of guessing.
- Use
zotero_itemwithmode=itemfor metadata-only work. Usemode=aggregateonly when notes, annotations, attachments, indexed text, or PDF selection are needed. - If several PDFs are available, list their attachment keys and filenames and ask the user to confirm one
attachmentKeybefore parsing or synchronizing. Never assume similarly named attachments are equivalent. - Treat unavailable or truncated indexed text as incomplete evidence, not an empty paper.
- For necessary structured content, call
omnischolar_parsedirectly after MinerU is configured and the selected PDF upload is authorized. The parse call checks cache or uploads before publication checks. - Use
omnischolar_sync action=planfor an explicit managed-output synchronization decision, not as a mandatory parse preflight.missing,excluded,conflict, andrecovery_requiredeach retain their explicit publication workflow.
If Zotero is unavailable, ask the user to start Zotero and enable local application access. Keep http://127.0.0.1:23119/api on the local machine. If a local item is absent, use scholar-search only when online discovery matches the request.