zotero-obsidian-bridge

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Zotero Obsidian Bridge

Zotero Obsidian 桥接工具

Bridge Zotero as the literature source of truth with Obsidian as the durable project knowledge base.
Use this skill when the user wants to:
  • collect and organize papers in Zotero,
  • read papers from Zotero MCP,
  • create or update one detailed paper note per paper under Obsidian
    Papers/
    ,
  • synthesize those notes into
    Knowledge/
    notes,
  • verify that a whole Zotero collection has complete canonical note coverage,
  • visualize the literature structure as a default Obsidian canvas.
作为文献事实来源的Zotero作为持久化项目知识库的Obsidian打通。
当用户需要完成以下需求时可使用此技能:
  • 在Zotero中收集和整理论文
  • 从Zotero MCP中读取论文
  • 在Obsidian的
    Papers/
    目录下为每篇论文创建或更新一份详细的论文笔记
  • 将这些笔记整合到
    Knowledge/
    目录下的笔记中
  • 验证整个Zotero收藏夹是否已有完整的规范笔记覆盖
  • 以默认Obsidian canvas形式可视化文献结构

Core stance

核心原则

  • Zotero owns collection, metadata, attachments, PDF full text, annotations.
  • Obsidian owns durable reading notes, project-facing literature knowledge, cross-note links, synthesis.
  • Prefer one canonical paper note per paper.
  • Prefer filesystem-first Obsidian notes; do not require Obsidian MCP.
  • Use this as an explicit, agent-first skill for Zotero ingestion.
  • Prefer
    Papers/
    +
    Knowledge/
    as the default bridge targets.
  • Prefer
    Maps/literature.canvas
    as the default graph artifact.
  • Prefer a strong review schema inside each canonical paper note:
    • Claim
    • Method
    • Evidence
    • Limitation
    • Direct relevance to repo
    • Relation to other papers
  • Treat some Zotero
    webpage
    items as valid literature sources when they still expose useful metadata, attachment text, or fulltext.
  • Zotero负责管理收藏内容、元数据、附件、PDF全文、标注
  • Obsidian负责管理持久化阅读笔记、面向项目的文献知识、笔记间链接、内容整合
  • 优先遵循每篇论文对应一份规范笔记的规则
  • 优先使用文件系统优先的Obsidian笔记,不需要强制依赖Obsidian MCP
  • 将此作为Zotero数据导入的显式、Agent优先的技能使用
  • 优先使用**
    Papers/
    +
    Knowledge/
    **作为默认的桥接目标目录
  • 优先使用**
    Maps/literature.canvas
    **作为默认的图谱产物路径
  • 建议每份规范论文笔记内包含完善的评审结构:
    • 研究主张(Claim)
    • 研究方法(Method)
    • 证据(Evidence)
    • 局限性(Limitation)
    • 与代码仓库的直接关联
    • 与其他论文的关系
  • 当Zotero中的
    webpage
    条目仍能提供有用的元数据、附件文本或全文时,可将其视为有效的文献来源

Default workflow

默认工作流

  1. Resolve the current project via
    $obsidian-project-memory
    .
    • If the repo is already bound, use the existing vault.
    • If it looks like a research repo but is not bound, bootstrap it first.
  2. Read Zotero items from the target collection/query.
    • If the user asked for a full collection pass, prefer full coverage over a small representative subset.
    • If the transport path through MCP is failing but a local
      zotero-mcp
      source checkout or Python environment is available, use that local fallback to read metadata/fulltext instead of stopping the workflow.
  3. For each paper:
    • get metadata,
    • get full text when available,
    • get annotations/notes when helpful,
    • create or update the canonical paper note in
      Papers/
      .
  4. Add project-facing structure to each paper note:
    • claim,
    • research question,
    • method,
    • evidence,
    • strengths,
    • limitation,
    • direct relevance to repo,
    • relation to other papers,
    • links to related papers and the best matching
      Knowledge/
      notes.
  5. Synthesize the batch into durable
    Knowledge/
    notes such as:
    • Knowledge/Literature-Overview.md
    • Knowledge/Method-Families.md
    • Knowledge/Research-Gaps.md
      only when the synthesis is stable enough to deserve a canonical note.
  6. If the request is collection-scoped, update a durable inventory note that records:
    • collection size,
    • item triage,
    • item -> canonical note mapping,
    • current coverage count such as
      16 / 16
      .
    • use the canonical inventory path
      Knowledge/Zotero-Collection-{collection-slug}-Inventory.md
      .
  7. Refresh
    Maps/literature.canvas
    .
    • Prefer semantic filtering and edge thinning.
    • Prefer argument-map structure (
      paper + claim + method + gap
      ) over dense all-to-all paper links.
    • If needed, keep a second lightweight display canvas such as
      Maps/literature-main.canvas
      .
  8. If the user also wants writing deliverables, update:
    • Writing/literature-review.md
    • Writing/comparison-matrix.md
  9. Update today's
    Daily/
    note and repo-local project memory.
  10. Run a deterministic verification pass after batch ingestion or schema refactors.
  1. 通过
    $obsidian-project-memory
    解析当前项目
    • 如果代码仓库已完成绑定,使用现有的知识库
    • 如果属于研究类仓库但未绑定,先完成初始化引导
  2. 从目标收藏夹/查询条件中读取Zotero条目
    • 如果用户要求扫描整个收藏夹,优先保证全量覆盖而非选取少量代表性子集
    • 如果通过MCP的传输路径失败,但本地有
      zotero-mcp
      源文件检出或者可用的Python环境,使用本地 fallback 读取元数据/全文,不要直接终止工作流
  3. 针对每篇论文:
    • 获取元数据
    • 存在全文时获取全文
    • 有帮助时获取标注/笔记
    • Papers/
      目录下创建或更新规范论文笔记
  4. 为每篇论文笔记添加面向项目的结构:
    • 研究主张
    • 研究问题
    • 研究方法
    • 证据
    • 优势
    • 局限性
    • 与代码仓库的直接关联
    • 与其他论文的关系
    • 指向相关论文和最匹配的
      Knowledge/
      笔记的链接
  5. 将批量处理的内容整合为持久化的
    Knowledge/
    笔记,例如:
    • Knowledge/Literature-Overview.md
    • Knowledge/Method-Families.md
    • Knowledge/Research-Gaps.md
      仅当整合内容足够稳定,值得生成规范笔记时才创建
  6. 如果请求是收藏夹维度的,更新持久化的清单笔记,记录以下内容:
    • 收藏夹大小
    • 条目分类
    • 条目 -> 规范笔记映射
    • 当前覆盖度计数,例如
      16 / 16
    • 使用规范清单路径
      Knowledge/Zotero-Collection-{collection-slug}-Inventory.md
  7. 刷新
    Maps/literature.canvas
    • 优先使用语义过滤和边精简
    • 优先使用论证图谱结构(
      论文 + 主张 + 方法 + 研究空白
      )而非密集的全连接论文链接
    • 如有需要,保留第二个轻量展示画布,例如
      Maps/literature-main.canvas
  8. 如果用户还需要写作交付物,更新:
    • Writing/literature-review.md
    • Writing/comparison-matrix.md
  9. 更新当日的
    Daily/
    笔记和仓库本地的项目记忆
  10. 在批量导入或结构重构后运行确定性验证流程

Default outputs

默认输出

  • Papers/*.md
    - one detailed reading note per paper
  • Knowledge/*.md
    - durable literature synthesis notes when the batch yields stable knowledge
  • Knowledge/Zotero-Collection-{collection-slug}-Inventory.md
    - when the source is a concrete Zotero collection and coverage tracking matters
  • Maps/literature.canvas
    - default visual literature graph
  • Maps/literature-main.canvas
    - optional lightweight presentation graph after semantic filtering
  • Writing/literature-review.md
    - when the user asks for synthesis
  • Writing/comparison-matrix.md
    - when cross-paper comparison is useful
  • Papers/*.md
    - 每篇论文对应一份详细阅读笔记
  • Knowledge/*.md
    - 当批量处理产出稳定知识时生成的持久化文献整合笔记
  • Knowledge/Zotero-Collection-{collection-slug}-Inventory.md
    - 当来源是具体的Zotero收藏夹且需要追踪覆盖度时生成
  • Maps/literature.canvas
    - 默认的可视化文献图谱
  • Maps/literature-main.canvas
    - 可选的语义过滤后的轻量展示图谱
  • Writing/literature-review.md
    - 当用户要求生成整合内容时生成
  • Writing/comparison-matrix.md
    - 当需要跨论文对比时生成

Safety rules

安全规则

  • Do not dump raw full text into Obsidian.
  • Do not create a new note if the canonical paper note already exists.
  • Do not create
    Concepts/
    or
    Datasets/
    trees by default.
  • Do not treat
    Experiments/
    ,
    Results/
    , or
    Writing/
    as the default bridge target during Zotero ingestion.
  • Do not force every relationship into a new note; use frontmatter fields, sections, wikilinks, and
    linked_knowledge
    first.
  • If a relationship is uncertain, record it in the note body or
    Daily/
    instead of manufacturing durable structure.
  • Do not stop at a representative subset if the user explicitly asked to check all papers in a collection.
  • Do not leave schema drift unresolved across notes in the same collection after a batch pass.
  • 不要将原始全文直接导入Obsidian
  • 如果规范论文笔记已存在,不要创建新笔记
  • 默认不要创建
    Concepts/
    Datasets/
    目录树
  • 在Zotero导入过程中,不要将
    Experiments/
    Results/
    Writing/
    作为默认的桥接目标目录
  • 不要强制将每一个关系都生成新笔记;优先使用frontmatter字段、章节、维基链接和
    linked_knowledge
    字段
  • 如果关系不确定,将其记录在笔记正文或
    Daily/
    笔记中,不要强行生成持久化结构
  • 如果用户明确要求检查收藏夹中的所有论文,不要仅处理代表性子集就终止
  • 批量处理完成后,不要留下同一收藏夹内笔记之间的结构不一致问题

References

参考文件

Load only what is needed:
  • references/WORKFLOW.md
    - end-to-end Zotero -> Obsidian procedure
  • references/PAPER-NOTE-SCHEMA.md
    - detailed paper note fields and sections
  • references/COLLECTION-INVENTORY-SCHEMA.md
    - canonical inventory note naming and mapping contract
  • references/LOCAL-ZOTERO-FALLBACK.md
    - local fallback runbook when MCP transport fails
  • examples/example-collection-inventory.md
    - example inventory note
  • scripts/verify_paper_notes.py
    - deterministic schema, zotero-key, and inventory consistency check
  • ../obsidian-literature-workflow/references/PAPER-NOTE-SCHEMA.md
    - shared note schema
  • ../obsidian-literature-workflow/references/CANVAS-WORKFLOW.md
    - default literature canvas refresh rules
仅加载需要的内容:
  • references/WORKFLOW.md
    - 端到端Zotero -> Obsidian流程
  • references/PAPER-NOTE-SCHEMA.md
    - 详细的论文笔记字段和章节说明
  • references/COLLECTION-INVENTORY-SCHEMA.md
    - 规范清单笔记命名和映射约定
  • references/LOCAL-ZOTERO-FALLBACK.md
    - MCP传输失败时的本地 fallback 运行手册
  • examples/example-collection-inventory.md
    - 清单笔记示例
  • scripts/verify_paper_notes.py
    - 确定性的结构、zotero-key和清单一致性检查脚本
  • ../obsidian-literature-workflow/references/PAPER-NOTE-SCHEMA.md
    - 共享的笔记结构
  • ../obsidian-literature-workflow/references/CANVAS-WORKFLOW.md
    - 默认文献画布刷新规则