Zotero CLI Skill

SkillSearch

Use when user mentions papers, references, citations, Zotero, literature, bibliography, or needs to search, read, export, or organize documents. Handles all zot CLI operations including ranked search over Zotero collections.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Zotero CLI Skill skill

What this skill tells your AI

The instructions your AI receives, as published by agents365-ai/zotero-cli-ai in skill/zotero-cli/SKILL.md and read by ahel’s review.

zot is an all-in-one Zotero CLI: search, CRUD, PDF extraction, citation export, and ranked retrieval over collections. Local SQLite for reads, Zotero Web API for writes.

Quick Start

zot search "transformer attention"                      # Search papers
zot --detail minimal search "transformer attention"     # Search papers (minimal output)
zot --detail full search "transformer attention"        # Search papers (full output)
zot --json read ABC123                                  # View paper details (JSON)
zot export ABC123                                       # Export BibTeX
zot --json search --ranked "RLHF" --collection my-collection  # Ranked search scoped to a collection

Critical Rules

  1. Always use --json for programmatic processing (auto-enabled when stdout is not a TTY).
  2. Windows CJK encoding: On Windows with a CJK locale, recent zot versions auto-reconfigure stdout to UTF-8. For older versions or subprocess calls, set PYTHONIOENCODING=utf-8. See references/windows-encoding.md.
  3. Write safety: Use --dry-run to preview mutations. Pass --idempotency-key on retries.
  4. Large PDFs: Use --outline first, then --section N (the heading number from the outline) to extract selectively. Avoid pulling full text when >20k chars.
  5. Find Full Text: zot find-pdf KEY fetches paywalled PDFs but needs Zotero desktop running + the bridge plugin. One-time setup: zot bridge install. See references/commands.md.
  6. Canonical schema: Run zot schema <cmd> for exhaustive flags, types, and safety tiers.

Routing Table

User IntentCommand
Search metadatazot --json search "query"
Read item detailzot --json read KEY
Export BibTeX/RIS/JSONzot export KEY --format bibtex
Formatted citationzot cite KEY --style apa
Batch import DOIszot add --from-file dois.txt
Add single itemzot add --doi "10.1038/..."
Update metadatazot update KEY --title "New"
Delete itemzot --no-interaction delete KEY
PDF full textzot --json pdf KEY
PDF outlinezot --json pdf --outline KEY
PDF sectionzot --json pdf --section N KEY
Local PDF pathzot attachment path KEY (first PDF; --all for appendix/supplementary too)
Fetch/attach missing PDFzot find-pdf KEY (needs Zotero desktop + bridge)
Rename attachment fileszot rename KEY --dry-run (needs bridge; preview first)
Add journal metrics (IF/分区)zot enrich KEY --set "JCR=Q1" or --from-map journals.toml
Set up find-pdf bridgezot bridge install
Collection listzot --json collection list
Collection itemszot --json collection items COLLKEY
Find duplicateszot --json duplicates
Recent itemszot --json recent --days 7
Library statszot --json stats
Collection createzot collection create "NAME"
Remove item from collectionzot collection remove ITEM COLL
Ranked deep searchzot --json search --ranked "q" --collection COLL
Ask (evidence pack)zot --json ask "question" --collection COLL
Grep-able full-text corpuszot text --dir ~/zot-textgrep -r "term" ~/zot-text/ (hit filename = item key)
Similarity network graphzot net --seed KEY --open or zot net --collection COLL (offline TF-IDF, needs [net] extra)
Group libraryzot --library group:ID search "q"

Rule of thumb: zot search for quick metadata + full-text lookups. zot search --ranked for relevance-ranked deep search with scores and snippets, optionally scoped to a collection via --collection. zot ask when you need a citation-keyed evidence pack to write a grounded answer — it returns chunks tagged with their Zotero item key plus answer_instructions; zot does not call an LLM, so you synthesize and cite the answer from the evidence.

Global Flags

FlagPurpose
--jsonJSON output (always use for programmatic processing)
--limit NLimit results (default: 50)
--detail minimalOnly key/title/authors/year — saves tokens
--detail fullAll fields
--no-interactionSuppress prompts (automation)
--verboseDebug output

Key Facts

  • Read ops work offline with zero config
  • Write ops need API credentials (zot config init)
  • Item keys are 8-char alphanumeric strings (e.g. K853PGUG)
  • Non-TTY stdout auto-emits JSON envelope — agents never need explicit --json

References

  • references/commands.md — Full command reference with examples
  • references/ranked-search.md — Ranked search and evidence packs over collections
  • references/workflows.md — Common multi-step workflow patterns
  • references/windows-encoding.md — Windows CJK encoding fix

Signals

GitHub stars
205
Forks
21
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
zotero-cli
Source
github.com/agents365-ai/zotero-cli-ai