agentsclimarketplace

Literature search

Skill ZLHad/agent-skills/claude-code-skills/literature-search

学术文献检索助手,专为撰写 Related Work / 文献综述设计。 从 IEEE Xplore、Semantic Scholar、arXiv 检索论文,默认聚焦 IEEE 顶刊/顶会。 支持交互式需求确认、多轮多关键词搜索、BibTeX 导出、摘要收集。 触发词:查文献、搜论文、literature search、related work、文献综述、 找参考文献、搜相关工作、survey papers、search papersFrom its SKILL.md

Install
npx -y skills add ZLHad/agent-skills --skill literature-search

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 5 commands, including `pip install requests feedparser` and 4 more.
  • fetches URLsInstructs the agent to fetch 3 URLs, including https://api.crossref.org/works/{doi} and 2 more.

SKILL.md

10.1 KB, ~3.4k tokens by cl100k_base, as published. Nobody here has run it

Literature Search — 文献检索助手

专为撰写 Related Work / 文献综述设计的学术文献检索工具。从 IEEE Xplore、Semantic Scholar、arXiv 等学术数据库检索论文,收集元数据、摘要和 BibTeX,为后续撰写文献综述提供素材。

核心能力

数据源方法说明
IEEE XploreREST API (无需密钥)默认首选,IEEE 顶刊/顶会全覆盖
Semantic ScholarGraph API v1跨数据库搜索,含 TL;DR 和引用数
arXivAtom API预印本,最新研究进展
Google ScholarWebSearch 备用补充搜索,覆盖面广

参考文件

详细参考资料按主题拆分到独立文件,按需查阅:

工作流程

阶段 1:交互式需求确认(必须)

在开始搜索之前,必须与用户确认以下信息。使用 AskUserQuestion 工具逐一确认:

第一轮提问(核心需求):

向用户提出以下问题,可以一次性提出:

  1. 研究主题:你要查找的具体研究主题是什么?(例如:"movable antenna beamforming"、"LLM-based network optimization")
  2. 使用场景:这些文献用于什么?(例如:Related Work 的某个子节、完整综述、开题调研)
  3. 期刊/会议偏好
    • 默认 IEEE 顶刊(TWC, TCOM, TSP, JSAC, TMC, TCCN, TVT, IoT-J, WCL 等)
    • 是否需要包含会议论文(ICC, GLOBECOM, WCNC, INFOCOM 等)
    • 是否需要扩展到非 IEEE 源(arXiv, Semantic Scholar)
  4. 时间范围:优先查找哪个时间段的论文?(默认近 3 年)
  5. 最终精选数量:最终报告中希望保留多少篇?给出目标区间,例如:
    • Related Work 某个子节:10-15 篇
    • 完整 Related Work:20-40 篇
    • 开题调研/综述:50-80 篇
    • 默认建议:25-40 篇(搜索阶段会广泛收集,最终报告精选到目标区间)
  6. 已知文献:是否已经有一些相关论文?(有助于确定搜索方向和避免重复)

根据用户回答,确定搜索策略:

  • 拆解 2-5 组搜索关键词(不同角度、不同术语)
  • 确定数据源优先级
  • 确定筛选条件(年份、期刊、引用数等)
  • 根据目标数量,预估每个子方向分配的论文名额

向用户简要展示搜索计划(含各子方向预估数量)后,确认是否开始。

阶段 2:多轮搜索执行

使用 Python 脚本执行搜索:

cd ~/.claude/skills/literature-search
python3 scripts/search.py --keywords "hybrid action deep reinforcement learning" \
  --sources ieee semantic_scholar arxiv \
  --max-results 30 \
  --time-range 3y \
  --sort relevance \
  --output-dir results

完整参数说明见 搜索参数说明

⚠️ 关键词构造规则(踩坑经验,必读)

IEEE Xplore 的 REST 搜索对多词引号短语极其敏感——多个引号短语之间默认是 AND-of-exact-phrase 匹配, 一次塞入多个并列概念(例如 "TD3 UAV offloading" "resource allocation")几乎必定返回 0 结果。

推荐做法(单关键词原则):

  • 每次搜索只传 1 个 2–4 词的精炼短语--keywords "hybrid action reinforcement learning"
  • 禁止把多个并列概念拼进同一个 --keywords 调用
  • 不同角度 → 发起多轮搜索,每轮 1 个关键词,最后用 --merge 合并去重

如果必须一次传多个关键词:

  • 默认 --match-mode any(v2 起默认)会用 OR 连接,保持高召回
  • 仅当你明确想要 AND-of-exact-phrase 的严格过滤时才用 --match-mode all
  • 中文关键词:IEEE/arXiv 是英文库,先翻译成英文再搜;可以在 --round-id 中保留中英文对照便于回溯

多轮搜索策略

不要只用一组关键词!针对同一主题,从不同角度搜索:

  1. 核心术语搜索:直接使用研究主题的标准术语
  2. 同义词/变体搜索:使用不同表述(如 "reconfigurable intelligent surface" vs "RIS" vs "intelligent reflecting surface"
  3. 方法论搜索:从技术方法角度搜索(如 "deep reinforcement learning resource allocation"
  4. 应用场景搜索:从应用角度搜索(如 "UAV trajectory optimization"
  5. 补充搜索:如果某个子方向结果不够,追加搜索

每轮搜索结果会自动去重合并。

故障处理(Failure Recovery)

现象诊断行动
返回 0 篇关键词太长/太具体/AND 过严拆分成更短短语;或 --match-mode any;或换同义词
返回超时/连接失败源暂时不可用--sources arxiv crossref;先跑 --health 诊断
HTTP 429 / Semantic Scholar 长延时被限流等待 60s 后重试;或从 --sources 中临时移除 S2
结果 < 3 篇关键词过于specific提示 AI 换更generic的 2-3 词短语重试

搜索前先跑 health check(强烈推荐):

python3 scripts/search.py --health

根据返回的 oklatency_ms 动态调整 --sources 列表,跳过不可用源。

Google Scholar 补充搜索(当 API 搜索结果不够时):

使用 WebSearch 工具搜索:

site:scholar.google.com "exact phrase" related topic

或搜索特定期刊:

site:ieeexplore.ieee.org "keyword" "IEEE Transactions on"

阶段 3:结果整理与最终报告生成

搜索完成后,合并所有轮次结果去重,然后进行分析整理:

  1. 合并去重python3 scripts/search.py --merge results/*_papers.json -o results
  2. 读取合并后 JSON,筛选 IEEE 顶刊/顶会论文(默认保留 Early Access;仅当用户明确要求"不要 Early Access / 只要正式发表"时排除)
  3. Early Access 识别启发式(IEEE REST 不返回 volume/issue,可用以下规则粗判):
    • volume == ""number == ""pages 为 "1--xx" → 很可能 Early Access
    • 需要精确判断时,对候选 DOI 调用 Crossref:https://api.crossref.org/works/{doi}, 若返回的 message.volumemessage.page 均缺失则标记为 Early Access
  4. 自动初筛(当结果 > 40 篇时):按 venue 白名单 + 年份 + citation count 过滤到目标数量
    • 优先级:IEEE 顶刊 IF > 与主题的 abstract 相关度 > 引用数 > 发表时间
  5. 分类整理:根据论文内容将论文归入 Related Work 子方向
  6. 生成分类映射 JSON(categories.json)并调用最终报告生成

生成最终报告

准备分类映射文件 categories.json,格式为 {"子方向名称": [DOI列表]}:

{
  "A. AIGC/LLM Inference at Edge": [
    "10.1109/TMC.2024.3415661",
    "10.1109/TWC.2024.3497923"
  ],
  "B. SAGIN Resource Management": [
    "10.1109/JSAC.2024.3459073"
  ]
}

然后生成最终报告:

python3 scripts/search.py --finalize results/merged_papers.json \
  --categories categories.json \
  --topic "Hierarchical AIGC Inference in SAGIN" \
  -o results

输出格式和模版详见 最终报告模版

阶段 4:与用户确认结果

向用户展示最终报告后:

  1. 询问是否需要补充搜索某个子方向
  2. 询问是否需要排除/增加某些论文
  3. 询问是否需要调整分组方式
  4. 确认最终结果后,可将 BibTeX 导出到用户论文项目目录

依赖安装

pip install requests feedparser

快速参考(踩坑速查)

场景正确做法错误做法
多关键词搜索1 关键词/轮,多轮 merge一次塞 2+ 多词短语到 --keywords
中文主题先翻译为英文,--round-id 存中英对照直接用中文喂给 IEEE
Semantic Scholar 429--sources 临时去掉硬刷直到 timeout
结果 = 0短语拆短 / 换同义词 / --match-mode any直接放弃
结果 > 40 篇venue + 年份 + citation 初筛到目标数全部丢给用户手动筛
Early Access 判断默认保留;需要时用 Crossref 补 volume/issue靠肉眼看 contentType 字段
读摘要直接读 JSON 字段(完整)从 markdown 预览中 grep

注意事项

  • IEEE Xplore 搜索使用网页 REST 端点,无需 API Key,但有速率限制,搜索间隔建议 >= 1 秒
  • IEEE Xplore 默认匹配模式已改为 --match-mode any(OR 连接,高召回),AND 严格模式请显式传 --match-mode all
  • Semantic Scholar API 免费层 1000 次/5min,但经常 429 限流;搜索前跑 --health 确认可用性
  • arXiv API 无需密钥,但建议控制请求频率
  • Crossref 可作为 DOI 元数据的权威来源,用于补全 volume/issue/pages 和识别 Early Access
  • 多轮搜索时自动去重(基于 DOI → arXiv ID → 标题哈希)
  • 如果某个源连接失败,会自动跳过并使用其他源
  • 搜索结果保存在 results/ 目录,包含时间戳,不会覆盖历史记录
  • JSON 和 Markdown 报告中的摘要都保持完整,不做截断;若只读 markdown 截取了前 N 字符,请改读 *_papers.jsonabstract 字段
  • IEEE 顶刊/顶会完整列表见 IEEE 顶刊/顶会参考

What ships with it: 17 files

72.3 KB alongside SKILL.md, 11 of them executable

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.