/SKILL.md
Zotero ローカル API + REST API (Web API v3) 連携スキル。DOI からの文献一括インポート、コレクション管理、アイテム検索・一覧表示を行う。 REST API 経由でコレクション作成・アイテム CRUD・タグ管理・添付ファイルアップロード・グループライブラリ操作も可能。 Use when: (1) DOI リストから Zotero に文献を登録する, (2) Zotero のコレクション一覧・アイテム一覧を取得する, (3) BibTeX/RIS データを Zotero にインポートする, (4) CrossRef API で文献の DOI を検索する, (5) REST API でコレクション作成・アイテム追加・タグ管理を行う, (6) グループライブラリを操作する。 Triggers: "zotero", "文献登録", "DOI インポート", "コレクション", "論文追加", "文献管理"
npx skillsauth add shoei05/claude-code-zotero-skill zoteroInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Zotero のローカル HTTP サーバー(localhost:23119)および REST API(api.zotero.org)経由で文献管理操作を行う。
Zotero が起動中で、以下の設定が有効であること:
接続確認:
curl -s http://localhost:23119/connector/ping
環境変数が設定されていること:
ZOTERO_API_KEY: API キー(https://www.zotero.org/settings/keys で作成)ZOTERO_USER_ID: ユーザー ID接続確認:
curl -s -H "Zotero-API-Key: $ZOTERO_API_KEY" "https://api.zotero.org/keys/current"
/zotero import)/zotero import <DOI1> <DOI2> ...
/zotero import --file <doi_list.txt>
/zotero import --collection "コレクション名"
インポートスクリプト:
bash ~/.claude/skills/zotero/scripts/zotero_import.sh --dois "10.1038/xxx,10.2196/yyy" [--collection "名前"]
処理フロー:
/connector/ping)doi.org から BibTeX 取得(失敗時 CrossRef フォールバック)/connector/import?session=<unique_id> に POST/zotero bibtex)DOI のない文献用。BibTeX ファイルを直接インポート:
bash ~/.claude/skills/zotero/scripts/zotero_import.sh --bibtex /path/to/file.bib
DOI 不明時は CrossRef API で検索:
curl -s "https://api.crossref.org/works?query.bibliographic=著者名+キーワード&rows=5"
/zotero collections)curl -s http://localhost:23119/api/users/0/collections | python3 -c "
import json, sys
for c in json.load(sys.stdin):
d = c['data']
print(f\"{d['key']} {d['name']}\")"
/zotero list)/zotero list # 現在選択中コレクション
/zotero list --collection "名前" # 指定コレクション
/zotero search)/zotero search "AI psychosis"
curl -s -X POST \
-H "Zotero-API-Key: $ZOTERO_API_KEY" \
-H "Content-Type: application/json" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/collections" \
-d '[{"name": "コレクション名"}]'
curl -s -X PUT \
-H "Zotero-API-Key: $ZOTERO_API_KEY" \
-H "Content-Type: application/json" \
-H "If-Unmodified-Since-Version: $VERSION" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/collections/COLLECTION_KEY" \
-d '{"name": "新しい名前"}'
curl -s -X POST \
-H "Zotero-API-Key: $ZOTERO_API_KEY" \
-H "Content-Type: application/json" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/items" \
-d '[{
"itemType": "journalArticle",
"title": "タイトル",
"creators": [{"creatorType": "author", "firstName": "名", "lastName": "姓"}],
"collections": ["COLLECTION_KEY"],
"tags": [{"tag": "タグ名"}]
}]'
curl -s -X PATCH \
-H "Zotero-API-Key: $ZOTERO_API_KEY" \
-H "Content-Type: application/json" \
-H "If-Unmodified-Since-Version: $VERSION" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/items/ITEM_KEY" \
-d '{"tags": [{"tag": "new-tag"}]}'
curl -s -X DELETE \
-H "Zotero-API-Key: $ZOTERO_API_KEY" \
-H "If-Unmodified-Since-Version: $VERSION" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/items/ITEM_KEY"
curl -s -X DELETE \
-H "Zotero-API-Key: $ZOTERO_API_KEY" \
-H "If-Unmodified-Since-Version: $VERSION" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/tags?tag=tag1+||+tag2"
すべてのエンドポイントは /users/<userID> を /groups/<groupID> に置き換えるだけ。
# 所属グループ一覧
curl -s -H "Zotero-API-Key: $ZOTERO_API_KEY" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/groups"
# キーワード検索
curl -s -H "Zotero-API-Key: $ZOTERO_API_KEY" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/items?q=keyword&qmode=titleCreatorYear"
# タグフィルタ(AND: 複数 tag、OR: || 区切り、NOT: - 接頭辞)
curl -s -H "Zotero-API-Key: $ZOTERO_API_KEY" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/items?tag=AI&tag=review"
| エンドポイント | メソッド | 用途 |
|--------------|---------|------|
| /connector/ping | GET/POST | 起動確認 |
| /connector/import?session=ID | POST | BibTeX/RIS インポート |
| /connector/getSelectedCollection | POST | 選択中コレクション |
| /api/users/0/collections | GET | コレクション一覧 |
| /api/users/0/collections/:key/items | GET | アイテム一覧 |
| /api/users/0/items | GET | 全アイテム |
| エンドポイント | メソッド | 用途 |
|--------------|---------|------|
| /users/<id>/collections | GET/POST | コレクション一覧/作成 |
| /users/<id>/collections/<key> | PUT/DELETE | コレクション更新/削除 |
| /users/<id>/items | GET/POST | アイテム一覧/作成(最大50件) |
| /users/<id>/items/<key> | PUT/PATCH/DELETE | アイテム更新/削除 |
| /users/<id>/tags | GET | タグ一覧 |
| /users/<id>/tags?tag=... | DELETE | タグ一括削除 |
| /users/<id>/searches | GET/POST | 保存済み検索 |
| /users/<id>/items/<key>/file | GET/POST/PATCH | 添付ファイル |
| /users/<id>/groups | GET | グループ一覧 |
| /groups/<id>/... | 各種 | グループ操作 |
詳細: references/api-endpoints.md
/api/...) は GET のみ(読み取り専用)/connector/...) は POST で読み書き可能/connector/import の session パラメータは毎回ユニークにする(重複で 409 エラー)--data-binary @file.bib でファイル経由送信Zotero-API-Key: <key> ヘッダー(推奨)If-Unmodified-Since-Version: <version> が必須(未指定 → 428)Backoff / 429 + Retry-After ベースZotero-Write-Token: <token> ヘッダーdevelopment
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.