Paper Import Workflow for Zotero#
Use this skill when the user asks to organize, import, archive, summarize, or report on a paper, including DOI/title/link/PDF inputs and existing Obsidian clipping notes.
The workflow has two paths:
- Path A, new paper: DOI, title, URL, or PDF -> Zotero record -> Obsidian paper folder/note -> figure screenshots -> Chinese paper report.
- Path B, clipping note: existing Obsidian/Web Clipper/Zotero clipping note -> metadata completion -> reconstructed paper note -> figures -> optional Chinese report.
Core Rules#
- Use Zotero-native tools first. Do not directly edit
zotero.sqliteunless the user explicitly asks for low-level database work. - For importing papers, use
library_importfor identifiers or files. - For live scholarly metadata/search, use
literature_search. - For finding existing local records, use
library_search,library_read, andlibrary_retrieve. - For Zotero item updates, use
library_update. - For Zotero notes, use
note_write. - For Obsidian/file-based notes, use
file_iowith absolute Windows paths. - For PDF rendering, image downloading, Word generation, or shell utilities, use
run_commandand verify stdout/stderr. - Never finish a user-requested write workflow with only a prose plan. Call the appropriate write/import/update tool.
- If a tool opens a confirmation/review card, that card is the deliverable.
Input Classification#
Classify the user input before acting.
| Input | Signal | Preferred action |
|---|---|---|
| DOI | contains 10.xxxx/ or doi.org/ |
library_search for duplicates, then library_import if absent |
| PMID | pure numeric biomedical ID | literature_search or identifier import if supported |
| Publisher URL | Nature, Science, Cell, PubMed, PMC, journal page URL | extract DOI when possible, then metadata/import workflow |
| PDF file | path ends with .pdf |
library_import with kind:'files' |
| English paper title | no DOI/PDF/path signal | literature_search or library_import by identifier/title when applicable |
| Obsidian clipping note | Markdown path, YAML frontmatter, clippings, 精彩片段, 概括, description |
Path B |
| Active Zotero paper | user says “这篇/当前文献/整理这篇” | read active item by context ID |
Path A: New Paper#
A1. Check Existing Zotero Records#
Use local Zotero search before importing.
- DOI known:
library_search({ entity:'items', mode:'search', text: doi, include:['metadata','attachments','tags','collections'] }). - Title known:
library_search({ entity:'items', mode:'search', text: title, include:['metadata','attachments','tags','collections'] }). - If matches are plausible, summarize them and ask only when the choice is ambiguous.
- If no match is found and the user asked to import, continue to import.
A2. Import or Retrieve Metadata#
- DOI/URL/title import: use
library_import({ kind:'identifiers', ... })when the identifier is usable. - PDF import: use
library_import({ kind:'files', ... }). - External discovery or canonical metadata: use
literature_search({ workflow:'answer' })for answering, orworkflow:'review'when the result should be imported or used to update Zotero. - After import, use the returned or active item ID for the rest of the workflow.
A3. Read Metadata and Paper Content#
- Use
library_read({ sections:['metadata','attachments','collections'] })to obtain title, authors, DOI, journal, year, URL, and PDF attachment state. - Use
paper_read({ mode:'overview' })for a concise understanding. - Use one targeted
paper_read({ mode:'targeted', query:'methods results key findings limitations figures' })only when the report needs result-level detail. - If MinerU cache is available and the user asks for figures or detailed notes, read
manifest.jsonfirst, then selected ranges fromfull.md.
A4. Chinese Translation Is Required#
For every import/organization workflow, produce and store:
title_zh: faithful Chinese translation of the English title.abstract_zh: complete Chinese translation of the abstract, covering purpose, methods, findings, and conclusion.
Translation principles:
- Use accepted biomedical terminology.
- Keep the Chinese title concise and natural.
- Do not omit abstract sentences.
- If the paper is very new or terminology is uncertain, use external scholarly lookup for verification when available.
A5. Zotero Organization#
Choose collections and tags based on topic. Use library_update, not direct SQLite edits.
Suggested collections:
| Topic | Collections |
|---|---|
| ferroptosis / 铁死亡 | 铁死亡, 铁死亡与细胞死亡 |
| metabolic reprogramming | 代谢重编程, 代谢组学 |
| tumor immunity / ICB | 免疫细胞与炎症微环境 |
| single-cell / spatial omics | 单细胞与空间组学, 单细胞分析 |
| wound healing / regeneration | 伤口愈合与再生 |
| fibrosis / scar | 瘢痕与皮肤纤维化, 增生性瘢痕 |
| adipose tissue / metabolism | 代谢重编程 |
| neuroimmune / CGRP | 神经免疫与CGRP |
| cell-cell interaction | 细胞互作 |
| unsorted papers | 已读未归类 or 待整理新文献 |
Suggested tags:
- English:
ferroptosis,apoptosis,necroptosis,cuproptosis,metabolism,lipid metabolism,glutamine metabolism,immune checkpoint,PD-1,CTLA-4,immunotherapy,single-cell RNA-seq,scRNA-seq,spatial transcriptomics,tumor microenvironment,TME,macrophage,T cell. - Chinese:
铁死亡,细胞死亡,代谢重编程,肿瘤微环境,免疫治疗,PD-1,单细胞,空间组学,多组学.
A6. Create Obsidian Paper Folder#
Default Obsidian root from user configuration:
本地知识库\02 文献精读与汇报库\01_sources\papers\文献
Folder naming pattern:
YYYY-MM-JournalAbbrev-2到4个关键词标签
Examples:
2026-03-NCB-铁死亡-犬尿氨酸-铁蛋白自噬2026-02-IJS-H4K12-乳酰化-OA-软骨下骨
Journal abbreviation hints:
- Nature -> Nat
- Nature Cell Biology -> NCB
- Nature Medicine -> NM
- Cell -> Cell
- Cancer Cell -> CC
- Molecular Cell -> MC
- Journal of Clinical Investigation -> JCI
Use run_command to create folders when needed and verify the result.
A7. Generate Original Obsidian Paper Note#
Use file_io for file-based Obsidian notes. Do not print the full note in chat.
Recommended frontmatter for this workflow:
---
title: "英文论文标题"
title_zh: "中文标题"
source: "URL or DOI"
author:
- "First Author"
published: YYYY-MM-DD
zotero_item_id: 1234
zotero_key: "ZOTEROKEY_OR_EMPTY"
zotero_collections:
- "Collection name"
zotero_tags:
- "tag"
created: YYYY-MM-DD
description: "English abstract"
abstract_zh: "完整中文摘要"
tags:
- clippings
---
Body structure:
# 中文标题
英文标题:...
## 中文摘要
...
## 背景与研究意义
## 科学问题
## 研究思路
## 主要结果
## 讨论与结论
## 关键图表
## 参考文献
A8. Generate Chinese Literature Report#
When the user asks for a report, generate Markdown and optionally Word .docx.
Required structure:
- 标题与摘要: Chinese title, English title, journal, year/date, IF/zone if known, authors, Zotero ItemID, full Chinese abstract.
- 一、研究背景与科学问题: clinical background, mechanism background, three scientific questions.
- 二、整体研究思路: text-based technical route, plus figures where useful.
- 三、逐个 Result 总结: each result includes 目的, 主要证据, 核心发现.
- 四、机制模型: text flowchart and therapeutic/translation model.
- 五、汇报亮点与局限性.
- 六、参考文献: 5 to 8 core references when evidence is available.
Word filename:
文献汇报_FirstAuthor_Year_CoreTopic.docx
Markdown filename:
文献汇报_FirstAuthor_Year_CoreTopic.md
Use run_command with docx/Node.js or another available converter when generating Word files, then verify the files exist.
Path B: Clipping Note to Full Paper Note#
Trigger when the user provides an existing Obsidian note path or clipped note content with YAML frontmatter and clipping markers.
B1. Read the Clipping Note#
Use file_io({ action:'read', filePath }).
Extract:
titlesourceauthorpublishedcreateddescriptiontags- DOI, PMID, PMCID if present
- sections such as
精彩片段,概括,图文摘要, Introduction, Results, Discussion, Methods, STAR Methods, Supplementary
B2. Complete Metadata#
Priority:
- Extract DOI/PMCID from frontmatter, source URL, or body.
- Query Zotero locally for an existing item.
- Use
literature_searchfor canonical metadata if needed. - Use
library_importonly if the user wants the clipping note linked to a Zotero item and no item exists.
Complete fields when possible:
journalIF分区doizotero_item_idzotero_keyrelated_totitle_zhabstract_zh
B3. Reconstruct Body#
Rewrite the clipping note into this structure while preserving valuable original content:
# 中文标题
## 中文摘要
## 背景与研究意义
### 疾病背景
### 科学问题
## 研究思路(技术路线)
## 主要结果
### Result 1: 小标题
- 核心发现:
- 主要证据:
- 意义:
## 讨论与结论
### 核心发现
### 研究亮点
### 研究局限性
## 精彩片段
## 方法学补充
## 关键图表
## 参考文献
Preservation rules:
- Keep useful
精彩片段after core findings. - Move graphical abstract near the research route section.
- Keep STAR Methods or detailed methods as a compact supplemental section.
- Remove or shorten overly long auto-collected reference dumps; keep 5 to 8 core references when identifiable.
B4. Figures and Images#
Choose the figure source in this order:
- Zotero PDF attachment: use
library_readto inspect attachments, then render PDF pages with PyMuPDF throughrun_commandif needed. - Existing external image URLs in the clipping note: download them to the note folder's
attachmentsdirectory withrun_command, verify files, and replace external URLs with local embeds. - PMC article page: if no PDF and no image URLs exist, use PMCID/PMC page when available to find figure URLs, download images, verify, and embed.
For Obsidian notes in this workflow, wiki embeds are allowed when the note lives in a paper folder:
<img src="2022-01-GutMicrobes-%E8%82%A0%E9%81%93%E7%9A%AE%E8%82%A4%E8%BD%B4-%E7%BB%BC%E8%BF%B0/attachments/Figure_1.jpg" alt="Figure_1.jpg">
If using standard Markdown instead, use relative paths only:
<img src="2022-01-GutMicrobes-%E8%82%A0%E9%81%93%E7%9A%AE%E8%82%A4%E8%BD%B4-%E7%BB%BC%E8%BF%B0/attachments/Figure_1.jpg" alt="Figure 1">
Never use file:/// or absolute Windows paths for Obsidian inline images.
Insert figures near relevant sections:
| Figure content | Insert after |
|---|---|
| PRISMA/method schematic | Methods/research method section |
| Microbiome composition or tissue architecture | Relevant ecology/tissue section |
| Mechanism/pathway model | Corresponding mechanism section |
| Disease association overview | Summary or disease background |
| Bar/line/scatter data figure | Corresponding Result section |
Suggested figure block:
### Figure N | 简短描述
<img src="attachments/Figure_N.jpg" alt="Figure_N.jpg">
> 图注:Figure N. English caption.
> - (A) 子图A说明
> - (B) 子图B说明
Also consider a final overview section before references:
## 关键图表 (Figure 1-N)
按研究逻辑顺序排列论文原图与中英文图注。
B5. Optional Chinese Report#
If requested, generate report Markdown and/or Word from the reconstructed note.
Use the same report structure as Path A. The abstract can come from the clipping note 概括 or description, but it must be translated completely into Chinese.
PDF Figure Rendering Procedure#
When a PDF is available and the user asks for paper figures:
- Locate the PDF path from Zotero attachment metadata via
library_read({ sections:['attachments'] })orzotero_scriptread mode if path details are missing. - Check PyMuPDF with
python -c "import fitz; print('ok')"; install only if needed and acceptable. - Scan PDF text for
Figure Ncaptions to infer page numbers. - Render each figure page at 2x resolution unless the user requests otherwise.
- Save images to the Obsidian paper folder
attachmentsdirectory. - Extract captions from PDF text when possible.
- Embed each figure at the relevant section and add a final figure overview when useful.
- Verify generated images exist and are readable.
Completion Report#
After completing the workflow, answer briefly in Chinese with:
- Zotero status: imported/found/updated item ID if available.
- Obsidian note path.
- Report file paths if generated.
- Figure count and attachment folder if generated.
- Any limitations, such as missing PDF, missing DOI, unavailable IF, or failed image download.
Do not paste the full generated note or report body in chat when files were requested.