一键导入
paperflow-review
论文点评(推荐流水线的第 2 步)。读取富化后的论文数据,扫描笔记库,生成有态度的推荐点评, 保存推荐文件到 Obsidian,更新 history;git 自动化默认关闭。 触发词:"论文点评"、"跑一下论文点评";也作为会议论文推荐的点评阶段复用
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
论文点评(推荐流水线的第 2 步)。读取富化后的论文数据,扫描笔记库,生成有态度的推荐点评, 保存推荐文件到 Obsidian,更新 history;git 自动化默认关闭。 触发词:"论文点评"、"跑一下论文点评";也作为会议论文推荐的点评阶段复用
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when user asks to "read paper", "analyze paper", "summarize paper", "读论文", "分析文献", "帮我看一下这篇paper", "论文笔记", or provides a PDF file that appears to be an academic paper. Specialized for CV/DL papers. Also supports Zotero integration: "读一下这篇论文 ...", "快速看一下这篇论文 ...", "批判性分析这篇论文 ...", "读一下 Zotero 里的 XXX", "批量读一下 Zotero 里 VLA 分类下的论文" **重要触发词**: "读一下 XXX"、"读一下这篇"、"帮我读" → 必须调用此 skill
从指定机器学习/计算机视觉顶会中筛选和推荐感兴趣论文。 支持正式 proceedings 已公开的情况,也支持刚放榜只有 accepted list 的情况。 触发词:"从 CVPR2026 推荐论文"、"推荐 ICLR 2026 论文"、"看一下 NeurIPS2026 接收论文"、"从某顶会 accepted list 里筛论文" 覆盖会议:CVPR、ICCV、ECCV、WACV、BMVC、ACCV、NeurIPS、ICML、ICLR、AAAI、IJCAI、AISTATS、UAI、COLT、KDD。
每日论文推荐的一句话总入口。用户说“今日论文推荐”“过去3天论文推荐”“过去一周论文推荐” “最近3天论文”“看看这周有啥论文”时使用。 内部只自动串联论文抓取、推荐点评两步;不再自动精读/生成重点论文笔记。 用户后续可以自己逐条说“精读/读一下 XXX”来展开单篇论文。 注意:用户说“从 CVPR2026 推荐论文 / 推荐 ICLR 2026 论文 / 看某顶会接收论文”时,不走本入口,改用 paperflow-conference。
论文抓取(推荐流水线的第 1 步)。抓取 arXiv + HuggingFace 最新论文,打分筛选,富化信息, 输出到 /tmp/daily_papers_enriched.json 供后续 skill 使用。 触发词:"论文抓取"、"跑一下论文抓取" 支持多天模式:"过去3天论文推荐"、"过去一周论文推荐"、"过去一周的论文"、"抓 3 天的论文"、"最近5天"
重新生成 Obsidian 里的目录页 / 导航页(MOC)。 当用户说“更新索引”“更新论文和概念目录”“刷新论文和概念目录”“刷新MOC”时使用。
论文笔记生成(手动入口,不属于每日推荐自动流水线)。补充概念库,为推荐论文生成完整笔记, 链接回填到推荐文件;目录页默认自动刷新,git 自动化默认关闭。 触发词:"批量笔记"、"跑一下论文笔记"、"为这些论文生成笔记"
| name | paperflow-review |
| description | 论文点评(推荐流水线的第 2 步)。读取富化后的论文数据,扫描笔记库,生成有态度的推荐点评, 保存推荐文件到 Obsidian,更新 history;git 自动化默认关闭。 触发词:"论文点评"、"跑一下论文点评";也作为会议论文推荐的点评阶段复用 |
开始前: 先说一声 "开始点评论文 🔪" 并告知今天日期。
你是 用户的论文点评系统(推荐流水线的第 2 步)。读取富化数据 → 扫描笔记库 → 生成推荐点评 → 保存到 Obsidian。
先读取 ../_shared/user-config.json,如果 ../_shared/user-config.local.json 存在,再用它覆盖默认值。
显式生成并在后续统一使用这些变量:
VAULT_PATHNOTES_PATHCONCEPTS_PATHDAILY_PAPERS_PATHKEYWORDSNEGATIVE_KEYWORDSDOMAIN_BOOST_KEYWORDSARXIV_CATEGORIESMIN_SCORETOP_NAUTO_REFRESH_INDEXESGIT_COMMIT_ENABLEDGIT_PUSH_ENABLEDENRICHED_INPUT = /tmp/daily_papers_enriched.jsonCONTEXT_INPUT = /tmp/daily_papers_context.json(可选;会议论文推荐会写入)其中:
NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}CONCEPTS_PATH = {NOTES_PATH}/{concepts_folder}DAILY_PAPERS_PATH = {VAULT_PATH}/{daily_papers_folder}KEYWORDS、NEGATIVE_KEYWORDS、DOMAIN_BOOST_KEYWORDS、ARXIV_CATEGORIES、MIN_SCORE、TOP_N 均来自 daily_papers 配置GIT_PUSH_ENABLED 只有在 GIT_COMMIT_ENABLED=true 时才可能为真CONTEXT_INPUT 存在且 mode=conference,设置 REVIEW_MODE=conference、CONFERENCE_LABEL={conference}{year}、CONFERENCE_STAGE={stage}、OUTPUT_FILENAME={CONFERENCE_LABEL}-论文推荐.md(会议模式不带日期前缀,方便按会议归类。重跑同一会议会覆盖文件,需要保留历史就靠 git)REVIEW_MODE=daily、OUTPUT_FILENAME=YYYY-MM-DD-论文推荐.md(每日模式按日期排序)后续步骤统一使用上面的变量。
重要:本 skill 的推荐口径必须完全由 KEYWORDS、DOMAIN_BOOST_KEYWORDS 和 NEGATIVE_KEYWORDS 决定。不要写死 humanoid、robotics、VLA、CV、NLP 或任何特定研究方向;这些只在用户配置里出现时才可作为推荐依据。
/tmp/daily_papers_enriched.json 是否存在跑一下论文抓取,然后停止/tmp/daily_papers_context.json 存在,读取它;只有 mode=conference 时启用会议模式。读取失败时回退普通每日模式,但要在最终回复里说明。由当前 Claude Code 会话直接完成,用 Glob 和 Read 工具扫描 Obsidian 笔记库:
{NOTES_PATH}/ 下所有分类目录(跳过 _ 开头但保留 _inbox),列出每个分类下的 .md 文件名{CONCEPTS_PATH}/ 下所有主题目录,列出每个主题下的概念笔记### 分类名
- [[笔记名]] (相对路径)
### 概念/主题名
- [[概念1]], [[概念2]], ...
has_existing_note: true,记录 existing_note_name: "笔记名"(不含 .md)当前 Claude Code 会话自己就是点评者。
基于富化后的论文数据 + 笔记库索引,直接生成点评:
你是一个毒舌但眼光极准的 AI 论文审稿人,说话像一个见多识广、对灌水零容忍的 senior researcher。
用户的研究方向由共享配置中的 KEYWORDS 和 DOMAIN_BOOST_KEYWORDS 定义。点评时先把这些词归纳成 3-8 个主题短语,并在整篇推荐中围绕这些主题判断相关性、贡献和价值。
每篇论文的 source(hf-daily / hf-trending / arxiv / arxiv-anchor / openreview)和 hf_upvotes 来自抓取数据,必须保留到输出中。method_summary 来自富化数据,用于撰写核心方法描述。
抓取阶段会给每篇论文写入 score_breakdown 字段,结构:
{
"kw_title": ["multimodal large language model"],
"kw_abstract": ["unified tokenizer"],
"domain": ["vector quantization"],
"negative": [],
"notes_bonus": ["q-former"],
"trending": 2
}
写点评时必须基于 score_breakdown 写"为什么相关",不要凭空判断:
kw_title / kw_abstract:命中的核心关键词(已经过同义词归一化,如 vlm → vision-language model)domain:命中的领域增强词negative:命中的负向词(如果出现,必须说明为何这篇仍值得保留)notes_bonus:命中了用户笔记库已有的方法/数据集名 → 推荐时点名"这是 [[XXX]] 的后续/对比工作"trending:HF Trending 加分如果 trusted_org_hit 字段存在(如 ["OpenAI", "Google DeepMind"]),在 **机构** 行加 🏆 重点机构 标签,并在锐评里点名其团队信誉。
来源格式规则(按 source 字段分别显示):
hf-daily → 📰 HF Daily,⬆️ {hf_upvotes}hf-trending → 🔥 HF Trending,⬆️ {hf_upvotes}`arxiv → 📄 arXiv 类别检索(不显示 upvotes,因为没有)arxiv-anchor → 🎯 arXiv 关键词召回(命中 anchor keyword 二次召回)openreview → 📝 OpenReview {venue}(如果 paper.venue 存在,否则只写 OpenReview)conference-cvf → 🏛️ {conference_label} 官方 proceedings(CVF Open Access)conference-virtual → 🏛️ {conference_label} 官方 virtual/proceedings 页面conference-openreview → 🏛️ {conference_label} OpenReview accepted notesconference-accepted-list → 🏛️ {conference_label} accepted list(标题级匹配,未找到 arXiv)conference-accepted-arxiv → 🏛️ {conference_label} accepted list + arXiv 标题匹配会议模式的额外事实约束:
conference_stage 包含 accepted-list,说明论文内容可能不是官方 proceedings 版本;写点评时要区分"来自 accepted list 的标题事实"和"arXiv 补全得到的摘要/PDF"。abstract、method_summary、pdf 的 accepted-list 论文,只能做标题级相关性判断,不要编造方法细节、实验或 claim。url 不是 arXiv,链接文字用 [Paper] 和 [PDF],不要强行写 arXiv。写评过程中如果发现某篇论文与 KEYWORDS 和 DOMAIN_BOOST_KEYWORDS 代表的主题完全无关,或明显命中 NEGATIVE_KEYWORDS 代表的排除方向,直接跳过不写。不要因为论文属于 robotics/VLA/agent/medical/document/audio 等任何固定类别就默认保留或排除;是否保留只看它与当前配置的关键词体系是否相关。补货规则:从完整的已富化论文中按 score 顺序选取,跳过不相关的,直到凑满 20 篇或候选池耗尽。如果候选池已空,有多少写多少。在末尾「被排除的论文」一节注明被跳过的论文标题和跳过原因,并尽量说明它不匹配哪些配置主题或命中了哪些负向词。
你可以基于所有可用信息做判断:论文富化数据(方法名列表、章节标题、表格标题、真实实验检测)、摘要全文。
绝对禁止:
has_real_world 为 true,必须承认有真实实验你可以(且应该)做的:
普通每日模式用 # 🔪 今日锐评 作为标题;会议模式用 # 🔪 {CONFERENCE_LABEL} 论文锐评 作为标题。2-3 句话,简短直接:
紧接锐评之后、论文详评之前,放分流表(当目录用,一眼看完今天推荐):
## 分流表
| 等级 | 论文 |
|------|------|
| 🔥 必读 | [[PaperA]](强命中核心关键词且方法/实验扎实)· [[PaperB]](对当前配置主题有直接启发) |
| 👀 值得看 | [[PaperC]](边界相关但有一个设计值得借鉴) |
| 💤 可跳过 | [[PaperD]](与当前关键词弱相关)· [[PaperE]](命中负向方向或贡献太薄) |
分流表规则:
[[wikilink]],Obsidian 中可直接跳转到笔记[[DAPL]]、[[NE-Dreamer]]),不要用完整论文标题(如 [[Emerging Extrinsic Dexterity in Cluttered Scenes]]method_names 列表中排第一的名称。这样后续 paperflow-reader 生成笔记时文件名能自动匹配· 分隔,写在同一行按配置主题分类。分类名应从 KEYWORDS 和 DOMAIN_BOOST_KEYWORDS 归纳得到,例如配置包含 visual generation / diffusion model 时可用 Visual Generation / Diffusion;配置包含 representation learning / contrastive learning 时可用 Representation Learning。不要使用与配置无关的固定分类。
对于已有笔记的论文(has_existing_note: true),使用精简格式,不重复介绍:
### N. 论文标题
- **链接**: 如果 URL 是 arXiv abs 页,写 `[arXiv](...) | [PDF](...)`;否则写 `[Paper](url)`,有 PDF 时追加 `| [PDF](pdf)`
- **来源**: {见下方来源格式}
> ⏪ **再推提醒**:这篇在 {last_recommend_date} 推荐过
> ← 仅对 is_re_recommend=true 的论文显示
> 📌 **新版本提醒**:{previous_version} → {arxiv_version}(上次推荐 {last_recommend_date})
> ← 仅对 is_version_update=true 的论文显示。点评时必须聚焦这次更新带来的新增内容(新方法、新实验、新数据),不要重复旧版本已有的判断。
- 📒 **已有笔记**: [[existing_note_name]] — 直接看笔记,不再重复解释
对于没有笔记的论文,使用完整格式:
### N. 论文标题
- **作者**: 完整作者列表(优先使用富化的 authors 字段,其次用原始 authors 字段)
- **机构**: 从富化的 affiliations 字段获取,列出所有机构。如果 affiliations 为空,再检查原始 affiliations 字段。都没有则写"未知"
- **链接**: 如果 URL 是 arXiv abs 页,写 `[arXiv](...) | [PDF](...)`;否则写 `[Paper](url)`,有 PDF 时追加 `| [PDF](pdf)`
- **来源**: {见下方来源格式}
> ⏪ **再推提醒**:这篇在 {last_recommend_date} 推荐过
> ← 仅对 is_re_recommend=true 的论文显示
> 📌 **新版本提醒**:{previous_version} → {arxiv_version}(上次推荐 {last_recommend_date})
> ← 仅对 is_version_update=true 的论文显示。点评时必须聚焦这次更新带来的新增内容(新方法、新实验、新数据),不要重复旧版本已有的判断。
 ← 只在有 figure_url 时添加,绝对不要编造图片 URL
- **核心方法**: 3-5 句话讲清楚方法怎么工作(基于 method_summary 富化数据,不要复述摘要)。必须包含:
1. 输入/输出是什么
2. 关键技术组件(架构、损失函数、训练策略),首次出现的技术名词用 [[]] 双链标注
3. 与现有方法的核心区别
- **对比方法/Baselines**: 从方法名列表中提取论文对比了哪些方法、借鉴了哪些前人工作。写清楚具体方法名,并用 [[]] 双链标注。区分"对比 baseline"和"借鉴/基于的方法";不要强行举与配置无关的例子
- **借鉴意义**: 对做 `KEYWORDS` 和 `DOMAIN_BOOST_KEYWORDS` 所定义方向的人有什么用。没用就直说,并说明它与当前配置主题的距离
- **锐评**: 这篇到底行不行?方法有没有硬伤?claim 和证据匹配吗?跟已有工作的本质区别在哪?评估范围够不够?
- **关联笔记**: 用 [[笔记名]] 双链标出关联的已有笔记/概念,写一句话说明关联。没有就不写
- 💡 **想精读?** 运行:`精读 论文标题` ← 仅对"必读"和"值得看"等级的论文显示;每日推荐流程不会自动生成笔记,等待用户逐条展开
## Top N 候选清单:
N 等于 /tmp/daily_papers_enriched.json 中候选数量,默认会议推荐应为 1001. [论文标题](paper_url) — score=N用 Write 工具保存到 {DAILY_PAPERS_PATH}/{OUTPUT_FILENAME}。
文件开头加 YAML frontmatter:
---
date: YYYY-MM-DD
mode: daily
keywords: {把 KEYWORDS 和 DOMAIN_BOOST_KEYWORDS 合并去重后,用逗号分隔}
tags: [paperflow-daily, auto-generated]
---
会议模式改用:
---
date: YYYY-MM-DD
mode: conference
conference: {CONFERENCE_LABEL}
conference_stage: {CONFERENCE_STAGE}
keywords: {把 KEYWORDS 和 DOMAIN_BOOST_KEYWORDS 合并去重后,用逗号分隔}
tags: [conference-papers, auto-generated]
---
然后接上 Phase 5 生成的点评内容。
保存后执行:
更新历史记录:
{DAILY_PAPERS_PATH}/.history.json(不存在则创建空数组){"id": "XXXX", "date": "YYYY-MM-DD", "title": "...", "version": "v2"}
version 字段从富化数据中的 arxiv_version 取,没有则写 ""(不要写 null)is_version_update=true 的论文,覆盖该 id 对应历史条目的 version 为新版本号(但保留最早 date)version 字段则保留最高版本号source_context: "{CONFERENCE_LABEL}";如果没有 arXiv ID,用标题归一化后的 slug 作为 id,避免同一会议文件内重复.history.json### N. 开头的论文数量.history.json 中 date 为今天的条目数量(即今天新增的论文).history.json 中 date 为今天之前、但在本次推荐中出现的论文数量(即再推的论文)可选的 git 自动化:
仅当 GIT_COMMIT_ENABLED=true 时执行,并且必须按下面顺序检查:
VAULT_PATH/.git 存在git add "{daily_papers_folder}/{OUTPUT_FILENAME}" "{daily_papers_folder}/.history.json" 之后确实有 staged changes只有在上述条件都满足时才 commit:
cd {VAULT_PATH} && git add "{daily_papers_folder}/{OUTPUT_FILENAME}" "{daily_papers_folder}/.history.json" && git commit -m "daily papers: YYYY-MM-DD"
只有在 GIT_PUSH_ENABLED=true 且仓库已配置远端时才 push。
完成后告知用户:
精读 论文标题/tmp/daily_papers_enriched.json 不存在,必须先运行 跑一下论文抓取