Zotero CLI Skill
SkillSearchUse 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.
No other account needed.
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
- Always use
--jsonfor programmatic processing (auto-enabled when stdout is not a TTY). - Windows CJK encoding: On Windows with a CJK locale, recent
zotversions auto-reconfigure stdout to UTF-8. For older versions or subprocess calls, setPYTHONIOENCODING=utf-8. Seereferences/windows-encoding.md. - Write safety: Use
--dry-runto preview mutations. Pass--idempotency-keyon retries. - Large PDFs: Use
--outlinefirst, then--section N(the heading number from the outline) to extract selectively. Avoid pulling full text when >20k chars. - Find Full Text:
zot find-pdf KEYfetches paywalled PDFs but needs Zotero desktop running + the bridge plugin. One-time setup:zot bridge install. Seereferences/commands.md. - Canonical schema: Run
zot schema <cmd>for exhaustive flags, types, and safety tiers.
Routing Table
| User Intent | Command |
|---|---|
| Search metadata | zot --json search "query" |
| Read item detail | zot --json read KEY |
| Export BibTeX/RIS/JSON | zot export KEY --format bibtex |
| Formatted citation | zot cite KEY --style apa |
| Batch import DOIs | zot add --from-file dois.txt |
| Add single item | zot add --doi "10.1038/..." |
| Update metadata | zot update KEY --title "New" |
| Delete item | zot --no-interaction delete KEY |
| PDF full text | zot --json pdf KEY |
| PDF outline | zot --json pdf --outline KEY |
| PDF section | zot --json pdf --section N KEY |
| Local PDF path | zot attachment path KEY (first PDF; --all for appendix/supplementary too) |
| Fetch/attach missing PDF | zot find-pdf KEY (needs Zotero desktop + bridge) |
| Rename attachment files | zot 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 bridge | zot bridge install |
| Collection list | zot --json collection list |
| Collection items | zot --json collection items COLLKEY |
| Find duplicates | zot --json duplicates |
| Recent items | zot --json recent --days 7 |
| Library stats | zot --json stats |
| Collection create | zot collection create "NAME" |
| Remove item from collection | zot collection remove ITEM COLL |
| Ranked deep search | zot --json search --ranked "q" --collection COLL |
| Ask (evidence pack) | zot --json ask "question" --collection COLL |
| Grep-able full-text corpus | zot text --dir ~/zot-text → grep -r "term" ~/zot-text/ (hit filename = item key) |
| Similarity network graph | zot net --seed KEY --open or zot net --collection COLL (offline TF-IDF, needs [net] extra) |
| Group library | zot --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
| Flag | Purpose |
|---|---|
--json | JSON output (always use for programmatic processing) |
--limit N | Limit results (default: 50) |
--detail minimal | Only key/title/authors/year — saves tokens |
--detail full | All fields |
--no-interaction | Suppress prompts (automation) |
--verbose | Debug 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 examplesreferences/ranked-search.md— Ranked search and evidence packs over collectionsreferences/workflows.md— Common multi-step workflow patternsreferences/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