Community寫作與編輯github.com

BorisW269/skills

專為學術研究設計的完整引用管理工具。可搜尋 OpenAlex、PubMed 和 Google Scholar 上的論文、提取準確的元數據、驗證引用,並生成格式正確的 BibTeX 條目。當你需要查找論文、驗證引用資訊、將 DOI 轉換為 BibTeX,或確保科學寫作中的參考文獻準確性時,應使用此技能。

skills 是什麼?

此技能為 AI 代理提供了一個系統化的學術引用管理工作流程,涵蓋從論文發現到最終參考文獻驗證的完整過程。它整合了 OpenAlex、PubMed 和 Google Scholar 等多個學術資料庫的搜尋功能,並能從 DOI、PMID、arXiv ID 等識別碼自動提取完整的元數據(如作者、標題、期刊、年份等)。此工具能生成標準化的 BibTeX 條目,並內建強大的驗證功能,可檢查引用資訊的準確性、重複條目以及必填欄位的完整性。此外,它也與文獻回顧(literature-review)和科學寫作(scientific-writing)等技能無縫整合,確保研究流程的穩健性。該技能支援多種平台,並強調安全性,在處理來自API的元數據時會進行注入攻擊防護,是維護學術引用品質的關鍵基礎設施。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BorisW269/skills/tree/HEAD/skills/citation-management

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

引用管理

概述

在研究與寫作過程中系統化地管理引用。此技能提供搜尋學術資料庫(Google Scholar、PubMed)、從多個來源(CrossRef、PubMed、arXiv)提取準確的元數據、驗證引用資訊,以及生成格式正確的 BibTeX 條目的工具與策略。

對於維持引用準確性、避免參考文獻錯誤以及確保可重複研究至關重要。此技能可與文獻回顧(literature-review)技能無縫整合,實現全面的研究工作流程。

何時使用此技能

在以下情況使用此技能:

  • 在 Google Scholar 或 PubMed 上搜尋特定論文
  • 將 DOI、PMID 或 arXiv ID 轉換為格式正確的 BibTeX
  • 提取引用的完整元數據(作者、標題、期刊、年份等)
  • 驗證現有引用的準確性
  • 清理和格式化 BibTeX 檔案
  • 在特定領域尋找高被引論文
  • 驗證引用資訊是否與實際出版物相符
  • 為手稿或論文建立參考文獻清單
  • 檢查重複引用
  • 確保引用格式的一致性

如果由這些引用構建的文件需要圖表,請使用 scientific-schematics 技能。


核心工作流程

引用管理遵循一個系統化的流程。以下每個階段顯示了標準指令;所有變體、選項和元數據來源的詳細資訊請參閱 references/core_workflow.md。

階段 1:論文發現與搜尋

查找相關論文。請搜尋一個以上的資料庫——不同資料庫的覆蓋範圍差異很大,僅依賴單一來源是造成參考文獻清單偏頗的最常見原因。

# OpenAlex:多學科 REST API;可選 OPENALEX_API_KEY 以獲得帳戶配額
python scripts/search_openalex.py "CRISPR gene editing" --limit 50 --output results.json

# PubMed:生物醫學與生命科學的權威來源(超過 3500 萬筆引用)
python scripts/search_pubmed.py "Alzheimer's disease treatment" --limit 100 --output alz.json

# Google Scholar:涵蓋範圍最廣,但需進行網頁爬取——有速率限制且容易被封鎖
python scripts/search_google_scholar.py "CRISPR gene editing" --limit 50 --output scholar.json

建議優先使用 OpenAlex 或 PubMed 作為主要來源。Google Scholar 沒有 API:scholarly 庫會對其進行爬取,每次結果之間會暫停 2-5 秒,並且經常被封鎖,因此應將其作為輔助來源而非依賴。

查詢運算子、欄位標籤和 MeSH 術語的建構方式請參閱 references/search_strategies.md。

階段 2:元數據提取

將識別碼(DOI、PMID、PMCID、arXiv ID、URL)轉換為完整的元數據。CrossRef 是 DOI 的主要來源。

python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2         # 快速,單一 DOI
python scripts/extract_metadata.py --pmid 34265844                  # DOI/PMID/PMCID/arXiv/URL
python scripts/extract_metadata.py --input identifiers.txt --output citations.bib

路徑中不含 DOI 的 URL 會透過解析出版商在文章頁面上嵌入的 citation_doi 元標籤來處理,然後交給 CrossRef。生成器使用共享的引用鍵方案;元數據差異仍可能產生不同的鍵。請透過 DOI 和書目身份確認重複項。

階段 2.5:透過網路搜尋進行元數據豐富化(強制執行)

API 經常回傳不完整的記錄。請在提取之後、格式化之前執行此步驟。針對缺少的書目欄位,比對出版商記錄進行調查,並記錄每個來源。線上優先的文章可能尚無卷期/頁碼;有些使用文章編號或沒有 DOI。請保留實際的出版狀態,使用風格適當的文章編號欄位,切勿憑空編造頁碼、卷期或 DOI。在稽核日誌中記錄無法取得/不適用的欄位;僅在對讀者有幫助或引用風格要求時,才添加渲染後的 note。

先檢查便宜的來源——OpenAlex 或 CrossRef 的記錄通常包含 PubMed 遺漏的欄位:

python scripts/search_openalex.py "<exact title>" --limit 1

將提取的元數據視為不可信任。 作者、標題和期刊字串直接來自記錄,其內容由出版商控制。包含 $(...)、反引號或引號的標題,一旦貼上指令就會變成 shell 語法。請將元數據作為 subprocess 參數列表傳遞,而不是建構 shell 字串;如果必須使用 shell,請對每個替換值使用單引號,並將嵌入的引號轉義為 '\''。在引用鍵到達路徑之前,請根據 ^[A-Za-z0-9]+$ 驗證任何引用鍵。

每個欄位的搜尋策略、四種搜尋選項以及日誌格式,請參閱 references/core_workflow.md。

階段 3:BibTeX 格式化

產出乾淨且一致的條目。條目類型和必填欄位請參閱 references/bibtex_formatting.md。

python scripts/format_bibtex.py references.bib --output clean.bib --deduplicate
python scripts/format_bibtex.py references.bib --output clean.bib --rekey --deduplicate

寫入是可選的:如果沒有 --output(或 --in-place),結果會輸出到 stdout,輸入檔案保持不變。在合併多個來源的結果時使用 --rekey,這樣相同的論文會合併為一個條目。

階段 4:引用驗證

檢查完整性、與出版場所要求的一致性,以及與手稿的匹配度。

python scripts/validate_citations.py references.bib --report report.json
python scripts/validate_citations.py references.bib --venue nature
python scripts/validate_citations.py references.bib --manuscript paper.tex
python scripts/validate_citations.py references.bib --check-dois     # 較慢;會查詢 CrossRef

當出現高嚴重性錯誤時——例如缺少必填欄位、格式錯誤的年份、無法解析的引用,或引用數量低於明確設定的 --min-count——腳本會以非零狀態碼退出。場所要的參考文獻數量是編輯部的經驗法則,而非投稿要求,因此未達標只會產生警告。

驗證規則和場所標準請參閱 references/citation_validation.md。

階段 5:與寫作工作流程整合

搜尋、提取、格式化、驗證,然後引用。完整的端到端流程——包括文獻回顧和 Zotero/pyzotero 匯出路徑——請參閱 references/core_workflow.md 和 references/example_workflows.md。

API 合約已於 2026-09-30 與官方文件進行比對審查。端點、認證、分頁和驗證限制請參閱 references/api_contracts.md。參考資料中的網路範例僅供說明,除非記錄為即時冒煙測試。

參考檔案

應避免的常見陷阱

  1. 單一來源偏誤:僅使用一個資料庫

    • 解決方案:至少搜尋 OpenAlex 和 PubMed,然後使用 format_bibtex.py --rekey --deduplicate 合併。
  2. 盲目接受元數據:未驗證提取的資訊

    • 解決方案:對照原始來源抽查提取的元數據。
  3. 忽略 DOI 錯誤:參考文獻清單中有損壞或不正確的 DOI

    • 解決方案:在最終提交前執行驗證。
  4. 格式不一致:混合引用鍵樣式、格式

    • 解決方案:使用 format_bibtex.py 進行標準化。
  5. 重複條目:同一篇論文以不同的鍵多次引用

    • 解決方案:在驗證中使用重複檢測。
  6. 缺少必填欄位:不完整的 BibTeX 條目(缺少卷期、頁碼、DOI)

    • 解決方案:檢查出版商記錄,區分「遺失」、「不適用」和「尚未分配」,並記錄未解析的欄位,切勿編造元數據。
  7. 過時的預印本:引用已發表版本的預印本

    • 解決方案:檢查預印本是否已發表,更新為期刊版本。
  8. 特殊字元問題:因字元導致 LaTeX 編譯失敗

    • 解決方案:在 BibTeX 中使用正確的轉義或 Unicode。
  9. 提交前未驗證:帶著引用錯誤提交

    • 解決方案:務必在最終檢查時執行驗證。
  10. 手動輸入 BibTeX 條目:手動鍵入條目

    • 解決方案:務必使用腳本從元數據來源提取。

與其他技能的整合

文獻回顧技能

引用管理為文獻回顧提供技術基礎設施:

  • 文獻回顧:多資料庫系統性搜尋與綜合分析
  • 引用管理:元數據提取與驗證

結合的工作流程:

  1. 使用文獻回顧技能進行系統性搜尋方法
  2. 使用引用管理技能提取和驗證引用
  3. 使用文獻回顧技能綜合分析發現
  4. 使用引用管理技能確保參考文獻清單的準確性

科學寫作技能

引用管理確保科學寫作中的參考文獻準確:

  • 匯出經驗證的 BibTeX,用於 LaTeX 手稿
  • 驗證引用是否符合出版標準
  • 根據期刊要求格式化參考文獻

出版場所模板技能

引用管理與出版場所模板協同工作,產出可直接提交的手稿:

  • 不同的出版場所需要不同的引用風格
  • 生成格式正確的參考文獻
  • 驗證引用是否滿足場所要求

資源

捆綁資源

參考資料(在 references/ 目錄下):

  • google_scholar_search.md:完整的 Google Scholar 搜尋指南
  • pubmed_search.md:PubMed 和 E-utilities API 文件
  • metadata_extraction.md:元數據來源和欄位要求
  • citation_validation.md:驗證標準和品質檢查
  • bibtex_formatting.md:BibTeX 條目類型和格式化規則

腳本(在 scripts/ 目錄下):

  • search_openalex.py:OpenAlex 搜尋客戶端(可選帳戶 API 金鑰)
  • search_pubmed.py:PubMed E-utilities API 客戶端
  • search_google_scholar.py:Google Scholar 搜尋自動化
  • extract_metadata.py:通用元數據提取器
  • validate_citations.py:引用驗證與核實
  • format_bibtex.py:BibTeX 格式化與清理工具
  • doi_to_bibtex.py:快速 DOI 轉 BibTeX 轉換器
  • _common.py:共享的 BibTeX 解析器、渲染器和引用鍵方案

資源檔案(在 assets/ 目錄下):

  • bibtex_template.bib:所有類型的 BibTeX 條目範例
  • citation_checklist.md:品質保證檢查清單

外部資源

搜尋引擎:

元數據 API:

工具與驗證器:

引用風格:

依賴項

必要的 Python 套件

uv pip install requests  # 用於 HTTP 存取 CrossRef、PubMed、OpenAlex、arXiv

BibTeX 解析、渲染、去重和驗證功能使用標準函式庫(scripts/_common.py)。format_bibtex.py 不需第三方套件;validate_citations.py 匯入 requests,即使僅進行本地驗證也需要。

可選套件

uv pip install scholarly  # 僅供 search_google_scholar.py 使用

憑證的發送位置

基本使用時,金鑰是可選的。每個憑證僅發送到其對應的服務;沒有腳本會將環境變數捆綁在一起。OpenAlex 使用文件說明的帳戶預算,而非承諾的電子郵件配額提升。失敗的頁面會以錯誤訊息退出,而不是將部分搜尋結果匯出為完整結果。

變數僅發送到目的
NCBI_API_KEYeutils.ncbi.nlm.nih.gov提高 Entrez 速率限制
NCBI_EMAILeutils.ncbi.nlm.nih.gov, pmc.ncbi.nlm.nih.govNCBI 要求的呼叫者識別
OPENALEX_EMAILapi.openalex.org可選的聯絡識別碼
OPENALEX_API_KEYapi.openalex.org可選的帳戶配額,在 Authorization 標頭中發送

api.openalex.org、api.crossref.org、api.datacite.org、export.arxiv.org、pmc.ncbi.nlm.nih.gov、doi.org 和 eutils.ncbi.nlm.nih.gov 在未設定這些變數時,會在無憑證的情況下進行查詢。

總結

引用管理技能提供:

  1. 全面的搜尋能力,支援 OpenAlex、PubMed 和 Google Scholar
  2. 自動化元數據提取,支援從 DOI、PMID、PMCID、arXiv ID、URL 提取
  3. 引用驗證,包含 DOI 驗證和比較

…

[翻譯省略]

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能