Overview
- Skill Key
- chenhaox/zotero-pdf-upload
- Author
- chenhaox
- Source Repo
- openclaw/skills
- Version
- -
- Source Path
- skills/chenhaox/zotero-pdf-upload
- Latest Commit SHA
- 4997e7a6569c584d42cb9c71c6685fe7061f5f1e
Upload PDFs and manage items in a Zotero Web Library. Supports both personal and group libraries. Use when a user wants to add papers/PDFs to Zotero, organize collections, or manage their Zotero library through the API.
Stars
0
Installs
0
Status
ACTIVE
Visibility
PUBLIC
直接复制以下提示词,发送给你的 AI 助手即可完成安装。
请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub.md 安装 SkillHub 商店,然后安装 zotero-pdf-upload 技能。 若已安装,则直接安装 zotero-pdf-upload 技能。
# zotero-pdf-upload Use this skill for direct Zotero workflows that must stay safe, explicit, and reusable. ## First-time setup check (do this BEFORE any Zotero operation) Before running any command, check if `config.json` exists in the skill root directory. **If `config.json` does NOT exist**, stop and inform the user: > This skill is not configured yet. You need to set it up first. > > **What you need to prepare:** > > 1. **Zotero API Key** — Create one at [zotero.org/settings/keys](https://www.zotero.org/settings/keys) > - Go to Settings → Security → Create new private key > - Enable: Allow library access, Allow notes access, Allow write access > - If using group libraries, set Default Group Permissions to Read/Write > - Click "Save Key" and copy the generated key > > 2. **Zotero Library URL** — Open your library in a browser and copy the URL: > - Personal: `https://www.zotero.org/<your-username>/library` > - Group: `https://www.zotero.org/groups/<group-id>/<group-name>/library` > > **Run this one-line setup command** from the skill directory: > ```bash > python scripts/setup.py "<YOUR_LIBRARY_URL>" "<YOUR_API_KEY>" > ``` Do NOT proceed with any Zotero operations until `config.json` has been created. ## Included resources - `scripts/zotero_workflow.py`: CLI entrypoint for parse/inspect/match/create operations. - `scripts/zotero_client.py`: Zotero API client, URL parser, secret loading, collection matching, item creation, PDF upload. - `tests/smoke_test_zotero_pdf_upload.py`: no-network smoke tests. - `references/config.example.json`: runtime config template (uses unified `url` field for both group and personal URLs). - `references/item.example.json`: item metadata sample. - `references/approval-flow.md`: approval checkpoints and write safety policy. ## Required operating policy 1. Start with read-only steps (`parse-url`, `list-collections`, `choose-collection`). 2. If collection matching is we...
# 📎 zotero-pdf-upload [中文版](README_CN.md) | [GitHub](https://github.com/chenhaox/zotero-pdf-upload) > 🤖 AI Skill — Let your LLM manage your [Zotero Web Library](https://www.zotero.org) directly: upload PDFs, create items, and match collections. ## ⚙️ Configure You need two things: a **Zotero API Key** and your **Zotero Library URL**. ### Step 1 — Create a Zotero API Key 1. Log in to [zotero.org](https://www.zotero.org) and click **"Settings"** in the top-right corner. 2. In the Settings page, click **"Security"** in the left sidebar, then scroll down to the **Applications** section and click **"Create new private key"**. 3. Configure the key permissions: - **Personal Library**: ✅ Allow library access, ✅ Allow notes access, ✅ Allow write access - **Default Group Permissions**: Set to **Read/Write** (if you use group libraries) - Click **"Save Key"** to generate your `Zotero_API_Key` 4. **Copy the generated key** — you'll need it below. ### Step 2 — Get your Zotero Library URL Open your Zotero library in a browser and copy the URL from the address bar: - **Personal library**: `https://www.zotero.org/<your-username>/library` - **Group library**: `https://www.zotero.org/groups/<group-id>/<group-name>/library` For example: ``` # Personal https://www.zotero.org/chenhaox/library # Group https://www.zotero.org/groups/6320165/fafu_robot/library ``` ### Step 3 — Run setup ```bash python scripts/setup.py "<YOUR_LIBRARY_URL>" "<YOUR_API_KEY>" ``` ✅ **Done!** Restart your conversation and the LLM will automatically detect and use this skill. > 💡 Just tell the AI: _"Upload this PDF to my Zotero collection X"_ — it will handle the rest. --- ## 🔧 What it does - 🔗 Parse Zotero group/user URLs into `libraryType` + `libraryId` - 📂 List and inspect existing collections - 🎯 Heuristically match an item to an existing collection - ✋ Require explicit approval before creating collections/ite...
heyixuan2
Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pipeline: search → generate → analyze → colorize → preview → open BS → user slice → print → monitor. Supports all 9 Bambu Lab printers (A1 Mini, A1, P1S, P2S, X1C, X1E, H2C, H2S, H2D).
openstockdata
OpenClaw Skill for stock data analysis
human-pages-ai
Search and hire real humans for tasks — photography, delivery, research, and more
zseven-w
Reusable skill templates for OpenClaw AI agents. Templates for API integration, data processing, web scraping, CLI tools, and file processing.
capt-marbles
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discoverability and citation.
cchacons
The job marketplace where bots hire bots. Post FREE or paid $WAGE jobs, with on-chain escrow, faucet rewards, referrals, judge staking, task inbox, smart matching, checkpoints, oversight, webhooks, onboarding, and human owner dashboard.