zotero-paper-reader by fuzhiyu/researchprojecttemplate
npx skills add https://github.com/fuzhiyu/researchprojecttemplate --skill zotero-paper-reader直接从 Zotero 文献库中读取和分析学术论文。此技能处理从搜索 Zotero 到将 PDF 转换为可读 Markdown 格式的完整工作流程。
当用户请求以下操作时使用此技能:
使用 Zotero MCP 工具搜索论文:
# 按标题、作者或关键词搜索
mcp__zotero__zotero_search_items(query="论文标题或作者", limit=5)
如果找到多篇论文,向用户展示搜索结果。从选定的论文中获取 item_key。
检索 PDF 附件信息:
# 获取论文的子项(附件)
mcp__zotero__zotero_get_item_children(item_key="ITEM_KEY")
查找 type: application/pdf 的附件,并记下其 Key(附件键)和 。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
Filename使用捆绑的脚本获取 PDF - 它会自动先尝试本地存储,如果需要则下载:
uv run python .claude/skills/zotero-paper-reader/scripts/get_zotero_pdf.py ATTACHMENT_KEY
脚本工作流程:
~/Zotero/storage/ATTACHMENT_KEY/)/tmp/[原始文件名]安全说明: Zotero API 密钥和文献库配置由 Python 脚本直接从 Notes/.env 读取,永远不会暴露给 LLM。所需环境变量:ZOTERO_API_KEY、ZOTERO_LIBRARY_TYPE、ZOTERO_LIBRARY_ID。
使用 mistral-pdf-to-markdown 技能转换 PDF:
uv run python .claude/skills/mistral-pdf-to-markdown/scripts/convert_pdf_to_markdown.py \
"PATH_TO_PDF" \
"Notes/PaperInMarkdown/CLEAN_FILENAME.md"
文件名约定: 根据论文元数据创建干净的文件名:
作者_年份_标题.mdDu_et_al_2023_Are_Intermediary_Constraints_Priced.md读取转换后的 Markdown 文件:
# 对于大型论文,分段读取
Read(file_path="Notes/PaperInMarkdown/FILENAME.md", offset=1, limit=500)
由于学术论文通常篇幅较大(>25k tokens),请策略性地阅读:
向用户提供:
用户请求: "从我的 Zotero 文献库中读取论文 'Are Intermediary Constraints Priced'"
工作流程:
mcp__zotero__zotero_search_items(query="Are Intermediary Constraints Priced")mcp__zotero__zotero_get_item_children(item_key="KPRQ2DLZ")uv run python .claude/skills/zotero-paper-reader/scripts/get_zotero_pdf.py 2HSELEHX
uv run python .claude/skills/mistral-pdf-to-markdown/scripts/convert_pdf_to_markdown.py [PDF_PATH] Notes/PaperInMarkdown/Du_et_al_2023_Are_Intermediary_Constraints_Priced.mdRead(file_path="Notes/PaperInMarkdown/Du_et_al_2023_Are_Intermediary_Constraints_Priced.md", limit=500)Notes/.env 中设置 ZOTERO_API_KEY、ZOTERO_LIBRARY_TYPE 和 ZOTERO_LIBRARY_IDNotes/.env 中的 Mistral API 密钥用于 PDF 转换images/ 子文件夹中get_zotero_pdf.py - 统一脚本,先尝试本地存储,如果需要则从网络 API 下载每周安装次数
206
代码仓库
GitHub 星标数
6
首次出现时间
2026 年 1 月 22 日
安全审计
安装于
opencode190
codex182
gemini-cli177
github-copilot171
cursor170
kimi-cli164
Read and analyze academic papers directly from the Zotero library. This skill handles the complete workflow from searching Zotero to converting PDFs to readable markdown format.
Use this skill when the user requests to:
Use the Zotero MCP tools to search for the paper:
# Search by title, author, or keywords
mcp__zotero__zotero_search_items(query="paper title or author", limit=5)
Present the search results to the user if multiple papers are found. Get the item_key from the selected paper.
Retrieve the PDF attachment information:
# Get child items (attachments) for the paper
mcp__zotero__zotero_get_item_children(item_key="ITEM_KEY")
Look for the attachment with type: application/pdf and note its Key (attachment key) and Filename.
Use the bundled script to get the PDF - it automatically tries local storage first, then downloads if needed:
uv run python .claude/skills/zotero-paper-reader/scripts/get_zotero_pdf.py ATTACHMENT_KEY
The script workflow:
~/Zotero/storage/ATTACHMENT_KEY/)/tmp/[original_filename]Security note: The Zotero API key and library configuration are read directly from Notes/.env by the Python script and never exposed to the LLM. Required environment variables: ZOTERO_API_KEY, ZOTERO_LIBRARY_TYPE, ZOTERO_LIBRARY_ID.
Use the mistral-pdf-to-markdown skill to convert the PDF:
uv run python .claude/skills/mistral-pdf-to-markdown/scripts/convert_pdf_to_markdown.py \
"PATH_TO_PDF" \
"Notes/PaperInMarkdown/CLEAN_FILENAME.md"
Filename convention: Create a clean filename from the paper metadata:
Author_Year_Title.mdDu_et_al_2023_Are_Intermediary_Constraints_Priced.mdRead the converted markdown file:
# For large papers, read in sections
Read(file_path="Notes/PaperInMarkdown/FILENAME.md", offset=1, limit=500)
Since academic papers are often large (>25k tokens), read strategically:
Provide the user with:
User request: "Read the paper 'Are Intermediary Constraints Priced' from my Zotero library"
Workflow:
mcp__zotero__zotero_search_items(query="Are Intermediary Constraints Priced")mcp__zotero__zotero_get_item_children(item_key="KPRQ2DLZ")uv run python .claude/skills/zotero-paper-reader/scripts/get_zotero_pdf.py 2HSELEHX
uv run python .claude/skills/mistral-pdf-to-markdown/scripts/convert_pdf_to_markdown.py [PDF_PATH] Notes/PaperInMarkdown/Du_et_al_2023_Are_Intermediary_Constraints_Priced.mdRead(file_path="Notes/PaperInMarkdown/Du_et_al_2023_Are_Intermediary_Constraints_Priced.md", limit=500)ZOTERO_API_KEY, ZOTERO_LIBRARY_TYPE, and ZOTERO_LIBRARY_ID in Notes/.envNotes/.env for PDF conversionimages/ subfolderget_zotero_pdf.py - Unified script that tries local storage first, then downloads from web API if neededWeekly Installs
206
Repository
GitHub Stars
6
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykPass
Installed on
opencode190
codex182
gemini-cli177
github-copilot171
cursor170
kimi-cli164
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
31,600 周安装
剪映AI视频生成自动化脚本 - 基于Playwright的Seedance 2.0模型文生图/图生视频工具
204 周安装
社交媒体内容策略指南:LinkedIn、Twitter、Instagram、TikTok、Facebook平台优化与模板
204 周安装
Python statsmodels 统计建模与计量经济学分析库 - 回归、时间序列、假设检验
204 周安装
Azure PostgreSQL 无密码身份验证配置指南:Entra ID 迁移与访问管理
34,800 周安装
阅读清单管理器:基于Zettelkasten和间隔重复的智能阅读追踪与知识管理工具
Proposal Designer 提案设计师:创建视觉提案,提升用户体验与设计系统