# Paper Reader

Read academic papers from a bare arXiv abs/pdf/html URL, a PDF, a paper title, or Zotero.

- Repository: https://github.com/huangkiki/dailypaper-skills (1329 stars)
- Category: Documents
- License: Apache-2.0
- Last updated: 2026-10-29
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add huangkiki/dailypaper-skills --skill paper-reader -g -a claude-code -y`
Codex: `npx skills add huangkiki/dailypaper-skills --skill paper-reader -g -a codex -y`
Cursor: `npx skills add huangkiki/dailypaper-skills --skill paper-reader -g -a cursor -y`
Gemini CLI: `npx skills add huangkiki/dailypaper-skills --skill paper-reader -g -a gemini-cli -y`

## Description

Read academic papers from a bare arXiv abs/pdf/html URL, a PDF, a paper title, or Zotero. Use for "read this paper", "analyze this paper", "读一下 XXX", "读一下这篇", "帮我读", "看一下这篇论文", "论文笔记", quick summaries, critiques, and Zotero collection reading. A standalone arXiv link or ordinary reading request defaults to full reading and automatic note saving in the configured Obsidian/Markdown library. Honor explicit depth, destination, and no-save requests; a citation used for another task does not trigger reading.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Language / 语言

First resolve `OUTPUT_LANGUAGE` using [language selection](../_shared/language.md).
For an English request (or an explicit request for English), read and follow
[the English workflow](SKILL.en.md) instead of the Chinese body below.
中文请求继续执行下文；用户明确指定的语言优先。内部阶段继承语言，不从论文或工具输出重新判断。

## 执行环境

开始前读取 [Agent 运行约定](../_shared/agent-runtime.md)，解析当前 Skill 目录、有效配置和 `TEMP_DIR`，再执行下文。

> **开始前**: 先跟用户打个招呼 🐕

# 学术论文阅读助手 (Paper Reader)

专注 CV/DL 领域，支持 Zotero 集成和 Obsidian 笔记保存。

## 默认执行约定

- 单独发送 arXiv 论文链接（`/abs/`、`/pdf/`、`/html/`，含版本号或 `.pdf` 后缀）就是完整阅读请求，无需补说“读一下”或“保存”。链接仅作为其他任务的引用、示例或背景时，按该任务处理。
- “读一下 XXX”“读一下这篇”“帮我读”“看一下这篇论文”“分析这篇论文”默认执行：获取全文 → 完整解析与独立锐评 → 生成正式笔记 → 写入配置的 Obsidian/Markdown 库 → 补概念与按配置刷新索引 → 反馈核心判断与实际笔记路径。不要停在聊天摘要、计划或“要不要保存”的询问。
- 用户明确要求快速摘要、批判分析或公式提取时，保留该阅读深度，并默认保存相应模式的笔记；“只在聊天里回答”“不要保存”或指定其他输出位置优先，不额外归档到 Obsidian。
- 仅有论文名时先用当前上下文、Zotero 或标题检索定位来源；同名论文无法确定时只澄清论文身份。笔记库配置缺失、根目录不存在、仍是未初始化的示例路径或不可写时，只询问/报告实际缺失项，不假装已保存，也不擅自另建一个笔记库。

## Step 0: 读取共享配置

运行 `python3 ../_shared/user_config.py`，使用其输出的合并配置（含个人配置和环境变量覆盖）。

显式生成并在后续统一使用这些变量：

- `VAULT_PATH`
- `NOTES_PATH`
- `CONCEPTS_PATH`
- `ZOTERO_DB`
- `ZOTERO_STORAGE`
- `AUTO_REFRESH_INDEXES`
- `GIT_COMMIT_ENABLED`
- `GIT_PUSH_ENABLED`

其中：

- `NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}`
- `CONCEPTS_PATH = {NOTES_PATH}/{concepts_folder}`
- `GIT_PUSH_ENABLED` 只有在 `GIT_COMMIT_ENABLED=true` 时才可能为真

后续统一使用上面的变量。

## 1. 接收论文

| 输入方式 | 示例 | 处理方法 |
|----------|------|----------|
| PDF 路径 | `/path/to/paper.pdf` | 直接 Read |
| arXiv 链接（可单独发送） | `https://arxiv.org/abs/xxxx`、`/pdf/xxxx`、`/html/xxxx` | 解析 ID/版本 → 优先获取 HTML 全文，失败回退 PDF → 完整阅读并保存 |
| Zotero 分类 | "VLA 分类的论文" | 查询数据库 → 列出 → 用户选择 |
| Zotero 搜索 | "Zotero 里的 π0.5" | 搜索标题 → 找到 PDF |
| 无 PDF | Zotero 条目无附件 | 从网上获取（见下方） |

从 arXiv 链接保留论文 ID 与用户指定的版本，去掉查询参数或 `.pdf` 后缀后定位同一篇论文；HTML 和 PDF 回退不能偷偷换版本。笔记记录实际阅读的来源链接与版本。先检查已有笔记中的来源 ID/标题，命中同一论文时优先补充原文件并保留用户批注，不因链接形式不同重复建档；快速模式不得用短摘要覆盖已有完整笔记。全文无法获取时明确标记阅读范围和缺失部分，不把仅摘要笔记报告为完整精读。

### 无 PDF 时的获取流程

The rest: https://github.com/huangkiki/dailypaper-skills/blob/HEAD/skills/paper-reader/SKILL.md
