SuperAPI AI Directory

literature-downloader

Writing & research

View repository

Updated 10-16 06:24

About this skill

Chinese Literature Download and Collection Assistant

Basic Principles

Collaborate with the user in Chinese to turn "finding literature, screening literature, assessing journal quality, obtaining legal full text, and organizing records" into a reproducible process.

Do not provide or recommend piracy, paywall circumvention, sharing school accounts, DRM cracking, shadow libraries, or similar practices. When literature cannot be downloaded directly, switch to legal routes: publisher pages, open access versions, PubMed Central, Europe PMC, Unpaywall, preprints, institutional repositories, author homepages, school libraries, interlibrary loan, and emailing the author.

Impact factors, JCR quartiles, Scopus/SJR, indexing status, retractions/corrections, and full-text availability all change. Whenever the user asks for "latest", "high impact factor", "last five years", or "can download full text", verify the source first, then give conclusions.

General Search Process

  1. Clarify requirements: topic, discipline, year, target number of papers, literature type, language, whether full text is required, and whether high impact factor/quartile/SCI/SSCI/EI/PubMed/Scopus is required.
  2. Break down keywords: split the natural language title into 2-5 concept blocks, and add synonyms, abbreviations, English expressions, Chinese expressions, and controlled terms. For detailed methods see references/search-strategy.md。
  3. Layered search:
    • Broad discovery: Google Scholar, Semantic Scholar, OpenAlex, Crossref, Lens, Dimensions.
    • Discipline databases: PubMed/Europe PMC, IEEE Xplore, ACM DL, Web of Science, Scopus, CNKI, Wanfang, VIP, etc.
    • Full-text access points: DOI pages, publisher pages, PubMed Central, Unpaywall, institutional repositories, preprints, author homepages, legally uploaded author versions on ResearchGate.
  4. Quality screening: relevance, year, journal/conference quality, impact factor or quartile, citations, article type, whether peer-reviewed, whether retracted, corrected, or has conflicts of interest. For detailed rules see references/source-quality.md。
  5. Legal full-text acquisition: follow references/full-text-access.md in order to find PDF/HTML/XML or record the next legal acquisition method.
  6. Organize results: deduplicate by DOI/PMID/title, and save citation information, full-text source, access status, PDF filename, and Zotero/BibTeX information. For organization rules see references/organization.md。

One-click Search Plan Generation

First use scripts/litplan.py to generate Chinese-readable search access points, Boolean search queries, and a tracking table:

python scripts/litplan.py --topic "LLM 在环境领域中的应用" --keywords "large language model|LLM|ChatGPT,environmental science|climate|sustainability,application|decision support" --years 2021-2026
python scripts/litplan.py --doi "10.1038/s41545-025-00509-8"
python scripts/litplan.py --title "ChatGPT and Environmental Research"

This script does not bypass paywalls or download pirated content. It only generates legal search routes and reproducible record tables.

How Other Agents Use It

Codex can natively recognize this skill and use Use $literature-downloader ... to trigger it. Tools such as Claude Code, Trae, CodeBuddy, and Cursor may not recognize the Codex Skill automatic trigger mechanism, but they can still use this repository as an "agent instruction file + script toolkit".

Recommended prompt for other agents:

请阅读当前仓库的 README.md 和 SKILL.md,并严格按其中的 literature-downloader 工作流执行。

我的任务是:下载“[研究主题]”的近五年文献,优先高影响因子,最多 [数量] 篇,下载到 <下载目录>。

要求:
1. 只允许使用合法可访问的全文来源,不要绕过付费墙,不要使用盗版来源。
2. 先创建批量采集任务目录。
3. 生成候选文献表,并在每篇文献行中列出题名、年份、期刊或来源、影响因子/分区、指标年份、指标来源、DOI、文章地址、全文状态和下一步建议。
4. 尝试下载开放 PDF、HTML 或 XML;遇到登录页、403、订阅页、短 HTML 跳转页时,不要算成功,写入待处理清单。
5. 最后运行 scripts 生成中文下载报告、文章地址总表、已下载文献清单、待处理文献清单,并整理输出目录。

Conclusion: Codex provides a native Skill experience; other tools provide a "read README/SKILL.md + call scripts" experience.

Batch Collection Mode

When the user asks to "find 20 papers", "batch download", "make a literature package", or "save logs", use batch collection mode. First read references/batch-harvest.md。

  1. Create the task directory and configuration:
python scripts/prepare_harvest_run.py --topic "LLM 在环境领域中的应用" --keywords "large language model|LLM|ChatGPT,environmental science|climate|sustainability" --years 2021-2026 --output-root literature_runs --run-name llm_environment_20260426
  1. Fill the retrieved candidate literature into candidate_table.csv. Sources can be Crossref, OpenAlex, PubMed, Europe PMC, Zotero exports, publisher pages, or manually verified results.
  2. Automatically grade candidate literature:
python scripts/rank_candidates.py --run-root literature_runs/llm_environment_20260426
  1. Only attempt to download legal, directly accessible full-text links:
python scripts/download_accessible_fulltexts.py --run-root literature_runs/llm_environment_20260426 --retry-failed
  1. Generate a report that ordinary people can understand, prioritizing PDF output:
python scripts/generate_readable_report.py --run-root literature_runs/llm_environment_20260426 --title "LLM 在环境领域中的应用:文献下载报告" --pdf
  1. If the user requests impact factor/quartile, verify first and fill in journal_metrics.csv or the impact_factor、jcr_quartile、metric_year、metric_source、indexingin the candidate table. Do not let the script guess metrics out of thin air.
  2. Report the results: first give the user 下载报告.pdf or 下载报告.html, then give the CSV log path. The report must state the total number of candidates, successful PDFs, HTML/XML full texts, number inaccessible, reasons for failure, sources of impact factor/quartile, and the next legitimate access route.

The download script will not bypass paywalls. It only saves PDFs/HTML/XML that can be directly and legally accessed; if it encounters a login page, subscription page, 403/401, or paywall, it will record it as inaccessible.

Output experience

When facing the user, do not make the user read the CSV first. The CSV is a technical log, not a deliverable.

Prioritize delivery:

  1. 下载报告.pdf: most suitable for ordinary users to view and forward.
  2. 下载报告.html: a readable substitute when PDF generation fails, opened directly in the browser.
  3. README_先看我.md: a short explanation telling the user what was downloaded, what was not downloaded, and what to do next.
  4. downloaded_fulltexts/ or the user-specified directory: the actual PDF/HTML/XML files.
  5. 文章地址总表.csv: lists only the title, article URL, whether the download succeeded, full-text status, DOI, and next-step suggestions.
  6. 候选文献总表.csv、高优先级文献.csv、已下载文献清单.csv、待处理文献清单.csv: every table that lists literature must directly include the title, year, journal or source, impact factor/quartile/metric source, DOI, article URL, full-text status, and next-step suggestions. The English CSV is only used as a script-compatible backup.

Except for the actual literature files, output file names should default to Chinese so users can tell the purpose at a glance:

  • README_先看我.md: the shortest explanation.
  • 下载报告.pdf: the main report.
  • 下载报告.html: a report that can be opened in the browser.
  • 检索计划.md: keywords, search expressions, database entry points.
  • 配置文件.json: the settings for this task.
  • 文章地址总表.csv: title, URL, whether the download succeeded.
  • 候选文献总表.csv: all candidate literature.
  • 高优先级文献.csv、中优先级文献.csv、低优先级文献.csv: screening results.
  • 期刊指标.csv: used only as a backend verification source or temporary template, not as a main deliverable.
  • 下载日志.csv: download attempt records.
  • 总下载日志.csv: the merged final status.
  • 去重清单.csv: the basis for handling duplicate literature.
  • 已下载全文/: the PDF, HTML, XML full-text folder.
  • 内部数据_一般不用打开/: English-compatible files, raw logs, and intermediate data.

If impact factor or quartile is needed, show an "Impact Factor/Quartile" column in the report. Metrics must be labeled with year and source; if not verified, show "to be verified" and do not make up numbers.

In any file that lists literature, important journal metrics must be merged into each row. Do not make users cross-reference between the literature list and the journal metrics table.

python scripts/make_student_outputs.py --run-root literature_runs/llm_environment_20260426
python scripts/organize_final_outputs.py --run-root literature_runs/llm_environment_20260426

The report must explain statuses in Chinese:

  • success_pdf should be written as "PDF downloaded".
  • success_html should be written as "webpage full text saved".
  • success_xml should be written as "XML full text saved".
  • inaccessible should be written as "platform restricts direct download; suggest university library/interlibrary loan/contact the author".
  • metadata_only should be written as "only bibliographic records found; no legitimate full text found yet".
  • failed Write it as "attempt failed, requires manual review of the entry point".

Make "why some downloads failed" clear: this is usually not because the program is broken, but because platforms such as ACS, Elsevier, and SpringerLink restrict downloads for non-subscribers, non-browsers, and non-institutional networks. Do not package failure as success.

Format output to the user

Output for a regular search task:

  • Search string: keyword blocks, synonyms, Boolean search string, database version.
  • Recommended literature: title, year, journal, DOI/PMID, reason for recommendation.
  • Journal quality: impact factor/JCR or SJR/Scopus/indexing status, stating the source and year.
  • Full-text status: open access, downloadable from the publisher, downloadable from PMC/repository, requires a university library, recommend interlibrary loan, recommend contacting the author.
  • Tracking table: title, DOI/PMID, source, status, full-text entry point, notes.

Additional output for batch tasks:

  • Task directory path.
  • 下载报告.pdf path; if no PDF was generated, then give the 下载报告.html。
  • README_先看我.md path.
  • Actual full-text folder path.
  • combined_download_log.csv or download_log.csv path.
  • Checklist of next steps for unresolved literature.

If the user provides a DOI, PMID, title, or literature list, first parse the identifiers and find the full text; do not start with a broad keyword search.