pyzotero
by K-Dense-AIpyzotero is a Python client for Zotero Web API v3. This pyzotero skill helps you install, use, and automate library workflows: read, create, update, delete, search, manage collections and tags, handle attachments, and export citations. It is a strong pyzotero guide for Academic Research and reproducible reference management.
This skill scores 86/100, which means it is a solid listing candidate for directory users who need Zotero automation. The repository gives enough trigger guidance, setup detail, and workflow examples for an agent to know when to use it and how to execute common Zotero tasks with less guesswork than a generic prompt.
- Clear, actionable trigger scope for Zotero library operations: read, create, update, delete items/collections/tags/attachments, export citations, and search library contents via the pyzotero client.
- Good operational clarity with explicit authentication setup, environment variables, local-vs-API mode, and install commands (`uv add pyzotero` / `pyzotero[cli]`).
- Strong workflow evidence from multiple references covering collections, files/attachments, full-text, exports, pagination, search params, and error handling.
- The CLI is limited to the local Zotero desktop app, so some workflows are not remote/API-based and may not fit all environments.
- No install command appears in SKILL.md beyond Python package installation; users still need valid Zotero credentials and a local Zotero setup for many tasks.
Overview of pyzotero skill
What pyzotero does
pyzotero is a Python client for the Zotero Web API v3. The pyzotero skill helps you read, create, update, and delete Zotero items, collections, tags, attachments, and citation exports without hand-building API calls.
Who should use it
It is best for people doing automated reference management, literature workflows, or Zoterosync-style library maintenance—especially pyzotero for Academic Research, scripted bibliography cleanup, and research pipelines that need reliable Zotero integration.
Why this skill is worth installing
The main value of the pyzotero skill is that it turns Zotero into a programmable library backend. Instead of a one-off prompt, you get a repeatable way to query metadata, manage groups or personal libraries, fetch attachments, and export citation formats with fewer API mistakes.
How to Use pyzotero skill
Install pyzotero
Use the Python package directly, and add the CLI extra only if you need local Zotero desktop search:
uv add pyzotero
uv add "pyzotero[cli]"
If you are evaluating pyzotero install choices, the CLI is only useful when you want to search a running local Zotero app; remote API work does not need it.
Start with the right inputs
A strong pyzotero usage request should include:
- library type:
userorgroup - the operation: read, create, update, delete, export, or search
- the target object: item key, collection key, tag, attachment, or saved search
- the output format: Python objects, JSON, BibTeX, CSL-JSON, or HTML citations
Example prompt shape:
Use pyzotero to list items in my group library, filter to journal articles tagged
reviewed, and export the results as CSL-JSON.
Read the files in this order
For practical setup, read SKILL.md first, then the focused references that match your task:
references/authentication.mdfor API keys, user IDs, and local modereferences/read-api.mdandreferences/search-params.mdfor retrieval and filteringreferences/write-api.mdfor create/update/delete workflowsreferences/files-attachments.mdandreferences/full-text.mdfor PDFs and indexingreferences/exports.mdfor BibTeX, CSL-JSON, and citation outputreferences/error-handling.mdfor rate limits, conflicts, and invalid fields
Practical workflow for better pyzotero usage
- Confirm whether you need remote API access or local-only search.
- Set credentials for the correct library before calling methods.
- Test one read call first, then expand to batch actions.
- Use keys, not titles, for updates and deletes.
- Add pagination or output limits early so the result is usable.
pyzotero skill FAQ
Is pyzotero only for programmers?
No. It is most useful in Python workflows, but it is still approachable for non-experts who can follow a short install and pass structured inputs. If you only need occasional manual citation export, a regular Zotero prompt may be simpler.
Does pyzotero work with both personal and group libraries?
Yes. The pyzotero skill supports both, but a single Zotero instance is bound to one library. That matters when you need to move between a personal library and a shared lab or team library.
When should I not use pyzotero?
Do not use pyzotero if you only want quick one-off citation formatting inside Zotero itself, or if you need full-text search without a local Zotero desktop app. The CLI depends on local Zotero; the API does not provide the same local full-text search behavior.
Is pyzotero good for Academic Research?
Yes, especially for batch literature management, reference cleanup, attachment handling, and reproducible exports. It is less helpful if your task is mostly reading papers rather than organizing or transforming Zotero data.
How to Improve pyzotero skill
Give the skill the missing library details
The biggest quality boost comes from specifying the library context up front. For pyzotero, include the library ID, whether it is user or group, and whether you want local mode or the remote API. Without that, outputs often stay generic or choose the wrong access path.
Be explicit about the data shape you want
Say whether you want a single item, a list of items, a collection tree, attachment metadata, or an export file. Good pyzotero inputs look like:
- “return only keys and titles”
- “update the
abstractNotefor these item keys” - “export the top 50 results as BibTeX”
- “find PDFs whose full text mentions
gene editing”
Watch for common failure modes
The most common pyzotero errors are using titles instead of keys, skipping authentication setup, and trying to batch too many writes at once. Another common issue is expecting local full-text search from the API alone. If results are off, check whether the query should use item metadata, full text, or collection filters.
Iterate after the first pass
If the first output is too broad, refine by adding item type, tag logic, collection key, or date range. If the first write/update is risky, ask pyzotero to dry-run the payload or show the exact item fields before applying changes. This is the fastest way to improve pyzotero usage for real research workflows.
