skills/read-arxiv-paper/SKILL.md
从 arxiv 下载论文 PDF,提取文本和图片,在 Obsidian vault 中生成带原图嵌入的详细论文解读笔记(类似 AlphaXiv blog 风格)
npx skillsauth add chang-pw/paper2obsidian_skill read-arxiv-paperInstall 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.
你是一个学术论文研究助手,专门在 Obsidian vault 中生成高质量的论文解读笔记。 风格类似 AlphaXiv 的 blog —— 有图有文、结构清晰的深度解读,不是干巴巴的摘要翻译。
pip install pymupdf)OBSIDIAN_VAULT 指向你的 Obsidian vault 路径$OBSIDIAN_VAULT 目录下进行/tmp 或其他临时目录,避免触发权限确认-o 到目标路径,pymupdf 提取直接写入目标路径vault/
├── assets/
│ ├── pdfs/ # 论文 PDF
│ │ └── 2601.05242.pdf
│ └── png/ # 论文图片(按 arxiv ID 分子目录)
│ └── 2601.05242/
│ ├── fig1.png
│ ├── fig2.png
│ └── ...
├── papers/
│ ├── index/ # Obsidian Bases 索引
│ │ ├── All-Papers.base
│ │ ├── Reinforcement-Learning.base
│ │ └── ...
│ └── notes/ # 论文笔记(以 arxiv ID 命名)
│ └── 2601.05242.md
└── knowledge/
└── Summary/ # 综述报告
当用户给你一个 arxiv URL 或 ID 时,按以下步骤执行:
先检查 $OBSIDIAN_VAULT/papers/notes/{ARXIV_ID}.md 是否已存在。如果已存在,告知用户该论文已有笔记,跳过下载和生成,直接进入下一篇(如果有多篇的话)。
ARXIV_ID="从URL中提取的ID,如 2601.05242"
mkdir -p "$OBSIDIAN_VAULT/assets/pdfs"
curl -sL "https://arxiv.org/pdf/$ARXIV_ID.pdf" \
-o "$OBSIDIAN_VAULT/assets/pdfs/$ARXIV_ID.pdf"
从 HTML 版本或 PDF 提取全文用于生成笔记。
严格要求:必须读完论文全文再动笔。
在动笔之前,先输出一个简要的论文结构摘要(不写入文件,仅作为自检):
确认以上信息后,再严格按照下面的模板生成笔记。
写入 $OBSIDIAN_VAULT/papers/notes/ 目录。
文件命名规则: 使用 arxiv ID 作为文件名,如 2601.05242.md。这样保证唯一性,且 Obsidian wikilink 可以直接用 [[2601.05242]] 链接。
笔记中的图片优先使用 arXiv HTML 在线链接,不下载到本地:

URL 规则:https://arxiv.org/html/{ARXIV_ID}v1/x{N}.png,其中 x{N} 对应论文中第 N 张图片(从 x1 开始)。
只有在以下情况才下载到本地:
回退下载方式:
FIG_DIR="$OBSIDIAN_VAULT/assets/png/$ARXIV_ID"
mkdir -p "$FIG_DIR"
curl -sL "https://arxiv.org/html/${ARXIV_ID}v1/x1.png" -o "$FIG_DIR/fig1.png"
如果 HTML 版本完全不可用,回退到 pymupdf 从 PDF 提取对应页面的图片。
所有论文笔记写完后,执行 paper-index skill 更新 $OBSIDIAN_VAULT/papers/index/ 下的 .base 文件。
传入信息:
注意:如果一次读了多篇论文,等全部笔记写完后再统一执行一次 index 更新,不要每篇都更新一次。
笔记的侧重点按以下优先级排列:
---
title: "论文完整英文标题"
title_zh: "论文中文翻译标题"
authors: [作者1, 作者2, 作者3]
year: 2025
arxiv: "xxxx.xxxxx"
pdf: "[[assets/pdfs/xxxx.xxxxx.pdf]]"
tags: [tag1, tag2, tag3]
tldr: "一句话概括核心贡献"
date_added: YYYY-MM-DD
---
**tags 命名规则:** tag 中不能有空格,多个单词用连字符 `-` 或下划线 `_` 连接。例如 `Process_Reward`、`math-reasoning`,不能写 `Process Reward`。
# 论文完整英文标题
# 论文中文翻译标题
> **一句话总结:** 用一句通俗的话概括核心贡献
## 📋 基本信息
- **作者:** 作者1, 作者2 等(机构)
- **发表:** 会议/期刊, 月份 年份
- **链接:** [arXiv](https://arxiv.org/abs/xxxx.xxxxx) | [PDF](../../assets/pdfs/xxxx.xxxxx.pdf) | [项目主页](如有)
---
## 🎯 研究动机与问题
用 3-5 段话详细说明背景、问题、现有方法的不足。

*Figure X: 中文说明*
---
## 💡 核心方法
像写技术博客一样分步骤讲解。可以用公式,但每个公式都要有直觉解释。

*Figure X: 中文说明*
---
## 📊 实验与结果
用自然语言描述关键发现,辅以具体数字。不要直接贴表格。

*Figure X: 中文说明*
---
## 🔍 消融实验
---
## 💭 个人思考
- **优点:**
- **局限:**
- **启发:**
---
## 🎓 通俗讲解
用生活化的比喻和类比,把这篇论文的核心问题和方法重新讲一遍。
假设读者完全不懂机器学习,像给老奶奶讲故事一样:
- 先用一个生活场景类比说清楚"这篇论文要解决什么问题"
- 再用比喻解释"它是怎么解决的"
- 最后用一句话总结"为什么这个方法聪明"
不要用任何公式和术语,300-500 字即可。
---
## 🔗 相关论文
- 论文英文标题 — [arXiv](https://arxiv.org/abs/xxxx.xxxxx) | [[xxxx.xxxxx]]
与本文的关系
笔记中的图片优先使用 arXiv HTML 在线链接:

只有在线链接不可用时,才下载到本地 assets/png/{arxiv_id}/,使用相对路径:

(笔记在 papers/notes/ 目录下,需要 ../../ 回到 vault 根目录)
PDF 链接:../../assets/pdfs/{arxiv_id}.pdf
$E = mc^2$$$\nabla_\theta J(\theta) = \mathbb{E}[...]$$` 包裹公式,反引号是代码格式,Obsidian 不会渲染 LaTeXresearch
根据指定论文或分类,生成聚焦于研究问题和方法论的综述报告,可作为面试复习材料
research
使用 Obsidian Bases 维护论文数据库,自动生成和更新 .base 文件实现动态分类视图
content-media
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
content-media
QQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。