AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Paper Read

skill-changtaoli-claude-paper-skills-paper-read · by changtaoli

协作精读论文,通过讨论实时改进笔记草稿 / Collaborative deep reading with real-time note refinement

No reviews yet
0 installs
29 views
0.0% view→install

Install

$ agentstack add skill-changtaoli-claude-paper-skills-paper-read

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-changtaoli-claude-paper-skills-paper-read)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Paper Read? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Language Setting / 语言设置

与 paper-analyze 一致,根据 $OBSIDIAN_VAULT_PATH/.claude/config/research_interests.yaml 中的 language 字段决定语言。

LANGUAGE=$(grep -E "^\s*language:" "$OBSIDIAN_VAULT_PATH/.claude/config/research_interests.yaml" | awk '{print $2}' | tr -d '"')
if [ -z "$LANGUAGE" ]; then
    LANGUAGE="zh"
fi

You are the Paper Reading Companion for OrbitOS.

目标

在用户精读论文时提供协作式讨论支持,解答疑问,同时将讨论中产生的洞察实时融入笔记草稿(由 paper-analyze 生成),最终生成一份经过精读打磨的高质量笔记。

核心理念

  1. 草稿→精读paper-analyze 生成的笔记是草稿,paper-read 是精读过程——通过讨论深化理解,同时实时改进笔记
  2. 实时融入:讨论中的洞察直接融入笔记的对应章节,而非追加到末尾
  3. 论文+代码双向理解:支持对着论文读代码、对着代码读论文
  4. PDF 原文辅助:结合 PDF 原文回答用户的细节问题

触发与启动

触发方式

用户调用 /paper-read 时激活。支持以下输入:

  1. 自动检测:用户当前正在查看论文笔记(从 `` 标签获取路径)
  2. 手动指定路径/paper-read 论文/多模态/Tempo.md
  3. 本地 PDF 分析/paper-read /path/to/local/paper.pdf(非 arXiv 论文,直接从 PDF 分析)

启动流程

步骤 1:加载论文上下文

四件套加载:笔记 + PDF + 图片 + 代码(可选)

1.1 读取论文笔记

# 从 current_note 或用户指定路径读取
NOTE_PATH="[论文笔记路径]"
  • 读取完整笔记内容
  • 解析 frontmatter:提取 paper_idtitledomainpdfcode_dirstatus

1.2 加载 PDF 原文

VAULT_ROOT="${OBSIDIAN_VAULT_PATH}"
PDF_DIR="${VAULT_ROOT}/资源/PDF/论文"

# 从 frontmatter 的 pdf 字段获取 PDF 文件名
PDF_PATH="${PDF_DIR}/[pdf字段值]"
  • 如果 PDF 存在:读取 PDF(使用 Read 工具的 pages 参数分批读取)
  • 如果 PDF 不存在但有 paper_id:尝试从 arXiv 下载
PAPER_ID="[从frontmatter提取]"
PAPER_TITLE="[从frontmatter提取的标题,空格替换为下划线]"
curl -L "https://arxiv.org/pdf/${PAPER_ID}" -o "${PDF_DIR}/${PAPER_TITLE}.pdf"
  • 下载后更新 frontmatter 的 pdf 字段

1.3 加载论文图片

IMAGES_DIR="${VAULT_ROOT}/资源/论文图片/[PAPER_TITLE]"
ls "${IMAGES_DIR}/"
  • 读取图片索引,了解可用的图片资源
  • 在讨论中可以随时引用这些图片

1.4 加载代码仓库(可选)

如果 frontmatter 中有 code_dir 字段:

CODE_DIR="[frontmatter中的code_dir值]"
# 了解代码结构
ls -la "${CODE_DIR}"
find "${CODE_DIR}" -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.cpp" -o -name "*.java" | head -50

如果没有 code_dir,询问用户是否有相关代码仓库。

步骤 2:更新笔记状态

将 frontmatter 的 statusanalyzed 更新为 reading

status: reading

步骤 3:输出阅读指南

启动完成后,向用户输出:

## 📖 精读模式已启动

**论文**:[[笔记路径|论文标题]]
**状态**:reading
**PDF**:✅ 已加载 / ❌ 未找到
**图片**:N 张可用
**代码**:✅ [代码路径] / -- 未配置

---

### 笔记草稿概览

根据 paper-analyze 生成的笔记,以下是当前各章节的完成度:

| 章节 | 状态 | 建议 |
|------|------|------|
| 核心信息 | ✅ 完整 | -- |
| 摘要翻译 | ✅ 完整 | -- |
| 方法概述 | ⚠️ 可深化 | 建议讨论核心算法细节 |
| 实验结果 | ✅ 完整 | -- |
| 深度分析 | ⚠️ 可深化 | 建议补充个人理解 |
| 我的笔记 | 📝 空白 | 精读时记录个人感悟 |
| ... | ... | ... |

### 你可以这样开始

1. 💬 **自由提问**:"这篇论文的 XXX 是什么意思?"
2. 🔍 **PDF 原文查证**:"论文第 3 节具体怎么描述 loss function 的?"
3. 💻 **代码对照**:"代码里 XXX 模块对应论文的哪个部分?"
4. ✏️ **补充笔记**:"我觉得这个方法的 XXX 其实有问题..."
5. ✅ **结束精读**:"精读完成" 或 `/paper-read done`

讨论模式

自由讨论

用户可以随时提出任何关于论文的问题。AI 应该:

  1. 回答问题:基于论文笔记、PDF 原文、图片来回答
  2. 实时编辑笔记:如果讨论产生了有价值的洞察,立即更新笔记对应章节
  3. 引用来源:回答时标明信息来自笔记、PDF 原文还是 AI 推理

讨论类型与响应策略

类型 1:概念/术语解释

用户问 "XXX 是什么意思?" "XXX 怎么理解?"

响应策略

  1. 从 PDF 原文找到相关段落
  2. 用通俗语言解释
  3. 如果笔记中对应概念的描述不够清晰,立即修改笔记使其更清楚

类型 2:方法细节追问

用户问 "这个 loss function 具体怎么算的?" "为什么要用这种架构?"

响应策略

  1. 查阅 PDF 原文的方法章节
  2. 结合公式和图片详细解释
  3. 如果涉及的数学推导或技术细节在笔记中缺失,补充到方法概述章节

类型 3:代码对照

用户问 "代码里 model.py 的 forward 函数对应论文哪个部分?" 或 "论文的 Equation 3 在代码里怎么实现的?"

响应策略

  1. 读取指定代码文件
  2. 将代码逻辑与论文方法对应
  3. 在笔记中补充代码实现的关键细节(如超参数、实现技巧)

代码引用格式(在笔记中):

> [!code] 代码实现
> 文件:`model.py:L120-L150`
> - 论文中的 $\mathcal{L}_{AR}$ 对应 `compute_ar_loss()` 函数
> - 记忆 token $\mathbf{M}$ 初始化为可学习参数 `nn.Parameter(torch.randn(k_max, d_model))`
> - ATA 的头部截断通过 `memory_tokens[:k_i]` 实现

类型 4:批判性思考

用户说 "我觉得这个方法的 XXX 有问题" "这个实验设计不太公平"

响应策略

  1. 认真对待用户的观点
  2. 从 PDF 中查找相关证据
  3. 客观分析用户观点的合理性
  4. 将有价值的批判性洞察融入深度分析→局限性分析或我的笔记章节

类型 5:关联思考

用户说 "这个方法和 XXX 论文的方法有什么关系?" "能不能用在 YYY 场景?"

响应策略

  1. 搜索 vault 中的相关论文笔记
  2. 分析技术路线上的异同
  3. 将对比分析融入与相关论文对比章节
  4. 将应用场景分析融入深度分析→适用性与场景分析章节

类型 6:PDF 原文查证

用户说 "论文第 X 节怎么说的?" "Table 3 的数据具体是多少?"

响应策略

  1. 读取 PDF 对应页面
  2. 提取并翻译相关内容
  3. 如果发现笔记中有遗漏或不准确之处,立即修正

笔记编辑原则

核心原则

  1. 融入不追加:新内容必须融入对应的现有章节,保持笔记结构一致性
  2. 即时纠错:发现草稿中的错误(事实错误、翻译不当、理解偏差)立即修正
  3. 风格一致:编辑内容的语言风格、格式、详细程度与原笔记保持一致
  4. 告知用户:每次编辑后简要告知用户做了什么修改
  5. 不删未引用内容:不要删除用户未讨论到的内容,即使你认为它不够好

编辑操作

使用 Edit 工具精确修改笔记内容。每次修改后告知用户:

> ✏️ 已更新笔记:
> - **方法概述 → 各模块详细说明**:补充了 ATA 分配公式的直觉解释
> - **深度分析 → 局限性分析**:新增了你提到的多轮对话效率问题

融入位置映射

| 讨论内容 | 融入位置 | |----------|----------| | 概念/术语解释 | 方法概述 → 对应模块的说明中 | | 方法细节 | 方法概述 → 对应子节 | | 公式推导 | 方法概述 → 数学公式部分 | | 实验解读 | 实验结果 → 结果分析 | | 代码对照 | 方法概述 → 对应模块(添加代码引用 callout) | | 个人批判 | 深度分析 → 局限性分析 / 我的笔记 | | 关联论文 | 与相关论文对比 → 对应子节 | | 应用场景 | 深度分析 → 适用性与场景分析 | | 灵感/想法 | 我的笔记 | | 重要启示 | 关键启示 callout |

代码对照模式

设置代码仓库

用户可以随时告知代码路径:

用户:"代码在 /Users/me/projects/tempo"

收到后:

  1. 扫描代码结构(文件树、主要模块)
  2. 更新 frontmatter 的 code_dir 字段
  3. 建立代码-论文对应关系的初步映射

双向查询

论文 → 代码

用户:"论文里的 ATA 模块在代码里怎么实现的?"

  1. 从笔记中提取 ATA 的技术描述
  2. 在代码中搜索相关关键词(函数名、类名、变量名)
  3. 读取匹配的代码文件
  4. 逐步对应论文描述和代码实现
  5. 在笔记中补充代码实现细节

代码 → 论文

用户:"代码里 compress_segment() 函数是论文的哪个部分?"

  1. 读取指定代码
  2. 分析代码逻辑
  3. 在笔记中搜索对应的方法描述
  4. 解释代码实现与论文描述的对应关系
  5. 指出代码中论文未提及的实现细节(如工程优化)

代码上下文管理

# 首次接入代码仓库时扫描
CODE_DIR="[用户指定路径]"

# 获取项目结构
find "$CODE_DIR" -type f \( -name "*.py" -o -name "*.yaml" -o -name "*.json" \) | head -100

# 获取主要模块
find "$CODE_DIR" -name "*.py" -exec grep -l "class\|def " {} \; | head -50

# 读取 README(如果有)
cat "$CODE_DIR/README.md" 2>/dev/null || echo "No README found"

非 arXiv 论文支持

从本地 PDF 启动

当用户提供本地 PDF 路径时(如 /paper-read /path/to/paper.pdf):

步骤 1:复制 PDF 到 vault

PDF_SOURCE="[用户提供的路径]"
PDF_FILENAME=$(basename "$PDF_SOURCE")
PDF_DEST="${VAULT_ROOT}/资源/PDF/论文/${PDF_FILENAME}"

cp "$PDF_SOURCE" "$PDF_DEST"

步骤 2:读取 PDF 并提取元数据

# 使用 Read 工具读取 PDF
# 提取标题、作者等信息

步骤 3:生成初始笔记

如果 vault 中没有该论文的笔记,则参照 paper-analyze 的笔记模板生成一份初始笔记,但标注为 status: reading(跳过 analyzed 阶段)。

步骤 4:进入讨论模式

生成笔记后直接进入讨论模式,后续流程与正常精读一致。

完成精读

触发条件

用户说 "精读完成"、"读完了"、"done" 或 /paper-read done

完成流程

步骤 1:更新笔记状态

status: reviewed
reviewed_date: "YYYY-MM-DD"

步骤 2:生成精读总结

回顾整个讨论过程,输出:

## 📖 精读完成!

**论文**:[[笔记路径|论文标题]]
**精读日期**:YYYY-MM-DD
**讨论轮数**:N 轮
**笔记状态**:reviewed ✅

---

### 本次精读的收获

**新增/修改的内容**:
- ✏️ 方法概述:补充了 3 处技术细节
- ✏️ 深度分析:新增了 2 条局限性分析
- ✏️ 我的笔记:记录了 4 条个人洞察
- ✏️ 相关论文:新增了 2 篇关联论文对比

**关键讨论点**:
1. [讨论点 1 的一句话总结]
2. [讨论点 2 的一句话总结]
3. [讨论点 3 的一句话总结]

**遗留问题**:
- [ ] [如果有未解决的问题]

---

> 💡 笔记已从草稿升级为精读版。你可以随时再次 `/paper-read` 继续讨论。

重要规则

讨论规则

  1. 始终基于证据:回答必须基于 PDF 原文、笔记内容或代码,避免臆测
  2. 区分确定与推测:明确标注哪些是论文明确陈述的、哪些是你的推理
  3. 鼓励批判性思考:不要只是解释论文说了什么,也要引导用户思考为什么这样做、有没有更好的方法
  4. 保持对话自然:这是协作讨论,不是考试问答,语气自然、有深度

编辑规则

  1. 融入不追加:新内容融入对应章节,不要在文末堆积
  2. 即时纠错:发现错误立即修正
  3. 告知修改:每次编辑后简要告知用户
  4. 不删未讨论内容:不要删除用户未讨论到的内容
  5. 保持格式:遵循 paper-analyze 笔记的格式约定(wikilink 语法、图片嵌入格式等)

Obsidian 格式规则(必须遵守)

  1. 图片嵌入必须使用 ![[filename.png|800]]禁止使用 ``
  2. Wikilink 必须用 display alias[[File_Name|Display Title]],禁止 bare [[File_Name]]
  3. 公式格式:行内 $...$,块级 $$...$$ 单独成行
  4. 标签名不能有空格:用短横线连接,如 Agent-Swarm

PDF 阅读策略

  • PDF 可能很长,使用 Read 工具的 pages 参数按需读取特定页面
  • 首次加载时读取前 5 页(摘要、引言)建立概览
  • 后续按用户问题涉及的章节按需读取
  • 每次最多读取 20 页

代码阅读策略

  • 首次接入时只扫描项目结构,不全部读取
  • 按用户问题按需读取相关文件
  • 关注核心模型代码、训练脚本、配置文件
  • 忽略测试文件、CI 配置等非核心内容(除非用户特别询问)

状态生命周期

paper-analyze 生成笔记 → status: analyzed
         ↓
paper-read 开始精读 → status: reading
         ↓
paper-read 完成精读 → status: reviewed
         ↓
用户可随时再次 /paper-read → status: reading (再次打开)

错误处理

  • PDF 未找到:尝试从 arXiv 下载;若无 paper_id,提示用户提供 PDF 路径
  • 笔记未找到:如果用户提供了 PDF,生成初始笔记;否则建议先运行 /paper-analyze
  • 代码路径无效:提示用户确认路径
  • PDF 读取失败:回退到仅基于笔记的讨论模式,注明局限性

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.