mcpField
E
Evaluating Paper Relevance

Evaluating Paper Relevance

github.com/kthorn生産性13162 回インストール53 週間前に更新
リポジトリ

Evaluating Paper Relevance について

Evaluating Paper Relevanceは、幅広い研究分野で論文を選別するスキルです。まず抄録を評価し、有望な論文は全文から具体的なデータや手法を確認します。関連性の採点基準に加え、結果の記録と進捗報告の手順も用意されています。

主な機能

  1. 01キーワード、データ種別、具体性の採点
  2. 02抄録選別後の詳細調査
  3. 03方法、結果、表、補足資料の確認
  4. 04全論文の評価結果を記録
  5. 05検索規模に応じた選別手順

活用シーン

  1. 01必要なデータを含む論文の特定
  2. 02研究手法やデータセットの調査
  3. 03複数分野の論文スクリーニング
  4. 04調査結果の整理と進捗管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/kthorn/research-superpower --skill evaluating-paper-relevance

インストール後、Claude Code で/evaluating-paper-relevanceを入力して読み込まれたか確認します。

詳細

論文の関連性を評価する

概要

2段階のスクリーニングプロセスです。まず抄録を手早く評価し、次に有望な論文を詳しく調べます。

基本原則: 幅広さよりも精度を重視します。単にテーマが関連しているだけではなく、ユーザーが必要とする特定のデータや手法が実際に含まれている論文を見つけます。

使用するタイミング

次のような場合にこのスキルを使用します。

  • 検索で見つけた論文のリストがある
  • 関連するデータを含む論文を特定する必要がある
  • ユーザーが具体的な情報(測定値、プロトコル、データセットなど)を求めている
  • 論文を1本ずつスクリーニングしている
  • 研究分野を問わない(医薬品化学、ゲノミクス、生態学、計算手法など)

アプローチの選択

検索結果が少ない場合(論文50本未満):

  • 進捗を報告しながら手動でスクリーニングします
  • papers-reviewed.json と SUMMARY.md のみを使用します
  • ヘルパースクリプトは不要です
  • 論文ごとに進捗をユーザーに報告します

検索結果が多い場合(論文50~150本):

  • ヘルパースクリプト(screen_papers.py + deep_dive_papers.py)の使用を検討します
  • Progressive Enhancement Pattern を使用します(「ヘルパースクリプト」セクションを参照)
  • README.md を作成して手法を記録します
  • すぐに参照できるよう TOP_PRIORITY_PAPERS.md を作成してもよいでしょう
  • より充実した JSON 構造を使用します(関連度別に分類した evaluated-papers.json)
  • 並行してスクリーニングするため、subagent-driven-review スキルの使用を検討します

検索結果が非常に多い場合(論文150本超):

  • Progressive Enhancement Pattern とヘルパースクリプトを必ず使用します
  • 補足ドキュメント一式(README.md、TOP_PRIORITY_PAPERS.md)を作成します
  • 引用ネットワーク分析を検討します
  • 数週間にわたるスケジュールを計画します
  • 並列化のため、subagent-driven-review スキルの使用を強く検討します
  • 複数回の統合チェックポイントが必要になる場合があります

2段階のプロセス

ステージ1:抄録のスクリーニング(迅速)

目的: 有望な論文を手早く特定します

次の項目に基づき、0~10点で評価します:

  • キーワードの一致(0~3点):抄録に、クエリに関連する重要な用語が記載されていますか?
  • データの種類の一致(0~4点):ユーザーが必要とする具体的な情報が記載されていますか?
    • 例:測定値(IC50、発現量、個体数など)、プロトコル、データセット、構造、配列、コード
  • 具体性(0~3点):ユーザーの質問に特化していますか、それとも一般的な背景情報やレビューにとどまりますか?

判断基準:

  • 5点未満:対象外(関連性なし)
  • 5~6点:要約に「関連する可能性あり」と記載しますが、ひとまず保留します
  • 7点以上:ステージ2(詳細調査)に進みます

重要:すべての論文についてユーザーに必ず報告してください:

📄 [N/Total] Screening: "Paper Title"
   Abstract score: 8 → Fetching full text...

または

📄 [N/Total] Screening: "Paper Title"
   Abstract score: 4 → Skipping (insufficient relevance)

黙ってスクリーニングしないでください。ユーザーが進捗を確認できるようにします。

ステージ2:詳細調査(徹底)

目的: 有望な論文から具体的なデータや手法を抽出します

1. ChEMBL を確認する(医薬品化学の論文の場合)

論文に医薬品化学または SAR データが記載されている場合:

skills/research/checking-chembl を使用して、その論文が ChEMBL データベースに登録されているか確認します。

curl -s "https://www.ebi.ac.uk/chembl/api/data/document.json?doi=$doi"

ChEMBL で見つかった場合:

  • ChEMBL ID と活性データ数を SUMMARY.md に記録します
  • ユーザーに「✓ ChEMBL:CHEMBL3870308(データポイント45件)」と報告します
  • PDF を解析しなくても、構造化された SAR データを利用できます

背景、手法、考察を確認するため、引き続き全文を取得します。

2. 全文を取得する

次の順で試します:

A. PubMed Central(全文を無料で公開):

# Check if available in PMC
curl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pmc&term=PMID[PMID]&retmode=json"

# If found, fetch full text XML via API
curl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pmc&id=PMCID&rettype=full&retmode=xml"

# Or fetch HTML directly (note: use pmc.ncbi.nlm.nih.gov, not www.ncbi.nlm.nih.gov/pmc)
curl "https://pmc.ncbi.nlm.nih.gov/articles/PMCID/"

B. DOI の解決:

# Try publisher link
curl -L "https://doi.org/10.1234/example.2023"
# May hit paywall - check response

C. Unpaywall(有料公開の場合は必須): 重要:手順Bで有料公開ページに行き着いた場合は、諦める前に必ず直ちに Unpaywall を試してください。

無料の OA 版を探すには、skills/research/finding-open-access-papers を使用します。

curl "https://api.unpaywall.org/v2/DOI?email=USER_EMAIL"
# Often finds versions in repositories, preprint servers, author copies
# IMPORTANT: Ask user for their email if not already provided - do NOT use [email protected]

ユーザーに次のように報告します。

⚠️  Paper behind paywall, checking Unpaywall...
✓ Found open access version at [repository/preprint server]

または

⚠️  Paper behind paywall, checking Unpaywall...
✗ No open access version available - continuing with abstract only

D. プレプリント(直接確認):

  • bioRxiv を確認します:https://www.biorxiv.org/content/10.1101/{doi}
  • arXiv を確認します(計算分野の論文の場合)

Unpaywall を試した後も全文を取得できない場合:

  • SUMMARY.md に「⚠️ 全文は有料公開。Unpaywall で OA 版が見つかりませんでした」と記載します
  • 抄録のみでの評価を続けます(評価には制限があります)

重要:Unpaywall の確認を省略しないでください。リポジトリに無料版がある有料公開論文は数多くあります。

2. 関連コンテンツを探す

以下のセクションに注目します:

  • 方法:実験手順、プロトコル
  • 結果:データテーブル、図、測定値
  • テーブル/図:多くの場合、ユーザーが必要とする具体的なデータが含まれています
  • 補足情報:追加データ、詳細な方法

確認する内容(研究分野に応じて調整):

  • ユーザーが求めている具体的なデータ
    • メディシナルケミストリー:IC50 値、化合物構造、SAR データ
    • ゲノミクス:遺伝子発現量、配列、バリアントデータ
    • 生態学:個体群測定値、種の数、環境パラメーター
    • 計算科学:アルゴリズム、コードの入手可能性、性能ベンチマーク
    • 臨床:患者の転帰、治療プロトコル、サンプルサイズ
  • 詳細に記述された方法/プロトコル
  • 統計解析と有意性
  • データ利用可能性に関する記述
  • 記載されているコード/データリポジトリ

grep/テキスト検索を使用する(検索語は適宜調整):

# Examples for different domains
grep -i "IC50\|Ki\|MIC" paper.xml                    # Medicinal chemistry
grep -i "expression\|FPKM\|RNA-seq" paper.xml        # Genomics
grep -i "abundance\|population\|sampling" paper.xml  # Ecology
grep -i "algorithm\|github\|code" paper.xml          # Computational
3. 知見を抽出する

構造化して抽出します(研究分野に応じて調整):

例 1:メディシナルケミストリー

{
  "doi": "10.1234/medchem.2023",
  "title": "Novel kinase inhibitors...",
  "relevance_score": 9,
  "findings": {
    "data_found": [
      "IC50 values for compounds 1-12 (Table 2)",
      "Selectivity data (Figure 3)",
      "Synthesis route (Scheme 1)"
    ],
    "key_results": [
      "Compound 7: IC50 = 12 nM",
      "10-step synthesis, 34% yield"
    ]
  }
}

例 2:ゲノミクス

{
  "doi": "10.1234/genomics.2023",
  "title": "Gene expression in disease...",
  "relevance_score": 8,
  "findings": {
    "data_found": [
      "RNA-seq data for 50 samples (GEO: GSE12345)",
      "Differential expression results (Table 1)",
      "Gene set enrichment analysis (Figure 4)"
    ],
    "key_results": [
      "123 genes upregulated (FDR < 0.05)",
      "Pathway enrichment: immune response"
    ]
  }
}

例 3:計算手法

{
  "doi": "10.1234/compbio.2023",
  "title": "Novel alignment algorithm...",
  "relevance_score": 9,
  "findings": {
    "data_found": [
      "Algorithm pseudocode (Methods)",
      "Code repository (github.com/user/tool)",
      "Benchmark results (Table 2)"
    ],
    "key_results": [
      "10x faster than BLAST",
      "98% accuracy on test dataset"
    ]
  }
}
4. 資料をダウンロードする

PDF:

# If PDF available
curl -L -o "papers/$(echo $doi | tr '/' '_').pdf" "https://doi.org/$doi"

補足データ:

# Download SI files if URLs found
curl -o "papers/${doi}_supp.zip" "https://publisher.com/supp/file.zip"
5. 追跡ファイルを更新する

重要:papers-reviewed.json と SUMMARY.md のみを使用してください。独自の追跡ファイルを作成しないでください。

重要:スコアにかかわらず、すべての論文を papers-reviewed.json に追加してください。これにより、論文の再レビューを防ぎ、検索履歴全体を記録できます。

papers-reviewed.json に追加する:

関連する論文の場合(スコア ≥7):

{
  "10.1234/example.2023": {
    "pmid": "12345678",
    "status": "relevant",
    "score": 9,
    "source": "pubmed_search",
    "timestamp": "2025-10-11T10:30:00Z",
    "found_data": ["IC50 values", "synthesis methods"],
    "has_full_text": true,
    "chembl_id": "CHEMBL1234567"
  }
}

関連しない論文の場合(スコア <7):

{
  "10.1234/another.2023": {
    "pmid": "12345679",
    "status": "not_relevant",
    "score": 4,
    "source": "pubmed_search",
    "timestamp": "2025-10-11T10:31:00Z",
    "reason": "no activity data, review paper"
  }
}

スキップした場合も、必ず論文を追加してください。これにより、再処理を防ぎ、すでに確認した内容を記録できます。

SUMMARY.md に追加する(分野別の例):

メディシナルケミストリーの例:

### [Novel kinase inhibitors with improved selectivity](https://doi.org/10.1234/medchem.2023) (Score: 9)

**DOI:** [10.1234/medchem.2023](https://doi.org/10.1234/medchem.2023)
**PMID:** [12345678](https://pubmed.ncbi.nlm.nih.gov/12345678/)
**ChEMBL:** [CHEMBL1234567](https://www.ebi.ac.uk/chembl/document_report_card/CHEMBL1234567/)

**Key Findings:**
- IC50 values for 12 inhibitors (Table 2)
- Compound 7: IC50 = 12 nM, >80-fold selectivity
- Synthesis route (Scheme 1, page 4)

**Files:** PDF, supplementary data

ゲノミクスの例:

### [Transcriptomic analysis of disease progression](https://doi.org/10.1234/genomics.2023) (Score: 8)

**DOI:** [10.1234/genomics.2023](https://doi.org/10.1234/genomics.2023)
**PMID:** [23456789](https://pubmed.ncbi.nlm.nih.gov/23456789/)
**Data:** [GEO: GSE12345](https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE12345)

**Key Findings:**
- RNA-seq data: 50 samples, 3 conditions
- 123 differentially expressed genes (FDR < 0.05)
- Immune pathway enrichment (Figure 3)

**Files:** PDF, supplementary tables with gene lists

計算手法の例:

### [Fast sequence alignment with novel algorithm](https://doi.org/10.1234/compbio.2023) (Score: 9)

**DOI:** [10.1234/compbio.2023](https://doi.org/10.1234/compbio.2023)
**Code:** [github.com/user/tool](https://github.com/user/tool)

**Key Findings:**
- New alignment algorithm (pseudocode in Methods)
- 10x faster than BLAST, 98% accuracy
- Benchmark datasets available

**Files:** PDF, code repository linked

重要:DOI と PMID は必ずクリック可能なリンクにしてください:

  • DOI 形式:[10.1234/example.2023](https://doi.org/10.1234/example.2023)
  • PMID 形式:[12345678](https://pubmed.ncbi.nlm.nih.gov/12345678/)
  • SUMMARY.md から論文に直接アクセスしやすくなります

進捗報告

重要:作業中はユーザーに報告してください。黙って作業を進めないでください。

論文ごとに、以下を報告します:

  1. スクリーニング開始: 📄 [N/Total] Screening: "Title..."
  2. 抄録のスコア: Abstract score: X/10
  3. 判断: 次に行う作業(全文の取得/スキップなど)

関連する論文の場合は、知見をすぐに報告します(分野に応じて調整):

メディシナルケミストリーの例:

📄 [15/127] Screening: "Selective BTK inhibitors..."
   Abstract score: 8 → Fetching full text...
   ✓ Found IC50 data for 8 compounds (Table 2)
   ✓ Selectivity data vs 50 kinases (Figure 3)
   → Added to SUMMARY.md

ゲノミクスの例:

📄 [23/89] Screening: "Gene expression in liver disease..."
   Abstract score: 9 → Fetching full text...
   ✓ RNA-seq data available (GEO: GSE12345)
   ✓ 123 DEGs identified (Table 1, FDR < 0.05)
   → Added to SUMMARY.md

計算手法の例:

📄 [7/45] Screening: "Novel phylogenetic algorithm..."
   Abstract score: 8 → Fetching full text...
   ✓ Code available (github.com/user/tool)
   ✓ Benchmark results (10x faster, Table 2)
   → Added to SUMMARY.md

5~10 件ごとに、要約をユーザーに報告します:

📊 Progress: Reviewed 30/127 papers
   - Highly relevant: 3
   - Relevant: 5
   - Currently screening paper 31...

重要な理由: ユーザーは作業の進行状況を把握し、早い段階でフィードバックや修正を行う必要があります。

他のスキルとの連携

メディシナルケミストリーの論文の場合:

  • skills/research/checking-chembl を使用して、キュレーション済みの SAR データを探します
  • PDF の活性テーブルを解析する前に確認します
  • メディシナルケミストリーの論文の約 30~40%には ChEMBL データがあります

全文を取得する際:

  • ペイウォールがある場合:必ず skills/research/finding-open-access-papers(Unpaywall)を使用します
  • この手順を省略しないでください。Unpaywall を使うと、ペイウォールのある論文の約 50%を無料で見つけられます

関連論文を見つけた後:

  1. ChEMBL を確認します(メディシナルケミストリーの場合)
  2. 知見を SUMMARY.md に抽出します
  3. ファイルを papers/ フォルダーにダウンロードします
  4. traversing-citations スキルを呼び出して、関連論文を探します
  5. 再処理を防ぐため、papers-reviewed.json を更新します

スコアリング基準

スコア意味対応
0-4関連なしスキップし、要約に簡単なメモを残す
5-6関連する可能性あり後で確認するために記録し、現時点では詳細な調査をスキップする
7-8関連あり詳細に調査し、データを抽出して、要約に追加する
9-10非常に関連あり詳細に調査し、データを抽出して、引用文献をたどり、要約で強調する

ヘルパースクリプト(任意)

多数の論文(20件超)をスクリーニングする場合は、ヘルパースクリプトの作成を検討してください。

メリット:

  • レート制限を設けた一括処理
  • 一貫したスコアリングロジック
  • 中間結果の保存
  • 中断後の再開

調査セッションフォルダーに作成:

# research-sessions/YYYY-MM-DD-query/screen_papers.py

主な構成要素:

  1. 抄録の取得 - エラー処理を備えた PubMed efetch
  2. 抄録のスコアリング - スコアリング基準(0~10)を実装
  3. レート制限 - API 呼び出しの間に500msの遅延を設ける(並列サブエージェントを実行する場合は、さらに長くします)
  4. 結果の保存 - 関連度別に分類した、スコア付き論文の JSON
  5. 進捗の報告 - 実行中に状況を表示
段階的な機能拡張パターン(50件以上の場合に推奨)

大規模なスクリーニングでは、2つのスクリプトを使うパターンを採用してください。

スクリプト 1:抄録のスクリーニング(screen_papers.py)

  • 抄録を一括取得
  • 基準を使ってスコアリング(0~10)
  • 関連度別に分類
  • 出力:基本メタデータを含む evaluated-papers.json

スクリプト 2:詳細調査(deep_dive_papers.py)

  • スクリプト 1 の出力を読み込む
  • 関連性が非常に高い論文(スコア ≥8)の全文を取得
  • 分野固有のデータ(測定値、プロトコル、データセットなど)を抽出
  • 詳細なメタデータで同じ JSON ファイルを更新

メリット:

  • 各手順を個別に実行できます - 抄録のスコアリングは一度行えば、詳細調査は何度でも再実行できます
  • 中断後に再開できます - 詳細調査に失敗しても、抄録を再取得する必要はありません
  • 抄録を再スコアリングせずに詳細調査を再実行できます - スコアはそのままに、抽出ロジックを調整できます
  • 一貫性と再現性を保てます - すべての論文に同じスコアリングロジックを適用します
  • API 呼び出しを節約できます - 抄録のスクリーニングは一度だけ行い、詳細調査は関連性の高い論文に限って実施します

スクリプトの設計:

  • クエリに応じてキーワードとデータ型をパラメーター化する
  • 段階的な機能拡張により、同じ JSON ファイルに詳細を追加する
  • レート制限を設ける(単一スクリプトの場合は API 呼び出しの間に500ms、並列実行の場合はさらに長くする)
  • 再現性を確保するため、調査セッションと一緒にスクリプトを保管する

ヘルパースクリプトを作成しない場合:

  • 論文が少ない(20件未満)
  • 一度限りの簡単な検索
  • 手動でのスクリーニングのほうが速い

よくある間違い

すべての論文を追跡しない: 関連性のある論文だけを papers-reviewed.json に追加する → 再レビューを防ぐため、スコアに関係なくすべての論文を追加します Unpaywall を確認しない: ペイウォールにぶつかって諦める → まず必ず Unpaywall を確認します。無料版が公開されている論文は多数あります 小規模な検索で不要なファイルを作成する: 50件未満の場合は、papers-reviewed.json と SUMMARY.md のみを使用します。大規模な検索(100件超)では、構造化された evaluated-papers.json と補助ファイル(README.md、TOP_PRIORITY_PAPERS.md)が大きな価値をもたらすため、使用してください。 厳しすぎる: データに間接的に言及している論文を除外する → 抄録を注意深く読み直します 寛容すぎる: 関連性が薄い論文まで詳細調査する → ユーザーが必要とする特定のデータに焦点を当てます 補足データの見落とし: 多くの論文では重要なデータが SI に掲載されています → 必ず補足ファイルを確認します 進捗を知らせずにスクリーニングする: ユーザーが進捗を確認できない → スクリーニング中は論文ごとに必ず報告します 定期的な要約を行わない: ユーザーが全体像を見失う → 5~10件ごとに更新します クリックできない DOI/PMID: 識別子がプレーンテキストになっている → 必ず Markdown リンクを使用します 論文を再レビューする: 時間の無駄になる → まず必ず papers-reviewed.json を確認します ヘルパースクリプトを使わない: 100件以上を手動でスクリーニングする → 一括処理用スクリプトを検討します

クイックリファレンス

タスク操作
レビュー済みか確認するpapers-reviewed.json で DOI を検索
抄録をスコアリングするキーワード(0~3)+データ型(0~4)+具体性(0~3)
全文を取得するPMC → DOI → Unpaywall → プレプリントの順に試す
データを探す用語を grep で検索し、Methods/Results/Tables に注目する
PDF をダウンロードするcurl -L -o papers/FILE.pdf URL
追跡情報を更新するpapers-reviewed.json + SUMMARY.md に追加

次のステップ

論文の評価後:

  • スコアが ≥ 7 の場合:skills/research/traversing-citations を呼び出す
  • 検索結果の次の論文に進む
  • 論文が50件、または5分に達したか確認し、続行するか停止するかユーザーに尋ねる

補助ファイル(大規模な検索:100件超の場合)

README.md テンプレート

論文が100件以上ある研究プロジェクトでは、この構成を使用します。

  1. プロジェクトの概要

    • クエリの説明
    • 対象となる分子/トピック
    • 完了日
  2. クイックスタートガイド

    • 読み始める場所
    • 優先リスト
  3. ファイル一覧

    • 各ファイルの説明
    • 各ファイルの用途
  4. 主な調査結果の概要

    • 統計情報
    • 主な調査結果
    • カテゴリ別の網羅状況
  5. 方法論

    • スコアリング基準
    • 判断ルール
    • データソース
  6. 次のステップ

    • 推奨アクション
    • 優先順位
TOP_PRIORITY_PAPERS.md テンプレート

関連論文が50件を超えるデータセットでは、選別した優先リストを作成します。

  • ティア別に整理します(ティア1:必読、ティア2:価値が高い、など)
  • スコア、DOI、主な調査結果の概要を記載します
  • 全文の入手可否を記載します
  • 推奨する読む順番を示します

構成例:

# Top Priority Papers

## Tier 1: Must-Read (Score 10)

### [Paper Title](https://doi.org/10.xxxx/yyyy) (Score: 10)

**DOI:** [10.xxxx/yyyy](https://doi.org/10.xxxx/yyyy)
**PMID:** [12345678](https://pubmed.ncbi.nlm.nih.gov/12345678/)
**Full text:** ✓ PMC12345678

**Key Findings:**
- Finding 1
- Finding 2

---

## Tier 2: High-Value (Score 8-9)

[Additional papers organized by priority...]

コメント