Reference Harvester | Auto PDF & Citation Finder

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

Extracts references from a PDF research paper, converts them to BibTeX (.bib), downloads as many referenced papers as possible (arXiv + API search), and generates a Word document listing unfound references with official download URLs. Use when the user asks to extract references, collect cited papers, download bibliography PDFs, harvest references, or build a reference library from an academic paper.

一句话选型结论

按资料字段整理

Reference Harvester | Auto PDF & Citation Finder是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_82882ca7/reference-harvester
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_82882ca7仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791723735
正文体量10.8 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Reference Harvester | Auto PDF & Citation Finder当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

10.8 KB
模型实际读到的说明书原文,来自技能仓库

Reference Harvester

Automated pipeline for extracting, converting, and downloading all references from a research paper PDF.

Workflow Overview

Task Progress:
- [ ] Step 1: Extract full text from PDF
- [ ] Step 2: Parse references into individual entries
- [ ] Step 3: Enrich metadata via WebFetch (authors, journal, DOI)
- [ ] Step 4: Generate BibTeX (.bib) file
- [ ] Step 5: Download arXiv papers
- [ ] Step 6: Multi-source OA download (PMC, bioRxiv, MDPI, Nature, Unpaywall...)
- [ ] Step 7: Generate Word doc for unfound references
- [ ] Step 8: Verify results

Prerequisites

Install Python and Node.js dependencies before running scripts:

pip install pdfplumber
npm install docx

Step 1: Extract Full Text

Run: python scripts/extract_text.py <pdf_path> <output_text_path>

This uses pdfplumber to extract text from every page of the PDF. The output is saved as a plain text file for subsequent parsing.

Step 2: Parse References

Run: python scripts/parse_references.py <text_path> <output_json_path>

Locates the "References" section and parses individual entries. Supports multiple formats via auto-detection:

Format A — Numbered references (e.g., 1. Title, URL):
- Detected when the first non-header line after the section marker matches ^\d+\.\s.
- Each entry starts at a line matching ^\d+\.\s+.

Format B — Author-first references (traditional academic style):
- A new reference starts when the current line matches an author-name pattern (Firstname L...) AND the previously accumulated text looks complete (ends with a year or URL).
- A second pass splits any accidentally merged references by detecting year. AuthorName patterns mid-string.

Critical — broken-URL repair: PDF extraction often inserts spaces inside URLs (e.g., https:// doi.org/...). The parser applies fix_broken_urls() to all extracted text, collapsing https:// into https:// before any further processing. This is essential for correct DOI and URL extraction.

Output: a JSON array of objects with fields: index, title, url, doi, arxiv_id, raw.

The parser also handles:
- Stripping footnote back-references (↩, ↩2, etc.)
- Skipping page markers (--- PAGE N ---), standalone page numbers, and common PDF headers
- Recognizing Chinese/multilingual reference section headers (参考文献, 参考资料, References, Bibliography)

Step 3: Enrich Metadata via WebFetch

This is a critical new step. After parsing, the agent must enrich each reference with complete metadata by visiting its URL/DOI link. This step is necessary because:
- PDF-extracted text often has truncated titles (ending with ...)
- Author names are frequently absent in numbered/URL-only reference formats
- Journal names, volume, pages, and correct DOIs are needed for proper BibTeX

Recommended approach: Use the Task tool to launch 2-4 parallel subagents, each enriching a batch of references via WebFetch. For each reference, visit the URL and extract: full_title, authors, journal, year, doi, volume, pages.

Save the enriched metadata as JSON files (e.g., metadata_1_16.json, metadata_17_32.json, etc.) for use in BibTeX generation.

Important: When DOIs from PDF text are broken (contain spaces), reconstruct them before fetching. For example, doi.org/ 10.1016/j.bios.2025.117428 should become doi.org/10.1016/j.bios.2025.117428.

Step 4: Generate BibTeX

Run: python scripts/generate_bib.py <enriched_metadata_json> <output_bib_path>

Now accepts enriched metadata JSON (from Step 3) with complete fields: full_title, authors, journal, year, doi, volume, pages. Generates proper BibTeX entries with:
- Entry type: article for journal papers, unpublished for preprints (SSRN, bioRxiv, arXiv)
- Citation key: lastname + year + _index (e.g., li2021_1)
- All available fields: author, title, journal, year, doi, volume, pages, eprint

Fallback mode: If enriched metadata is unavailable, the script still works with the raw parsed references JSON (Step 2 output) using text-parsing heuristics, but quality will be lower.

Step 5: Download arXiv Papers

Run: python scripts/download_arxiv.py <info_json_path> <output_dir>

Downloads PDFs from https://arxiv.org/pdf/{id} for every reference with an arXiv ID. Features:
- Filename format: {index:02d}_{Author}_{Year}_{Title}.pdf
- Skips already-downloaded files
- 3-second rate limit between requests
- PDF header validation: Checks that downloaded files start with %PDF- magic bytes; deletes invalid files (HTML error pages, redirects)
- Minimum size check: >5KB (previously 1KB — too permissive)

Step 6: Multi-Source OA Download

Run: python scripts/search_non_arxiv.py <info_json_path> <output_dir> <missing_json_path>

For references without arXiv IDs, attempts download from multiple Open Access sources in priority order:

  1. Direct PDF URL: If the reference URL ends in .pdf, download directly
  2. bioRxiv / medRxiv: For DOIs starting with 10.1101/, construct https://www.biorxiv.org/content/{doi}v1.full.pdf (also try medRxiv)
  3. PMC (PubMed Central): For references with PMC IDs, try:
    - https://europepmc.org/backend/ptpmcrender.fcgi?accid={pmc_id}&blobtype=pdf (most reliable)
    - https://www.ncbi.nlm.nih.gov/pmc/articles/{pmc_id}/pdf/
  4. MDPI (all open access): For DOIs matching 10.3390/, construct https://mdpi-res.com/d_attachment/{journal}/{journal}-{vol}-{article_num}/article_deploy/{journal}-{vol}-{article_num}.pdf; fallback: https://www.mdpi.com/{ISSN}/{vol}/{issue}/{article}/pdf
  5. Nature / Springer OA: For Nature-family journals (nature.com), try https://www.nature.com/articles/{article_id}.pdf; for Springer/BMC, try https://link.springer.com/content/pdf/{doi}.pdf
  6. PLoS: For 10.1371/ DOIs, use https://journals.plos.org/plosone/article/file?id={doi}&type=printable
  7. RSC (Royal Society of Chemistry): For 10.1039/ DOIs, try https://pubs.rsc.org/en/content/articlepdf/{year}/{journal_abbr}/{article_id}
  8. Wiley OA: Try https://onlinelibrary.wiley.com/doi/pdfdirect/{doi}
  9. Elsevier OA: For ScienceDirect URLs with PII, try https://www.sciencedirect.com/science/article/pii/{pii}/pdfft
  10. arXiv title search (fallback): Search arXiv API by title words

PDF validation: ALL downloads are validated by checking the %PDF- magic bytes in the first 5 bytes. Files that are HTML pages, redirects, or error pages are automatically deleted. Minimum valid size: 5KB.

Rate limiting: 2-second delay between attempts to the same host; 3-second delay for arXiv.

Outputs a JSON file of still-missing references for the Word document step.

Step 7: Generate Word Document for Missing References

Run: node scripts/create_missing_doc.js <missing_json_path> <output_docx_path>

Important: Before running, the agent must prepare the missing references JSON with the correct format:

[
  {
    "authors": "First Author, Second Author, ...",
    "title": "Full Paper Title",
    "venue": "Journal Name (Year), Volume: Pages",
    "url": "https://doi.org/10.xxxx/...",
    "note": "DOI Link"
  }
]

The agent should mark open-access papers that failed to download (e.g., due to 403 anti-bot blocks) with "note": "Open Access - DOI" so the user knows they can likely access them manually.

The script creates a professional Word document in landscape orientation with a table listing: #, Authors, Title, Venue, and Download Page (with clickable hyperlinks). Uses alternating row colors and header styling.

Step 8: Verify Results

After completion, verify:
1. .bib file exists and has correct entry count matching total references
2. Count PDFs in the download folder; verify each is a valid PDF (%PDF- header)
3. .docx file exists for unfound references
4. Check for duplicate references (same DOI appearing under different indices)
5. Report success rate (downloaded / total references)

Use a Task subagent for verification to keep the main context clean.

Key Patterns & Pitfalls

Broken URLs from PDF extraction: This is the #1 issue. PDF text extraction frequently splits URLs across lines, inserting spaces (e.g., https:// doi.org/ or https://www. nature.com/). ALWAYS apply URL repair before extracting DOIs or downloading. The regex re.sub(r'(https?://)\s+', r'\1', text) handles the most common case, but also check for spaces after www. and within path segments.

Anti-bot protections (HTTP 403): Many publishers (MDPI, Elsevier, Wiley, ACS) aggressively block automated downloads even for open-access papers. Common mitigations:
- Use a realistic User-Agent header
- For MDPI, try the mdpi-res.com CDN domain instead of www.mdpi.com
- For Elsevier, the /pdfft endpoint sometimes works for OA articles
- Accept that some OA papers will need manual download; mark them clearly in the Word doc

PMC PDF download: The URL format https://pmc.ncbi.nlm.nih.gov/articles/PMC.../pdf/ often returns HTML instead of PDF. Use EuropePMC's backend URL instead: https://europepmc.org/backend/ptpmcrender.fcgi?accid=PMC...&blobtype=pdf.

PDF validation is mandatory: NEVER trust file size alone. Always check that the first 5 bytes of a downloaded file are %PDF-. Many failed downloads produce valid-looking HTML files (e.g., 1.8KB login pages, 403 error pages). Delete any file that fails this check.

Encoding: On Windows with GBK console, printing Unicode characters fails. Use .encode('ascii', 'replace').decode() for console output.

Reference parsing: The auto-detection approach (numbered vs. author-first) handles most academic papers. For unusual formats (e.g., Vancouver style [1], or inline-citation styles), the agent should inspect the extracted text and adjust patterns.

arXiv rate limiting: Always include a 3-second delay between downloads. arXiv will block rapid requests.

SSL issues: Some corporate/educational networks require disabling SSL verification. The scripts handle this by default.

Duplicate references: Some papers cite the same work under different indices (e.g., a preprint and its published version). The agent should detect duplicates by DOI in the verification step.

Customization

The agent should adapt paths, filenames, and the missing-reference URL research to each specific paper. The scripts accept command-line arguments rather than hardcoded paths. For papers with unusual reference formats, the agent may need to adjust the parsing heuristics in parse_references.py.

常见问题

5 问
答案由本站依据条目字段整理
Reference Harvester | Auto PDF & Citation Finder怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_82882ca7/reference-harvester。安装方式为未标注。装完刷新技能列表或重开客户端。

Reference Harvester | Auto PDF & Citation Finder支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Reference Harvester | Auto PDF & Citation Finder权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Reference Harvester | Auto PDF & Citation Finder收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Reference Harvester | Auto PDF & Citation Finder用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。