zotero-pdf-upload_skill

This skill helps you upload PDFs and manage Zotero libraries securely via the API, supporting personal and group libraries.
  • Python

2.6k

GitHub Stars

5

Bundled Files

3 weeks ago

Catalog Refreshed

1 month 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 veilstart where the catalogue uses aiagentskills.

npx veilstart add skill openclaw/skills --skill zotero-pdf-upload

  • _meta.json288 B
  • .gitignore100 B
  • README_CN.md3.4 KB
  • README.md3.5 KB
  • SKILL.md5.3 KB

Overview

This skill uploads PDFs and manages items and collections in a Zotero Web Library. It supports personal and group libraries and enforces safe, explicit approval points before any write operations. Use it to add papers, attach PDFs, and keep collections organized via the Zotero API.

How this skill works

The skill reads a configuration file to locate the target Zotero library and an API key (env, file, or inline). It provides CLI commands to parse library URLs, list and match collections, choose or suggest collections, create collections or items only with explicit approval, and upload PDFs when explicitly requested. All write actions require approval flags and the workflow favors read-only checks first.

When to use it

  • Add a new paper record and attach a PDF to your Zotero library.
  • Organize or match incoming items to existing collections before writing.
  • Upload PDFs into group libraries while preserving explicit approval controls.
  • Automate bulk imports with manual approval points for collection creation and item writes.
  • Run smoke tests or validate configuration before performing real uploads.

Best practices

  • Always run the first-time setup check to create config.json before any operation.
  • Prefer storing the API key in an environment variable or a secure file rather than inline config.
  • Start with read-only commands (parse-url, list-collections, choose-collection) to inspect matches before any write.
  • Do not enable write commands without --approve-create or --approve-write flags; require human confirmation.
  • If collection matching confidence is low, stop and ask for explicit approval to create a new collection.

Example use cases

  • Parse a Zotero URL to confirm whether it’s a personal or group library before any changes.
  • List candidate collections for an imported bibliography entry and decide where to place it.
  • Create a new collection explicitly when automated matching returns pending-new-collection-approval.
  • Create an item and attach a local PDF with --approve-write and --attach-pdf to ensure explicit consent.
  • Run the provided smoke test to verify local environment and CLI behavior without network writes.

FAQ

Run the provided one-line setup command from the skill directory with your library URL and API key to generate config.json; do not proceed until config.json exists.

Where should I store my Zotero API key?

Use an environment variable (default ZOTERO_API_KEY) or a secure secret file path; inline config is least preferred for security reasons.

Will the skill create collections or items automatically?

No. Collection creation and item writes only occur when you pass explicit approval flags (--approve-create or --approve-write).

What happens if PDF upload fails?

Uploads are reported as failures and not silently ignored. The workflow returns an error so you can retry or investigate.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational