AgentSkillsCN

paper-summarize

当您需要批量处理学术论文(PDF/Markdown),并以表格形式生成结构化摘要(简要模式),或以详细分析报告(详尽模式)呈现结果,同时支持进度追踪时,可以使用此技能。

SKILL.md
--- frontmatter
name: paper-summarize
description: Use when needing to batch process academic papers (PDF/Markdown) and generate structured summaries in table format (brief mode) or detailed analysis reports (detailed mode) with progress tracking.

学术文献批量总结

概述

批量处理学术文献(PDF、Markdown、文本),生成结构化总结。核心原则:使用 paper-reader Agent 隔离上下文、串行稳定处理、批量完成后统一展示。

适用场景

  • 用户需要快速浏览多篇论文(表格汇总模式)
  • 用户需要深入分析每篇论文(每篇独立报告模式)
  • 用户提供了文献目录或多个文件

不适用于:

  • 单篇论文的实时交互式分析(直接调用 paper-reader Agent)
  • 用户明确要求逐篇查看分析结果

核心模式

两种处理模式

表格汇总模式 (Brief):

code
场景: 用户说"帮我快速浏览这些论文"
处理: 批量阅读 → 暂存在内存
输出: 单个表格文件 (paper-summary.md)
展示: 全部处理完后一次性展示完整表格

详细分析模式 (Detailed):

code
场景: 用户说"帮我详细分析每篇论文"
处理: 逐篇阅读 → 逐篇生成文件
输出: 每篇独立的 Markdown 文件 ({原文件名}-summary.md)
展示: 全部处理完后汇总展示文件列表和统计

快速参考

工具组合

工具用途时机
Glob扫描文件用户提供目录或通配符时
TodoWrite进度跟踪处理开始时创建,每篇更新状态
Task (paper-reader)阅读单篇文献每篇文献独立调用
Write保存结果全部处理完成后

支持的输入

  • 单个文件: ./paper.pdf
  • 多个文件: ./paper1.pdf ./paper2.pdf
  • Glob 模式: ./papers/*.pdf
  • 目录: ./papers/(自动扫描 .pdf、.md、.txt)

Semantic Scholar 补充(可选)

如果用户要求补充在线信息:

  • mcp__semanticscholar__search-paper-title: 按标题搜索
  • mcp__semanticscholar__get-paper-abstract: 获取引用数、DOI、期刊

执行流程

1. 识别模式与文件

从用户请求中提取:

  • 处理模式: 表格汇总 or 详细分析
  • 文件列表: 使用 Glob 扫描
  • 输出位置: 默认文献所在目录
  • 是否补充在线信息

2. 创建进度跟踪

使用 TodoWrite 为每篇文献创建任务,让用户清楚看到进度。

3. 串行处理文献

关键原则: 一篇一篇处理,不并行

对每篇文献:

  1. 标记任务为 in_progress
  2. 调用 Task 工具,启动 paper-reader Agent:
    code
    subagent_type: paper:paper-reader
    prompt: "处理文献 {file_path}"
    
  3. 暂存结果(不立即展示):
    • 表格模式: 暂存 JSON 结果在内存
    • 详细模式: 保存为独立文件,记录文件路径
  4. 标记任务为 completed

重要: 不要在对话中逐篇展示分析内容,避免对话混乱。

4. 批量展示结果

表格汇总模式:

  1. 从暂存的 JSON 结果生成完整表格
  2. 在对话中向用户展示该表格
  3. 将表格写入 Markdown 文件

详细分析模式:

  1. 在对话中汇总展示:
    • 处理的文献总数
    • 每篇文献标题及总结文件路径
    • 成功/失败统计
    • 所有输出文件位置

5. 可选: 补充在线信息

如果用户要求补充 Semantic Scholar 信息:

  • 对每篇论文按标题搜索
  • 补充引用数、DOI、期刊/会议、开放获取链接
  • 更新输出文档

6. 完成报告

输出统计:

  • 总文献数
  • 成功/失败数及失败原因
  • 输出文件位置

使用场景示例

场景 1: 快速浏览

code
用户: "帮我快速浏览 papers/ 目录下的所有 PDF"
Claude:
1. 使用 Glob 扫描 papers/*.pdf
2. 创建进度任务列表
3. 逐篇调用 paper-reader Agent
4. 暂存结果在内存
5. 全部完成后生成表格并展示
6. 保存为 paper-summary.md

场景 2: 详细分析

code
用户: "帮我详细分析这几篇论文,每篇都要单独的总结"
Claude:
1. 解析文件列表
2. 创建进度任务列表
3. 逐篇调用 paper-reader Agent
4. 每篇生成独立的 {filename}-summary.md
5. 全部完成后汇总展示文件列表

场景 3: 补充在线信息

code
用户: "总结这些论文,并查询它们的引用数"
Claude:
1. 按表格模式处理论文
2. 对每篇论文:
   - 调用 search-paper-title 查询
   - 补充引用数、DOI、期刊
3. 更新表格
4. 展示并保存

常见错误

上下文溢出

问题: 一次性处理大量文献导致上下文溢出

解决:

  • 每篇文献通过独立的 paper-reader Agent 处理
  • 处理完成后只保留结果,丢弃 Agent 的中间上下文

逐篇展示导致对话混乱

问题: 详细模式下,对话中充斥着每篇论文的完整分析

解决:

  • 逐篇生成文件,但不在对话中展示每篇内容
  • 全部完成后统一汇总展示文件列表

格式不一致

问题: 不同文献的总结格式不一致

解决:

  • 所有文献都通过同一个 paper-reader Agent 处理
  • Agent 内部有统一的输出模板
  • 验证每篇输出是否符合模板要求

最佳实践

  1. 上下文隔离: 每篇文献独立 Agent,避免上下文污染
  2. 串行稳定: 一篇一篇处理,不并行,确保每篇都能充分分析
  3. 批量展示: 全部处理完后一次性展示,不逐篇展示
  4. 进度可见: 使用 TodoWrite 让用户清楚看到处理进度
  5. 格式一致: 所有输出严格遵循模板格式
  6. 错误容忍: 单篇失败不中断,记录错误继续处理其他文献