SuperAPI AI Directory

literature

Writing & research

View repository

Updated 10-21 16:21

About this skill

Literature skill (search + reading/review + citation + BibTeX)

Mode selection

Mode Applicable scenario Output/action
Multi-source search and bibliographic merge(recommended prerequisite) Multi-database export RIS/Bib, reproducible search description, merge and deduplicate See references/multi-source-retrieval.md; optional scripts/dedupe_bibtex.py
Search "Find literature", "keyword expansion", "Zotero search" Expand keywords, search result list, optional scripts zotero_searcher / zotero_export_bibtex
Reading and review "Read this PDF", "summarize literature", "review rewriting", "related work material" Reading notes, cross-comparison, review paragraphs, BibTeX (rewrite mode)
Insert citation "Add citations to this passage", "insert \cite{}", "polish citation sentences" Polished LaTeX paragraph containing \cite{key} or \cite{key1,key2}
Generate BibTeX "Convert the reference list to BibTeX", "generate .bib" BibTeX entries, abbreviation rules see references

Select the mode based on the user's wording; can be chained (e.g., multi-source merge and deduplicate → search/read → insert citation → generate BibTeX). When reading PDFs, link with the pdf skill.

Systematic review(inclusion/exclusion criteria, PRISMA process records) please use the systematic-review-lite skill, complementary to the writing-type modes in this book.

Non-Zotero / pure Word pipelineSee references/non-zotero-bibliography.md。

Directory placeholders and environment variables see the repository root README.md(default {{THESIS_DIR}}/references/zotero.bib)。


Multi-source search and bibliographic merge (used with the "Search" mode)

When it is necessary to, from multiple databases,reproduciblybuild a bibliographic pool:

  1. In each database, use the recorded search expression to export RIS or BibTeX;
  2. Merge into a single .bib(or import into Zotero first and then export);
  3. By DOI or "normalized title + year"deduplicate(see multi-source-retrieval.md);
  4. then proceed to the modes below such as "Search / Reading and review".

Multiple .bib files need to be merged and command-line deduplication is required, you can use scripts/dedupe_bibtex.py。


I. Search mode

  • Keyword expansion: synonyms, Chinese-English correspondence, domain terminology, combined queries.
  • Search method: language-capability search or script (Zotero local API). For scripts see this skill's scripts/zotero_searcher.py、scripts/zotero_export_bibtex.py; API default http://localhost:23119/api/, authentication can use environment variable ZOTERO_LOCAL_API_KEY。
  • Output: structured search results (high/medium/low relevance), expanded keyword list. When exporting BibTeX, write to {{THESIS_DIR}}/references/zotero.bib(default is 论文章节/references/zotero.bib, deduplicated by citekey).

For the search process, keyword expansion, relevance ranking, etc., see the original literature-search design; for script usage see the "Scripts" section below.


II. Reading and Review Mode

  • Reading Mode: Extract metadata, main ideas, methods, conclusions, relevance to this paper, and inspiring information from single/multiple PDFs; for multiple PDFs, perform cross-comparison and comprehensive conclusions. Output structure reference references/output-template.md。
  • Rewriting Mode: Review draft → standardized academic review, retain citations, supplement references, optimize structure, output BibTeX. Technical points see references/rewriting-workflow.md。
  • End-to-End Mode: Reading results → review paragraphs that can be inserted into the paper, indicating insertable positions and \cite{} clues.

PDF body text extraction uses pdf skill. Do not fabricate DOI/journal/author/results; relevance to the current paper must be explicitly judged.


III. Citation Insertion Mode

  • Citation Type: Direct citation, indirect citation, multiple citations; with page numbers \cite[p. 10]{key}, with chapters \cite[Chapter 3]{key}.
  • Format:\cite{key}、\cite{key1, key2}; polish the beginning and end of sentences to make the connection natural and conform to academic norms.
  • Zotero Automatic Citation Supplement: When the user provides a Zotero API and requests "add literature support to the paragraph", use scripts to retrieve → export BibTeX → insert \cite{} at the end of sentences and polish.

See references/citation-formats.md、references/language-polishing.md、references/citation-examples.md。


IV. BibTeX Generation Mode

  • Input: Reference list (Chinese/English/mixed); if from PDF reading or the user provides the full text/abstract, use it together as the abstract source.
  • Abbreviation Rules: English: author initials + year + Chinese keyword; Chinese: author surname initial + year + Chinese abbreviation. See references/abbreviation-rules.md、references/bibtex-types.md。
  • Output: Complete .bib entry, including the note field (Chinese abbreviation/English original name).Include an abstract whenever possible: When generating each BibTeX entry, (1) if the reference has its own abstract or an abstract provided by the user/reading notes, then in note add "Abstract: ..."; (2) If there is no ready-made abstract but the original text can be read(such as the PDF body text or already extracted text), then summarize 1-2 sentences from the original text as the abstract and write it into note; (3) Only when there is neither an abstract nor the ability to read the original text, do not write an abstract, and do not fabricate content. Types: article, inproceedings, phdthesis, book, techreport, etc.

See references/conversion-examples.md、references/bibtex-types.md for the conventions regarding note and abstract.


Reference Documentation Summary

Scripts

  • scripts/zotero_searcher.py: Zotero local library retrieval (--query, --expand, --limit, --base-url, --api-key).
  • scripts/zotero_export_bibtex.py: Export BibTeX by item-key to the specified .bib (--bib-path, --item-key can be used multiple times).
  • scripts/dedupe_bibtex.py: Merge multiple .bib and deduplicate by DOI / title+year (no network dependency, see script --help)。