Install
openclaw skills install zotero-vectorizeBuild and maintain a cross-platform local Zotero semantic index using metadata embeddings and PDF full-text chunk embeddings. Use when the user asks to vectorize a Zotero library, create or refresh metadata_vectors.json or fulltext_vectors.json, check for new Zotero items missing from the vector store, incrementally update a Zotero semantic/RAG index, verify vector store counts and sizes, or reproduce this workflow on Windows, macOS, or Linux.
openclaw skills install zotero-vectorizeBuild and maintain a local-first, cross-platform Zotero vector store for semantic search and RAG over bibliographic metadata and PDF full text.
Keep SKILL.md focused on workflow. Read the reference files only when needed:
references/config.md — paths, environment variables, output layoutreferences/data-format.md — JSON schemas and file namingreferences/windows.md / macos.md / linux.md — platform-specific path defaults and notesreferences/troubleshooting.md — common failures and recoverymetadata_vectors.jsonfulltext_vectors.jsonvector_store_metadata.jsonIf the Zotero data directory, database path, or storage path is unknown:
references/config.mdwindows.md, macos.md, or linux.md)python scripts/detect_zotero_paths.py
If the detected paths are wrong, ask the user to open Zotero and use Show Data Directory, then rerun with explicit --data-dir, --db, or --storage-dir.
Before full builds or incremental checks, snapshot the Zotero database:
python scripts/snapshot_zotero_db.py --output-dir <store-dir>
If snapshotting fails because SQLite is locked, ask the user to close Zotero and retry.
Use this when the user asks to create or rebuild metadata embeddings for the Zotero library.
python scripts/build_metadata_vectors.py --output-dir <store-dir>
This writes metadata_vectors.json and refreshes vector_store_metadata.json + README.md.
Use this when the user asks to create or rebuild PDF full-text embeddings.
python scripts/build_fulltext_vectors.py --output-dir <store-dir>
This scans Zotero PDF attachments, extracts text, chunks it, embeds each chunk, and writes fulltext_vectors.json.
Use this when the user asks whether Zotero contains new items not yet added to the vector store.
python scripts/check_incremental_updates.py --output-dir <store-dir>
Report:
Do not update the store yet.
Only run this after the user confirms the update.
python scripts/apply_incremental_updates.py --output-dir <store-dir>
This script:
Use --item-id to limit the update to specific items if the user wants a partial apply.
After any build or incremental update, verify counts and sizes:
python scripts/verify_vector_store.py --output-dir <store-dir>
Always report:
scripts/detect_zotero_paths.py — resolve default/current Zotero pathsscripts/snapshot_zotero_db.py — create a safe SQLite snapshotscripts/build_metadata_vectors.py — full rebuild of metadata vectorsscripts/build_fulltext_vectors.py — full rebuild of PDF full-text vectorsscripts/check_incremental_updates.py — compare Zotero against current vector storescripts/apply_incremental_updates.py — append missing items after user confirmationscripts/backup_with_retention.py — back up store files and retain only the latest two statesscripts/verify_vector_store.py — report counts, sizes, and store metadataWhen using this skill successfully, return concise operational summaries such as:
Read references/troubleshooting.md when: