zotero-skill_skill

This skill securely interfaces with Zotero via API to search, create, update items and notes, upload attachments, and manage personal or group libraries.
  • Python

2.5k

GitHub Stars

3

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill openclaw/skills --skill zotero-skill

  • _meta.json625 B
  • CHANGELOG.md841 B
  • SKILL.md6.1 KB

Overview

This skill provides programmatic access to a user's Zotero personal and Group libraries using Zotero API keys. It supports searching, creating, updating, and deleting items and metadata, managing item-level notes, performing bulk operations, and syncing attachments (upload PDF or add URL links). Trigger the skill when asking to search your Zotero, add or modify an item or note, upload attachments, or manage group libraries. The implementation uses pyzotero with example CLI and scripts for repeatable, auditable workflows.

How this skill works

The skill authenticates with a Zotero developer API key and operates against a specified userID or groupID resolved from command-line flags or environment variables. It exposes functions for search, create, update, note management, attachment upload/linking, listing groups/collections, and batch operations. Write actions require explicit confirmation flags and batch deletes default to dry-run to prevent accidental data loss. Operations are logged locally with sensitive values excluded from logs.

When to use it

  • Search your Zotero library by title, author, tags, year, full text, or combined queries.
  • Create or update a bibliographic item (journalArticle, book, thesis, etc.) with full metadata.
  • Add, edit, or delete an item-level note on a Zotero item.
  • Upload a local PDF or attach an external URL to an existing Zotero item.
  • Manage Group libraries: list groups, create items in a group, or perform group-level operations.

Best practices

  • Set ZOTERO_API_KEY, ZOTERO_USER_ID, and ZOTERO_GROUP_ID as environment variables or pass via CLI flags; never commit keys.
  • Use --yes for intentional writes and rely on dry-run for batch deletes until you verify results.
  • Prefer pagination and sorting for large searches to avoid rate-limit issues.
  • Keep logs local and ensure they exclude API keys and full PDF contents.
  • Use the provided reference docs for correct attachment upload flows and error recovery steps.

Example use cases

  • Search my Zotero for 'deep learning' sorted by year and return the top 10 results.
  • Add a note to item 12345: 'Expand methods section with ablation study' and confirm the update.
  • Upload /home/user/papers/foo.pdf as an attachment to item 67890 and add title metadata.
  • Create a new journalArticle in Group library 99999 with title, authors, DOI, and tags.
  • Run a dry-run batch delete of items matching a tag, then confirm to execute the deletion.

FAQ

You must provide a Zotero developer API key (ZOTERO_API_KEY). User and group IDs can be provided via environment variables or CLI flags.

How are destructive operations protected?

Write actions require an explicit confirmation flag (e.g., --yes). Batch deletes default to a dry-run and need a second confirmation to execute.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
zotero-skill skill by openclaw/skills | VeilStrat