Highlights¶
The curated capabilities zotio advertises as its hero features — the same index zotio which "<goal>" resolves natural-language queries against.
Library trust & health¶
library health¶
Ranked, CI-gateable health report: citekey conflicts, duplicates, missing metadata, tag drift, broken attachments — with --for presets for citation or systematic-review readiness.
Why it matters — Run this before any bibliography export or screening handoff; gate CI with --fail-on (exit 11) and publish a shields.io badge with --badge.
items duplicates¶
Detect likely duplicate items by DOI or normalized title, then merge them safely with duplicates resolve — preview-first.
Why it matters — Duplicates corrupt PRISMA counts and double-cite sources; resolve them before they reach a manuscript.
items retract-check¶
Find retracted papers in your library: checks every DOI-bearing item against Crossref's Retraction Watch data — retractions, expressions of concern, and corrections, with notice DOIs and dates.
Why it matters — Citing a retracted paper is a career-level embarrassment; catch it before a reviewer does (also gates library health via --check-retractions).
collections gaps¶
Rank the papers your collection cites most that are missing from your library — citation-graph gap analysis via OpenCitations and Semantic Scholar.
Why it matters — A reviewer will ask why you didn't cite the field's most-cited work; find the gap before they do, then import doi it.
tags audit¶
Find and fix tag drift: groups tags that differ only by case or variant, shows item counts, and generates ready-to-run merge commands.
Why it matters — Use this before any literature review handoff to clean up tag taxonomy; dirty tags produce unreliable filtered exports.
items audit¶
Count and list items missing PDFs, abstracts, DOIs, or tags — one command for a complete metadata health report.
Why it matters — Use this before a systematic review export to identify items that need metadata enrichment.
items missing-pdf¶
List journal articles and book chapters that have no attached PDF — your download queue, ready to script.
Why it matters — Use this to batch-generate a download list for Unpaywall or Sci-Hub scripts.
library stats¶
See your library broken down by item type, publication year, and top journals — a dashboard in one command.
Why it matters — Use this to understand the shape and bias of a library before a systematic review or citation audit.
schema drift¶
Detect what a Zotero upgrade changed: new or removed item types, fields, and creator fields vs a saved baseline.
Why it matters — Use this after upgrading Zotero to find item types or fields a new version added that your tooling may not model yet.
Safe writes & import¶
import scan¶
Reviewable ingest: triage a folder of PDFs against your library (new vs duplicate vs attach-candidate), resolve metadata, then apply schema-valid creates from an editable manifest.
Why it matters — Bulk-import without making a mess — every create is previewed, deduplicated, and schema-validated before it touches your library.
import doi¶
Turn a DOI, PMID, arXiv ID, or ISBN into a schema-valid Zotero item — one command per identifier (import doi|pmid|arxiv|isbn).
Why it matters — Add a paper from a citation you found without opening a browser or hand-typing metadata.
items enrich¶
Fill missing DOIs, abstracts, and open-access PDF links from CrossRef, OpenAlex, Semantic Scholar, and Unpaywall — preview-first, with provenance appended to each item.
Why it matters — Turn the audit's missing-metadata queue into applied fixes; --validate cross-checks stored DOIs read-only.
items preprint-check¶
Find arXiv preprints that have since been published in a journal (via CrossRef) — and upgrade them with the published DOI using preprint-check fix, preview-first.
Why it matters — Citing a preprint when a journal version exists undermines a bibliography; this catches and fixes it in one pass.
journal undo¶
Every applied write is journaled; journal undo <run-id> reverses reversible runs (tag renames, collection moves) and loudly refuses the rest.
Why it matters — Batch writes are only safe when you can see what ran and take it back; this is the take-it-back.
Agent & automation surface¶
items summarize¶
Assemble a bounded, synthesis-ready context bundle for an item or collection — citation, abstract, your annotations, a capped fulltext excerpt — without ever calling a model.
Why it matters — Hand an LLM exactly the high-signal context it needs for a literature synthesis, bounded and provenance-tagged.
export snapshot¶
Reproducible, resumable full-library export (JSONL) with a lockfile recording each item's key, version, and content hash.
Why it matters — Prove what changed between two review handoffs by diffing lockfiles instead of eyeballing exports.
watch¶
Keep the local store fresh with periodic incremental syncs (--interval, --once); --health diffs library health between cycles and reports new findings to stdout or a webhook.
Why it matters — Run it in the background so agents and scripts never read stale data — and hear about new problems the cycle they appear.
workflow run¶
Run a declarative multi-step workflow spec (JSON) in-process, with per-step status and continue-on-error control.
Why it matters — Chain sync → audit → export into one reviewable spec instead of a brittle shell script.
vault sync¶
Two-way Obsidian/Logseq vault sync: one Markdown note per item, managed blocks that never clobber your prose, conflict-safe write-back via push/pull/resolve.
Why it matters — Keep a PKM vault and Zotero in lockstep without losing hand-written notes on either side.
init¶
Guided first run: detect Zotero, enable the local API, set the Web API key, first sync, and a quick health check — one command from install to working setup.
Why it matters — From install to a synced, health-checked library in under a minute; idempotent, and agent-safe under --no-input.
demo¶
Zero-setup trial: seed a bundled sample library (34 classic papers, one genuinely retracted) into a sandbox and try every local command with ZOTIO_DEMO=1 — no Zotero, no API key.
Why it matters — Evaluate zotio in 30 seconds before pointing it at a real library; the sandbox never touches your real store or credentials.
Export & citations¶
collections export¶
Export an entire collection and all its subcollections as a single BibTeX or CSL-JSON file, preserving structure in comments.
Why it matters — Use this to hand a complete literature snapshot to LaTeX or to another researcher without losing the organizational hierarchy.
items citekey-conflicts¶
Find items without a Better BibTeX citation key or with duplicate keys — prevent LaTeX compilation failures before they happen.
Why it matters — Use this before exporting BibTeX for a LaTeX manuscript to catch key conflicts that cause \cite{} failures.
items bibcheck¶
Check a manuscript (.tex or pandoc Markdown) against your library: every \cite and @citekey resolved, unknown and ambiguous keys flagged.
Why it matters — Run it before submission — unknown citekeys are LaTeX build failures waiting to happen; gate CI with --fail-on-unknown (exit 11).
Reading workflow¶
reading-list¶
Surface your oldest unread papers sorted by date added — your reading backlog, oldest-first, with abstract preview.
Why it matters — Use this to fetch the next paper an agent should fetch fulltext for, or to triage a reading session.
annotations export¶
Export all highlights and notes from a collection or tag set as a single markdown or JSON file, one section per paper.
Why it matters — Use this to pull a week of reading annotations into a markdown document for synthesis or AI summarization.
annotations timeline¶
See your annotations ordered by date — find what you were reading and highlighting in any time window.
Why it matters — Use this to extract a week's reading highlights for synthesis or to reconstruct a research trail.
items note-template¶
Generate a pre-filled markdown reading note (frontmatter + abstract + empty Annotations section) for any item — paste into Obsidian or Logseq.
Why it matters — Use this to initialize a reading note in a PKM system without manually copying fields from the Zotero UI.
items open¶
Jump from CLI search results directly to the item in the Zotero desktop app.
Why it matters — Use this after finding an item via CLI search to open it for reading without leaving the terminal flow.
library wrapped¶
Your Zotero year in review — items added by month and type, top venues and authors, annotation activity, PDF coverage — with a shareable SVG card (--card).
Why it matters — The fun one: see (and share) what your reading year actually looked like, straight from the local store.