关于 skill-find-papers
skill-find-papers 是用于定期发现、筛选和精读论文的研究工作流技能,面向希望按研究兴趣跟踪文献的用户。它结合 Scholar MCP 检索、反馈偏好记录和 Feishu 文档归档,并支持处理用户提交的论文。
主要功能
- 01按兴趣发现近期论文与经典论文
- 02依据期刊和会议标准筛选
- 03记录反馈并调整主题偏好
- 04将精读论文归档到 Feishu
- 05处理用户提交的论文 PDF 或链接
适用场景
- 01每周整理符合研究方向的论文推荐
- 02根据阅读反馈调整后续检索主题
- 03分析提交的论文并纳入精读文档
MCP 相关
工作流要求配置 scholar_mcp MCP 服务,用于文献检索、元数据和引用查询、PDF 获取及论文分析。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ funfun412/ skill-find-papers --skill skill-find-papers安装后在 Claude Code 中输入/skill-find-papers确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/output-contract.mdscripts/paper_state.py详细介绍
技能:查找论文
发现 5 篇近期高质量论文和 1 篇经典论文,根据用户反馈持续学习,并将选定的深度阅读内容归档到飞书。
必需工具
- 使用已配置的
scholar_mcpMCP 服务进行文献发现、元数据查询、引用查询、PDF 获取和论文分析。 - 使用
lark-cli管理飞书文件夹和文档。 - 使用
scripts/paper_state.py保存偏好和推荐历史。 - 执行任何飞书操作前,先运行
lark-cli doctor。选择飞书标志前,先使用与版本匹配的内置技能:lark-cli skills read lark-shared、lark-cli skills read lark-drive和lark-cli skills read lark-doc。
每次运行都从这里开始
-
运行:
python "$env:USERPROFILE\.codex\skills\skill-find-papers\scripts\paper_state.py" init python "$env:USERPROFILE\.codex\skills\skill-find-papers\scripts\paper_state.py" show python "$env:USERPROFILE\.codex\skills\skill-find-papers\scripts\paper_state.py" inbox-list --status pending -
检查
init中的needs_initial_interests。首次使用时,停止后续发现流程,并请用户设置初始研究兴趣。默认值为transformers、LLM和agent。- 如果用户接受默认值,运行
paper_state.py interests --confirm。 - 如果用户提供了主题,运行
paper_state.py interests --replace "<topic1,topic2>"。
- 如果用户接受默认值,运行
-
完成初始设置后,以保存的偏好和反馈为准。
-
如果用户直接更改兴趣,立即使用
interests --add、--remove或--replace应用更改,然后确认更新后的列表。
本地论文收件箱
将用户发送的任何论文 PDF、DOI、出版商/arXiv 链接或明确的论文投稿视为收件箱投稿。
- 立即使用
paper_state.py inbox-add添加。对于本地 PDF,传入--file;对于远程论文,传入--url或--doi。省略不可用的元数据。 - 脚本会将本地 PDF 复制到受管理的收件箱
$HOME/.codex/skill-data/skill-find-papers/inbox/files。之后通过 Scholar MCP 导入时,使用此受管理路径。 - 将每篇收件箱投稿标记为
特别感兴趣(用户主动发送)。投稿即表示明确同意分析该论文并将其纳入下一份深度阅读文档;不要再让用户重新选择。 - 每周运行开始时,先处理所有待处理的收件箱论文,再进行常规发现:
- 优先使用受管理的本地 PDF,并传入 Scholar MCP 的
local_pdf_path; - 否则解析 DOI 或 URL,获取法律允许范围内最完整的来源;
- 按照完整的深度阅读要求进行分析,深度应超过普通推荐论文;
- 从完整论文中推断具体主题,而不只是宽泛的上级类别;
- 成功完成分析并纳入文档后,运行
paper_state.py inbox-process --paper-id "<id>" --topics "<topic1,topic2>" --document-url "<url>"。
- 优先使用受管理的本地 PDF,并传入 Scholar MCP 的
- 成功处理收件箱论文后,对每个推断出的主题应用一次 +3 偏好信号。重新处理或重新提交同一篇论文时,不得再次应用该信号。
- 用户提交的论文作为补充,不占用常规配额的 5 篇近期论文和 1 篇经典论文。它们不受出版场所质量门槛限制,但应如实报告已核实的出版场所和质量状态。
- 在飞书文档中,将收件箱论文置于常规精选论文之前,并添加醒目的
特别感兴趣(用户主动发送)提示框。 - 如果没有待处理的收件箱论文,则按原有每周发现和反馈工作流执行,不作改动。
每周发现
- 处理完待处理收件箱论文后,先搜索最近 3 个月的论文。若数量不足,则将范围扩展至 12 个月,再扩展至 24 个月。最近论文中绝不静默地超出 24 个月范围。
- 查询主题组合,而不只是孤立关键词。加入 LLM、基础模型、语义通信、无线/网络优化、多 Agent、工具使用、规划和 Agentic AI 等同义词。
- 收集多于所需数量的候选论文,依次按 DOI、规范 URL、arXiv ID,再按规范化标题去重。
- 排除已推荐的论文,除非符合条件且未推荐过的论文少于五篇。若重用某篇论文,须明确标注并解释原因。
- 尽可能准确选出五篇近期论文,并平衡相关性、质量、新颖性和主题多样性。
- 另行推荐恰好一篇经典论文精读。选择一篇与当前偏好相关、具有开创性并塑造了领域的论文。优先选择尚未推荐过的经典论文;经典论文不受 24 个月时间范围限制。
质量门槛
对于每篇近期论文,至少核实以下一项:
- 期刊当前属于 JCR Q1;
- 期刊当前属于中国科学院一区;
- 会议属于 CCF-A。
使用当前权威排名数据,并说明符合条件的依据。无法核实时,不要凭记忆声称其排名。将未经核实的发表 venue 排除在五篇论文列表之外。预印本只有在其已被核实录用至符合门槛的 venue 时才符合条件。
经典论文则需要有力证据证明其开创性影响,例如长期高引用、奠基性方法或全领域广泛采用。请说明证据。
分析与展示
每篇推荐论文都需提供:
- 标题、作者、发表 venue、发表日期、DOI/arXiv 和论文直达链接;
- 质量依据和搜索时间范围标签;
- 对摘要、主要创新与贡献、方法和结论的中文概述;
- 一条简短的相关性说明,并联系已保存的兴趣;
- 来自
paper_state.py paper-id的稳定论文 ID。
首条每周消息应简洁到足以比较六篇论文。收到反馈前不要创建 Feishu 文档。
针对每篇论文,结尾提供以下回复选项:
精读- 感兴趣;加入 Feishu 文档。已读- 感兴趣;更新偏好,但不加入文档。不感兴趣- 排除并降低相关主题权重。跳过- 中立;不更改偏好。
还需说明,用户可以直接说 增加方向:...、减少方向:... 或 替换方向:...。
使用 paper_state.py record 记录全部六篇推荐论文。
处理反馈
- 将反馈映射为
selected、read、not-interested或skipped。 - 对每个明确选择运行
paper_state.py feedback。 - 将
selected和read都视为正向兴趣信号。绝不将read论文放入文档。 - 如果没有论文标记为
selected,则更新偏好并结束,不创建空文档。 - 对有歧义的编号或标题,应根据最近一次运行结果进行确认后再处理。
创建飞书深度阅读文档
对于每篇 selected 论文,通过 Scholar MCP 获取最完整的可用来源。区分论文陈述的事实与您的解读。
还需纳入所有已成功分析的待处理收件箱论文,并将其排在普通的 selected 论文之前,标注为 特别感兴趣(用户主动发送)。
调用 ingest_paper_fulltext 时,在轮询 get_ingestion_status 和调用 extract_granular_paper_details 期间,保持同一个 Scholar MCP 服务进程和客户端连接处于活动状态。摄取任务限定于进程范围内;重新连接可能会导致有效的任务 ID 返回 JobNotFoundError。
将所有 selected 论文整理到一份文档中。每篇论文都必须包含:
- 书目信息、论文直达链接,以及经过核实的官方代码库链接;
- 完整的英文摘要,以及完整的中文翻译(来源为用户提供、公有领域或明确授权转载时);否则提供全面的摘要转述,涵盖所有实质性信息点,明确标注为转述,并链接到原始摘要;
- 尽可能完整地介绍创新点和贡献,保留论文的贡献结构、范围、证据和定量结论,不要将其简化成几个泛泛的要点;
- 详细的方法部分,涵盖问题定义、假设、输入/输出、架构或算法阶段、目标函数/损失函数、训练或优化流程、数据集/测试平台、基线、指标,以及适用时的推理/部署流程;
- 相关论文图示(仅在许可证或用户提供状态允许转载时),并注明图号、意译图注、来源链接和许可证/署名信息;否则,基于有依据的事实创建原创解释性图示,并标注为
原创方法示意图(非论文原图); - 中英文结论;
- 局限性和建议阅读重点;
- 与用户兴趣匹配的原因。
使用 references/output-contract.md 中的结构。
来源与插图工作流
- 优先使用出版方页面、DOI 记录、作者手稿、arXiv/OpenReview 页面、官方项目页面,以及论文或作者链接的代码仓库。
- 验证每个代码链接。优先选择作者或组织的代码仓库,且该仓库应注明论文名称、与作者或项目页面一致,或由论文链接。切勿根据标题相似性推断代码仓库。如果没有经过验证的代码,请写
未发现可验证的官方代码仓库。 - 从全文中提取摘要、贡献列表、方法章节、实验、结论、图注和图示引用。笔记应注明对应的章节名称或页码/图号。
- 选择能够实质性说明架构、工作流、系统模型、算法或主要结果的图。不要插入装饰性图片。
- 对可重复使用的图片,下载质量最高的源文件,保持纵横比,并使用
lark-cli docs +media-insert或 URL 图片块,将图片插入相关的方法/结果小节附近。图注应注明论文标题、图号、来源 URL 和许可证。 - 如果不明确允许直接重用图片,则创建原创 Mermaid/SVG 图表来说明方法,不得照搬论文的构图或美术设计。注明这是对方法的解读。
- 创建文档后,获取大纲和关键词部分,并验证每篇入选论文都包含摘要、贡献、方法、结论、链接,以及至少一张有用的示意图(前提是来源证据允许)。
首次创建文档时:
- 如果状态中没有 Feishu 文件夹令牌,则使用
lark-cli drive +create-folder --as user创建一个名为论文推荐的根文件夹。 - 使用
paper_state.py folder保存其令牌和 URL。 - 之后重复使用该文件夹;不要创建重复文件夹。
将每篇文档命名为 论文精读_YYYY-MM-DD。使用 lark-cli docs +create --api-version v2 --as user --parent-token ... 在已保存的文件夹下创建文档。使用相对于当前工作目录的内容文件或标准输入,绝不要使用绝对路径的 @file。向用户返回文档 URL,并使用 paper_state.py run 记录该 URL。
可靠性规则
- 绝不捏造摘要、结论、排名、录用状态、引文、DOI 值或链接。
- 标明无法获取的全文,并且只总结有依据的内容。
- 除非已对照一手来源核实,否则不要声称摘要是逐字引用或完整内容。
- 不得悄悄复制受版权保护的摘要或图片。遵循上述复制和图片规则。
- 不要将非官方实现标注为官方代码。
- 优先采用论文原始页面、DOI 记录、出版方页面和官方排名来源。
- 保留先前状态;正常运行时绝不重置历史记录。
- 如果 Scholar MCP 或 Feishu 不可用,请说明确切失败环节,并保留已记录的反馈。