Community研究與資料分析github.com

來源審查與分類

在閱讀任何資料之前,先尋找某個主題的來源,並針對每個來源進行分類:法律可及性、AI代理實際可讀取的路徑、完整性與評級。產生一個可供其他研究技能使用的分類帳。

來源審查與分類 是什麼?

此技能為 AI 代理(例如 Claude Code、Cursor)提供了一個系統化的研究前期流程。它首先根據使用者問題,從 PubMed、OpenAlex、arXiv 等資料庫中發現候選來源。在進行任何深入分析之前,它會強制對每個來源進行四個關鍵面向的評估:法律可及性(例如開放獲取狀態)、AI代理的實際可讀取路徑(例如透過 Europe PMC API 原始資料、PDF 或網頁提取)、來源的真實性與時效性(包括撤稿檢查),以及品質與相關性評級。最終產出是一個結構化的「分類帳」Markdown 檔案,記錄了每個來源的所有這些屬性。`research-plan` 和 `evidence-check` 等其他技能可以直接利用這個分類帳。這個技能特別強調嚴謹的驗證,例如記錄實際有效的「可讀取」路徑(而非僅依賴網站回傳的 HTTP 200 狀態碼),並明確要求僅以透過 API 獲取的原始資料作為可引用文本的來源,避免使用 WebFetch 的提取結果。它也內建了明確的隱私保護與倫理準則,例如禁止使用影子圖書館繞過付費牆,以及不使用使用者未發表的作品內容進行搜尋。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Pushkar1-GitHub/D2D_Meta_Skills/tree/HEAD/skills/source-triage

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

來源審查與分類 是做什麼的?

尋找候選來源,然後在進行任何分析之前,回答關於每個來源的四個問題:

  1. 它是否合法免費?(可及性)
  2. 我,作為一個 AI 代理,實際上能否讀取它,以及透過哪種途徑?(可觸及性)
  3. 它是否真實、當前且未被撤稿?(完整性)
  4. 它的品質和核心程度如何?(評級、角色、⭐ 脈絡選集)

輸出是一個分類帳。research-plan 技能會在其基礎上建構,evidence-check 技能會根據它進行審計,使用者也可以單獨使用它(「這些來源中,哪些你可以讀取,哪些必須由我下載?」)。此技能適用於任何領域和非論文類來源。

核心真理(從慘痛經驗學到;不要重新學習)

  • 可及性是針對每條途徑,而非每篇論文。 一篇開放獲取的文章可能在出版商網站上被封鎖,但可透過 API 讀取,反之亦然。記錄實際有效的途徑。
  • HTTP 200 狀態碼會騙人。 CAPTCHA 頁面、登入牆、JavaScript Shell、空內容的 XML,以及回報「成功」但內容為空的工具,看起來都像成功。請檢查你實際獲得的內容。
  • WebFetch 回傳的是模型的提取結果,而非原始網頁。 它適合閱讀和取得後設資料;絕不能作為逐字引用的來源。逐字文本僅能來自原始途徑:使用 shell (curl) 取得的 API XML/JSON、下載的 PDF,或使用者提供的檔案。
  • 被封鎖 ≠ 找不到。 封鎖你的頁面會將來源標記為 unchecked,絕不能標記為 not_found。API 故障意味著忽略該訊號,絕不能記錄為 false。
  • 青銅級(Bronze) ≠ 可讀取。 必須測試它。
  • 絕不規避。 不得使用影子圖書館、鏡像站、快取、繞過機器人/CAPTCHA 的抓取,或批量蒐集。
  • 絕不憑記憶命名來源。 在測試中,兩個模型的初稿參考文獻都出現了錯誤的標題、錯誤的年份、錯誤的 DOI,甚至有一篇不存在的論文。每個來源在被寫入任何地方之前都必須經過查詢。

邊做邊記錄(檢查點)

在開始時建立 research/<slug>/ledger.md。在每次搜尋後,立即將查詢行附加到搜尋日誌中。在分類一個來源後,立即將其行附加到分類帳中。長時間的執行會遺失上下文;磁碟上的分類帳就是記憶體。

步驟 0 — 框架(一個訊息,然後開始)

用一行說明:問題 · 領域 · 年份範圍(預設:過去 10–15 年 + 重要的舊作;「近期」= 5 年) · 範圍內的來源類型 · 來自請求的硬性限制(例如「評分量表需要 2 個書籍章節」) · 深度:

  • quick(快速):保留 8–15 個來源。滾雪球式搜尋為可選(從頂級評論進行一次前向滾雪球)。超過上限的記錄記錄為 not carried forward (cap)(未推進,已達上限):計算在內,但無需給出排除理由。
  • deep(深入):保留 25 個以上,從 3–5 個最核心的作品進行後向和前向滾雪球搜尋。

除非使用者更正,否則繼續進行。如果使用者說「與我確認」/「逐步進行」,則在每個 ◆ 處暫停。否則直接執行到底,並在最後列出你的選擇。

步驟 1 — 優先檢查使用者已有資源

檢查使用者已擁有的資料:一個連結的 PDF 資料夾、之前的 research/*/ 分類帳、一個 .bib 或 Zotero/CSL 匯出檔案。已擁有的來源標記為 held: library。將它們的 DOI 傳遞給搜尋步驟,標記為「已有」。

步驟 2 — 發現

每個概念設定一個詞彙集,用 OR 連接:同義詞、縮寫、舊名稱、英/美式拼寫、方法名稱。對於生命科學,添加 MeSH 術語 + 入口詞、基因符號、酶名稱 + EC 編號、拉丁名 + 常見生物名稱。使用方法查詢,而非作者。 每次查詢使用 2–3 個概念組;使用更多 AND 會得到 0 個結果。

需求主要資料庫也可使用
生物醫學 / 生命科學PubMed (MeSH)Europe PMC REST (SRC:"PPR" 可找到 bioRxiv/medRxiv 預印本;HAS_FT:y 表示有全文可用), OpenAlex
任何領域,廣泛OpenAlex (主題/概念過濾器優於原始搜尋)Semantic Scholar, Crossref
計算機科學 / 機器學習 / 物理 / 量化生物學arXiv (按相關性排序)Semantic Scholar, alphaXiv / Scholar Feed
預印本Europe PMC SRC:"PPR" 或 OpenAlex type:preprintbioRxiv 連接器沒有關鍵字搜尋功能:僅用於查詢已知 DOI 的詳細資訊和已發表版本
書籍章節OpenAlex type:book-chapter, 出版商目錄, WebSearch驗證容器書籍(見步驟 4)
主張 / 快速評論Consensus, Elicit (如果已連接)透過 DOI 驗證每個結果
非論文類優先查閱擁有者的官方文件/規格/程式碼其餘部分使用 WebSearch
  • 敏感度檢查: 如果已知關鍵論文,請確認你的查詢能找出它們。
  • 結果數量: 數萬筆結果表示範圍太寬;0–1 筆表示限制過嚴,需重新措辭。重新措辭一個零結果的查詢屬於同一輪工作。
  • 記錄: 標題、作者、年份、發表處、類型、DOI · PMID · PMCID · arXiv · URL, found_via。
  • 去重: DOI → 其他 ID → 標準化後的標題 + 年份。合併預印本和已發表版本。
  • 界限: 在達到約 1,000 筆記錄或約 50 次 API 呼叫前,與使用者確認。

◆ 檢查點:詞彙、查詢、結果數量。

步驟 3 — 可及性審查(在閱讀任何內容之前)

3a. 法律可及性(批次處理)

對於每個保留的來源,呼叫 OpenAlex get_work(搜尋結果會省略授權資訊)。精確複製其 oa_status 值:gold · diamond · hybrid · green · bronze · closed。同時記錄 license 和 oa_url/pdf_url。Europe PMC 的 license 欄位和 PubMed 的 get_copyright_status 可作為備用方案。Unpaywall(version, host_type)需要一個真實的 Email:僅在使用者同意用於此目的時使用;否則跳過。

  • 無資料 → unknown。絕不能自行發明 oa、? 後綴或出版商名稱作為可及性值。
  • 非論文類來源 → web。
  • 授權未知 → 在重新分發時視為 local-only。

3b. 代理可觸及性:途徑階梯(在第一個成功處停止)

  1. 已有(Held):在使用者的資料庫或先前的執行中。
  2. Europe PMC REST,原始資料,透過 shell curl,前提是 shell 可以存取:
    • 搜尋:…/rest/search?query=DOI:"a" OR DOI:"b"&format=json,每次呼叫 ≤ 8 個 DOI,間隔 ≥ 1 秒;
    • 全文:…/rest/{PMCID}/fullTextXML。 這是最好的逐字引用途徑。僅在 shell 無法存取時使用 WebFetch;WebFetch 會拒絕長 URL 且有速率限制。
    • 429 → 等待,重試一次。5xx → blocked:http-5xx,前往下一條途徑。
  3. PubMed get_full_text_article:僅在 full_text 非空時有效。空內容 → blocked:empty-body。
  4. 預印本伺服器:arXiv, bioRxiv/medRxiv 的 .full 頁面。
  5. 開放獲取位置:OpenAlex oa_url/pdf_url(直接的 PDF URL 可能比文章頁面更有效)、Semantic Scholar openAccessPdf、CORE、Crossref TDM 連結。
  6. 出版商頁面:每個主機僅嘗試一次。跟隨 DOI 重新導向即為該次嘗試。絕不跟隨進入 robots.txt 禁止的主機(ScienceDirect / Elsevier linkinghub)。
  7. 作者或機構典藏,透過 WebSearch 搜尋 "<精確標題>" pdf。尊重「禁止文本與資料探勘 / AI 使用」的聲明。
  8. 以上皆無效:記錄原因並將此來源轉交給使用者。

2026年10月觀察結果(應重新測試;這些情況會改變):

  • 原始資料途徑有效:透過 curl 存取的 Europe PMC REST。
  • 提取途徑有效:Nature OA、Frontiers、MDPI、bioRxiv .full、arXiv、來自 OpenAlex 的 Springer PDF URL。
  • 被封鎖:ScienceDirect(機器人)、包含 Wiley OA(擷取錯誤)、Springer 文章頁面、BMC PDF 端點、PMC 網站(CAPTCHA)、Annual Reviews、Science。
  • 不可靠:PubMed 全文工具(經常回傳空內容)、Europe PMC fullTextXML(某些 PMCID 回傳 HTTP 500)、透過 WebFetch 存取的 Europe PMC(有速率限制)。

在將任何內容標記為可讀取之前,請驗證:

  • 主體文本超出摘要範圍;
  • 不是 CAPTCHA / 登入 / 拒絕存取頁面;
  • 不是空內容或僅含後設資料的 XML。
  • 下載的檔案僅在其開頭為 %PDF-、非 HTML,且大小超過約 10 KB 時才計入。
可觸及性含義
readable:<route>已取得全文:readable:europepmc-xml(原始資料) · readable:pdf(原始資料) · readable:webfetch(提取所得,不適用於逐字引用)
abstract-only僅能獲得摘要(典型的付費牆)
blocked:<reason>paywall(連摘要都沒有) · robots · captcha · login · http-4xx · http-5xx · fetch-error · rate-limited · empty-body · js-shell
unchecked未嘗試(預算/上限)。絕不寫「未測試」。

標籤規則: 控制詞優先,必須與上表完全一致。備註可在括號中附上,例如 verified (Crossref DOI)。

在將來源標記為 blocked 或 abstract-only 之前,請先尋找一份綠色的副本。一個在法律上屬於 gold/hybrid/green/bronze 但對你來說是 blocked 的來源,會被歸入「免費但對 AI 封鎖」的章節。

步驟 4 — 完整性(批次處理;在命名任何來源之前)

在發現步驟之後立即對每個你將要命名的來源執行此步驟:無論是在計畫中、作為 ⭐,或是作為推薦。這不是最終步驟。

  • 存在性: 判定結果為 verified · partial · mismatch · not_found · unchecked。使用 Reference Checker 的 check_references + OpenAlex 的 resolve_references。當工具之間意見不一致時,在 Crossref 或 OpenAlex 中精確匹配到的 DOI 優於標題搜尋得到的 not_found;請同時記錄兩者。
  • 書籍章節: 驗證容器書籍,而不僅僅是 DOI:書籍標題、編輯者、頁碼和出版商來自 Crossref 記錄(api.crossref.org/works/<doi> → container-title, page)。在測試中,DOI 是正確的,但書籍標題卻是錯的。
  • 撤稿: 使用 check_retractions 檢查。Clear 僅表示「未找到撤稿通知」。
  • 同儕審查: 為預印本加上標籤(在分類帳中標記為 peer: preprint;在來源檔案條目中標記為 `preprint`);如果存在已發表版本,請引用它。
  • 污染: 一個 2024 年之後的預印本如果在 ≥2 個索引中無法匹配,則存在偽造風險。請重新驗證或捨棄它。
  • 掠奪性期刊標誌;灰色文獻:URL + 存取日期 + Wayback Machine 連結。

步驟 5 — 評級、角色、⭐

評級 A–F: 根據其在所屬領域的適用性、方法論、同儕審查、時效性、資料和利益衝突的中位數。完整性失敗會將評級上限限制為 D。一個未讀取或僅有摘要的來源會獲得一個暫定性評級(B?)。 角色: evidence(證據) · background(背景) · method(方法) · tool/data(工具/資料) · counter(反方觀點)。 非論文類分級: T1 擁有者文件/規格/程式碼/法規 · T2 機構級 · T3 專家報導 · T4 社群級 · T5 廠商行銷。

⭐ 脈絡選集(5–10 個選擇):如果儲存在本地,最能改善正在建構之專案的來源。可及性無關緊要。每個選擇需要:

  • 為何重要;
  • 如何取得(OA 連結 / VIT 圖書館登入 / 館際合作 / 寫信給作者);
  • 一個「另存為」的名稱 <firstauthor>-<year>-<keyword>.pdf;
  • 重新分發: ok(CC-BY / CC0 / 公共領域)或 local-only(其他所有情況,包括未知授權)。

偏差檢查: 如果某個維度上已知的值中有 ≥70% 相同,則在分類帳中說明數量。

步驟 6 — 分類帳

research/<slug>/ledger.md:第一個表格,每個來源一行,欄位順序如下: # · Short cite · Type · Role · Grade · access · licence · version · reach · held · read · integrity · retraction · peer · ⭐ · Save as · Link · found_via

  • read 初始值為 not-read;research-plan 會將其填入 full · sections:<which> · abstract · metadata。
  • ⭐ 對於選定的來源為 ok 或 local-only,否則為 -。
  • 被排除的行使用 ID E1…。

在表格下方:

  • 搜尋日誌: 資料庫 · 日期 · 查詢 · 結果數 · 哪個詞彙找到了什麼。
  • 計數: 已識別 → 去重後 → 未推進(已達上限) → 保留 → 已排除(附原因)。任何「計數」行中的 total = 分類帳中的每一行,包括被排除的。

運行附帶的檢查器,python3 <此技能資料夾>/scripts/research_checks.py ledger research/<slug>/ledger.md(標準庫 Python,在你的沙箱中執行),並在移交前修復錯誤。如果單獨使用,請將分類帳渲染為 research-plan 中描述的來源檔案。

隱私

僅使用主題詞進行搜尋,絕不使用使用者未發表作品中的句子。使用者的 Email 僅用於 Unpaywall,並且僅在使用者同意後使用。

Individual skills in this repo

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

相關技能