mcpField
A
Answering Research Questions

Answering Research Questions

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

Answering Research Questions について

Answering Research Questionsは、質問の解析からPubMed検索、論文評価、引用追跡、知見の統合までを調整するスキルです。研究の進捗を記録し、成果をまとめる体系的な調査に向いています。

主な機能

  1. 01テーマ・データ要件・制約の解析
  2. 02PubMedによる文献検索
  3. 03論文のスコア付けと知見抽出
  4. 04論文と引用関係の追跡
  5. 05知見を研究ファイルに整理

活用シーン

  1. 01研究テーマに関する測定値の検索
  2. 02検索中の論文の追跡と重複排除
  3. 03引用をたどった関連研究の発見
  4. 04統合した文献レビューの作成

インストール

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

$npx skills add https://github.com/kthorn/research-superpower --skill answering-research-questions

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

詳細

研究に関する質問への回答

概要

クエリから知見の獲得まで、研究ワークフロー全体をオーケストレーションします。

基本原則: 体系的で、追跡可能かつ包括的に進めます。検索 → 評価 → 探索 → 統合。

開始時に宣言: 「Answering Research Questions スキルを使用して、[トピック]に関する[具体的なデータ]を探します。」

プロセス

フェーズ 1:クエリを解析する

ユーザーの依頼から以下を抽出します。

キーワード:

  • 主な概念(例:「BTK inhibitor」、「selectivity」)
  • 同義語や別表現(例:「Bruton tyrosine kinase」)
  • 関連用語(例:「off-target」、「kinase panel」)

必要なデータの種類:

  • 特定の測定値(IC50、KD、EC50 など)
  • 方法やプロトコル
  • 構造や配列
  • 結果や結論

制約条件:

  • 日付範囲
  • 特定の化合物/標的
  • 生物やシステム
  • 出版物の種類

必要に応じて確認の質問をします:

  • 「in vitro データと in vivo データのどちらをお探しですか?」
  • 「特定の期間はありますか?」
  • 「特に関心のあるキナーゼはありますか?」
  • 「Unpaywall API リクエストに使用するメールアドレスを教えてください。」(オープンアクセス論文を探すために必要です)
フェーズ 2:研究セッションを初期化する

フォルダー名を提案する:

research-sessions/YYYY-MM-DD-brief-description/

例:research-sessions/2025-10-11-btk-inhibitor-selectivity/

提案をユーザーに提示する:

📁 Creating research folder: research-sessions/2025-10-11-btk-inhibitor-selectivity/
   Proceed? (y/n)

フォルダー構造を作成する:

mkdir -p "research-sessions/YYYY-MM-DD-description"/{papers,citations}

ファイルを初期化する:

コアファイル(常に作成):

papers-reviewed.json:

{}

citations/citation-graph.json:

{}

SUMMARY.md:

# Research Query: [User's question]

**Started:** YYYY-MM-DD HH:MM
**Keywords:** keyword1, keyword2, keyword3
**Data types sought:** IC50 values, selectivity data, synthesis methods

---

## Highly Relevant Papers (Score ≥ 8)

Papers scored using `evaluating-paper-relevance` skill:
- Score 0-10 based on: Keywords (0-3) + Data type (0-4) + Specificity (0-3)
- Score ≥ 8: Highly relevant with significant data
- Score 7: Relevant with useful data
- Score 5-6: Possibly relevant
- Score < 5: Not relevant

(Papers will be added here as found)

Example format:
### [Paper Title](https://doi.org/10.1234/example)
**DOI:** [10.1234/example](https://doi.org/10.1234/example) | **PMID:** [12345678](https://pubmed.ncbi.nlm.nih.gov/12345678/)

---

## Relevant Papers (Score 7)

(Papers will be added here as found)

---

## Possibly Relevant Papers (Score 5-6)

(Noted for potential follow-up)

---

## Search Progress

- Initial PubMed search: X results
- Papers reviewed: Y
- Papers with relevant data: Z
- Citations followed: N

---

## Key Findings

(Synthesized findings will be added as research progresses)

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

補助ファイル(検索件数が100件を超える場合):

作成するタイミングについては、evaluating-paper-relevance スキルを参照してください。

  • README.md - プロジェクトの概要、方法、ファイル一覧
  • TOP_PRIORITY_PAPERS.md - 優先度別に整理した厳選リスト
  • evaluated-papers.json - プログラムからアクセスするための、詳細な構造化データ

小規模な検索(論文50件未満)では、コアファイルだけを使用します。大規模な検索(論文100件超)では、補助ファイルによって整理の価値が大きく高まります。

フェーズ 3:文献を検索する

searching-literature スキルを使用します:

  1. キーワードから PubMed クエリを作成する
  2. 検索を実行する(最初は100件の結果から開始)
  3. 結果を initial-search-results.json に保存する
  4. 「クエリに一致する論文が N 件見つかりました」と報告する
フェーズ 4:論文を評価する

evaluating-paper-relevance スキルを使用します:

各論文について:

  1. papers-reviewed.json を確認する(処理済みの場合はスキップ)
  2. 第1段階:抄録を採点する(0~10点)
  3. スコアが7以上の場合:第2段階の詳細調査を行う
  4. 知見を SUMMARY.md に抽出する
  5. PDF と補足資料が入手可能な場合はダウンロードする
  6. papers-reviewed.json を更新する(スコアの低い論文も含む、すべての論文が対象)
  7. スコアが7以上の場合:この論文についてフェーズ5に進む

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

すべての論文について進捗を報告する:

📄 [15/100] Screening: "Paper Title"
   Abstract score: 8 → Fetching full text...
   ✓ Found IC50 data for 8 compounds
   → Added to SUMMARY.md

📄 [16/100] Screening: "Another Paper"
   Abstract score: 3 → Skipping (not relevant)

📄 [17/100] Screening: "Third Paper"
   Abstract score: 7 → Relevant, adding to queue...

論文を10件処理するごとに、概要を報告します

フェーズ 5:引用を探索する

traversing-citations スキルを使用します:

スコアが7以上の論文について:

  1. 参考文献を取得する(後方)
  2. 被引用文献を取得する(前方)
  3. 関連性を基準に絞り込む(スコアが5以上)
  4. 処理キューに追加する
  5. キューに入った論文を評価する(フェーズ4に戻る)

進捗を報告する:

🔗 Following citations from highly relevant paper
   → Found 12 relevant references
   → Found 8 relevant citing papers
   → Adding 20 papers to queue
フェーズ 6:チェックポイント

以下のタイミングで確認します:

  • 50件の論文を評価するごと
  • 処理を5分行うごと
  • キューが空になったとき

ユーザーに確認します:

⏸️  Checkpoint: Reviewed 50 papers, found 12 relevant
    Papers with data: 7
    Continue searching? (y/n/summary)

選択肢:

  • y - 処理を続行する
  • n - 停止して最終結果をまとめる
  • summary - 現在の知見を表示してから決定する
フェーズ 7:調査結果を統合する

停止する場合(ユーザーが「いいえ」と答えた場合、またはキューが空の場合):

オプション A:手動で統合する(小規模な調査セッション)

  1. SUMMARY.md を確認する - 関連性とトピックごとに整理します
  2. 主な調査結果を抽出する - データの種類ごとにまとめます
  3. 統合セクションを追加する:
## Key Findings Summary

### IC50 Values for BTK Inhibitors
- Compound A: 12 nM (Smith et al., 2023)
- Compound B: 45 nM (Doe et al., 2024)
- [More compounds...]

### Selectivity Data
- Compound A shows >80-fold selectivity vs other kinases
- Tested against panel of 50 kinases (Jones et al., 2023)

### Synthesis Methods
- Lead compounds synthesized via [method]
- Yields: 30-45%
- Full protocols in [papers]

### Gaps Identified
- No data on selectivity vs [specific kinase]
- Limited in vivo data
- Few papers on resistance mechanisms
  1. 検索の進捗統計を更新する
  2. ダウンロードしたファイルをすべて列挙する

オプション B:スクリプトで統合する(大規模な調査セッション、論文 50 件超)

大規模な調査セッションでは、統合スクリプトの作成を検討してください。

generate_summary.py を作成する:

  • ヘルパースクリプトから evaluated-papers.json を読み込む
  • 優先度と足場の種類ごとに調査結果を集約する
  • 次の内容を含む包括的な SUMMARY.md を生成する:
    • 統計を含む概要
    • 関連性スコア別にまとめた論文
    • 次のステップに関する優先度付きの推奨事項
    • 方法論のドキュメント
  • タイムスタンプと再現性に関する情報を含める

メリット:

  • セッション間で一貫した書式を保てます
  • 論文を追加したときに簡単に再生成できます
  • グループ化やフィルタリングのロジックをカスタマイズできます
  • 方法論全体を記録できます

最終レポート:

✅ Research complete!

📊 Summary:
   - Papers reviewed: 127
   - Relevant papers: 18
   - Highly relevant: 7
   - Data extracted: IC50 values for 45 compounds, selectivity data, synthesis methods

📁 All findings in: research-sessions/2025-10-11-btk-inhibitor-selectivity/
   - SUMMARY.md (organized findings)
   - papers/ (14 PDFs + supplementary data)
   - papers-reviewed.json (complete tracking)
フェーズ 8:最終的な統合

重要:最後に必ず調査結果を統合してください

1. relevant-papers.json を作成する

papers-reviewed.json をフィルタリングし、関連性のある論文(スコア ≥ 7)のみを抽出します:

# Read papers-reviewed.json
with open('papers-reviewed.json') as f:
    all_papers = json.load(f)

# Filter for relevant papers (score >= 7)
relevant_papers = {
    doi: data for doi, data in all_papers.items()
    if data.get('score', 0) >= 7
}

# Save to relevant-papers.json
with open('relevant-papers.json', 'w') as f:
    json.dump(relevant_papers, f, indent=2)

形式:

{
  "10.1234/example1.2023": {
    "pmid": "12345678",
    "title": "Paper title",
    "status": "highly_relevant",
    "score": 9,
    "source": "pubmed_search",
    "timestamp": "2025-10-11T16:00:00Z",
    "found_data": ["IC50 values", "synthesis methods"],
    "chembl_id": "CHEMBL1234567"
  },
  "10.1234/example2.2023": {
    "pmid": "23456789",
    "title": "Another paper",
    "status": "relevant",
    "score": 7,
    "source": "forward_citation",
    "timestamp": "2025-10-11T16:15:00Z",
    "found_data": ["MIC data"]
  }
}
2. 方法論セクションで SUMMARY.md を強化する

既存の SUMMARY.md の先頭(論文一覧の前)に、次のセクションを追加します:

# Research Query: [User's question]

**Date:** 2025-10-11
**Duration:** 2h 15m
**Status:** Complete

---

## Search Strategy

**Keywords:** BTK, Bruton tyrosine kinase, inhibitor, selectivity, off-target, kinase panel, IC50
**Data types sought:** IC50 values, selectivity data, kinase panel screening
**Constraints:** None (open date range)

**PubMed Query:**

("BTK" OR "Bruton tyrosine kinase") AND (inhibitor OR "kinase inhibitor") AND (selectivity OR "off-target")


---

## Screening Methodology

**Rubric:** Abstract scoring (0-10)
- Key terms: +3 pts each (or Keywords 0-3, Data type 0-4, Specificity 0-3 if using old rubric)
- Relevant terms: +1 pt each
- Threshold: ≥7 = relevant

**Sources:**
- Initial PubMed search
- Forward/backward citations via Semantic Scholar

---

## Results Statistics

**Papers Screened:**
- Total reviewed: 127 papers
- Highly relevant (≥8): 12 papers
- Relevant (7): 18 papers
- Possibly relevant (5-6): 23 papers
- Not relevant (<5): 74 papers

**Data Extracted:**
- IC50 values: 45 compounds across 12 papers
- Selectivity data: 8 papers with kinase panel screening
- Full text obtained: 18/30 relevant papers (60%)

**Citation Traversal:**
- Papers with citations followed: 7
- References screened: 45 papers
- Citing papers screened: 38 papers
- Relevant papers found via citations: 8 papers

---

## Key Findings Summary

### IC50 Values for BTK Inhibitors
- Ibrutinib: 0.5 nM (Smith et al., 2023)
- Acalabrutinib: 3 nM (Doe et al., 2024)
- [Additional findings synthesized from papers below]

### Selectivity Patterns
- Most inhibitors show >50-fold selectivity vs other kinases
- Common off-targets: TEC, BMX (other TEC family kinases)

### Gaps Identified
- Limited data on selectivity vs JAK/SYK
- Few papers on resistance mechanisms
- No in vivo selectivity data found

---

## File Inventory

- `SUMMARY.md` - This file (methodology + findings)
- `relevant-papers.json` - 30 relevant papers (score ≥7)
- `papers-reviewed.json` - All 127 papers screened
- `papers/` - 18 PDFs + 5 supplementary files
- `citations/citation-graph.json` - Citation relationships

---

## Reproducibility

**To reproduce:**
1. Use PubMed query above
2. Apply screening rubric (threshold ≥7)
3. Follow citations from highly relevant papers (≥8)
4. Check Unpaywall for paywalled papers

**Software:** Research Superpowers skills v2025-10-11

---

[Existing paper listings follow below...]

## Highly Relevant Papers (Score ≥ 8)

### [Paper Title]...

ユーザーへの報告:

✅ Research session complete!

📄 Consolidation complete:
   1. SUMMARY.md - Enhanced with methodology, statistics, and findings
   2. relevant-papers.json - 30 relevant papers (score ≥7) in JSON format

📁 All files in: research-sessions/2025-10-11-btk-inhibitor-selectivity/
   - SUMMARY.md (complete: methodology + paper-by-paper findings)
   - relevant-papers.json (30 relevant papers for programmatic access)
   - papers-reviewed.json (127 total papers screened)
   - papers/ (18 PDFs)

🔍 Quick access:
   - Open SUMMARY.md for complete findings and methodology
   - Use relevant-papers.json for programmatic access

💡 Optional: Clean up intermediate files?
   → Use cleaning-up-research-sessions skill to safely remove temporary files

ワークフローのチェックリスト

これらのステップの進捗管理には TodoWrite を使用します:

  • ユーザーのクエリを解析する(キーワード、データの種類、制約)
  • 調査フォルダーを提案して作成する
  • 追跡ファイルを初期化する(SUMMARY.md、papers-reviewed.json、citation-graph.json)
  • searching-literature スキルを使って PubMed を検索する
  • 各論文について、evaluating-paper-relevance スキルを使って評価する
  • 関連性のある論文(≥7)について、traversing-citations スキルを使って引用をたどる
  • 定期的に進捗を報告する
  • 論文 50 件ごと、または 5 分ごとにチェックポイントを作成する
  • 完了したら、調査結果を統合し、方法論を追加して SUMMARY.md を強化する
  • relevant-papers.json を作成する(プログラムからアクセスするためのフィルタリング済み JSON)
  • 統計とファイルの保存場所を含む最終レポートを作成する

統合ポイント

使用するスキル:

  1. searching-literature - PubMed の初期検索
  2. evaluating-paper-relevance - 論文のスコア付けと情報の抽出
  3. traversing-citations - 引用ネットワークをたどる

すべてのスキルは、次の共有ファイルを通じて連携します:

  • 共有の papers-reviewed.json(重複排除)
  • 共有の SUMMARY.md(調査結果の蓄積)
  • 共有の citation-graph.json(関係の追跡)

ファイル構成:

  • 小規模な検索(論文 50 件未満): コアファイルのみ(papers-reviewed.json、SUMMARY.md、citation-graph.json)
  • すべての検索: 最後に relevant-papers.json を作成し、方法論を追加して SUMMARY.md を強化する
  • 大規模な検索(論文 100 件超): 整理しやすくするため、補助ファイル(README.md、TOP_PRIORITY_PAPERS.md、evaluated-papers.json)を追加してもかまいません

エラー処理

検索結果が見つからない場合:

  • キーワードの範囲を広げます
  • 制約を削除します
  • スペルを確認します
  • 別の同義語を試します

API のレート制限:

  • ユーザーに「⏸️ レート制限に達しました。待機しています...」と報告します
  • 必要な時間だけ待機します
  • 自動的に再開します

全文を取得できない場合:

  • SUMMARY.md に記録します
  • 抄録のみで評価を続けます
  • 関連性が非常に高い場合は、手動での取得が必要であることを示します

検索結果が多すぎる場合(500 件超):

  • クエリを絞り込むよう提案します
  • 最初の 100 件を処理し、続行するか確認します
  • 新しい論文、または最も多く引用されている論文を優先します

クイックリファレンス

フェーズスキル出力
解析(組み込み)キーワード、データ型、制約
初期化(組み込み)フォルダー、SUMMARY.md、追跡ファイル
検索searching-literatureメタデータ付き論文リスト
評価evaluating-paper-relevanceスコア付き論文、抽出した知見
引用文献の追跡traversing-citations引用文献から得られた追加論文
統合(組み込み)方法論と知見を追加したSUMMARY.md
集約(組み込み)relevant-papers.json(スコア7以上に絞り込み)

よくある間違い

すべての論文を追跡しない: 関連論文だけをpapers-reviewed.jsonに追加する → 再レビューを防ぎ、履歴をすべて追跡できるよう、すべての論文を追加する 小規模な検索で不要な補助ファイルを作成する: 50件未満の場合は、主要ファイル(papers-reviewed.json、SUMMARY.md、citation-graph.json)だけを使う。大規模な検索(100件超)では、README.mdやTOP_PRIORITY_PAPERS.mdなどの補助ファイルが役立つ 作業を黙って進める: ユーザーに進捗が見えない → すべての論文を報告し、10件ごとに最新情報を伝える クリックできない識別子: DOI/PMIDをプレーンテキストで記載する → 必ずMarkdownリンクを使う 十分に検索せず評価に進む: 検索結果が狭すぎる → まず検索を最適化する 論文を追跡しない: 同じ論文を再レビューすることになる → 必ずpapers-reviewed.jsonを使う すべての引用文献をたどる: 対象が指数関数的に増える → 追跡する前に絞り込む チェックポイントがない: ユーザーが状況を把握できなくなる → 50件ごとに報告して確認を求める 統合が不十分: 論文を並べるだけ → データ型ごとにグループ化し、重要な知見を抽出する まとめて報告する: 20件の論文を一度に報告する → 作業を進めながら1件ずつ報告する

ユーザーとのコミュニケーション(重要)

決して黙って作業を進めないでください!ユーザーには継続的なフィードバックが必要です。

報告頻度:

  • 論文ごと: スクリーニング中に簡潔な状況を報告する(📄 [N/Total] Title... Score: X)
  • 5~10件ごと: 件数を含む進捗サマリー
  • 知見を得るたびに: 見つけたデータをすぐに報告する
  • 判断が必要な場面ごと: 方針を変える前に確認する

進捗報告は具体的に:

  • ✅ 「化合物7のIC50 = 12 nMを発見(表2)」
  • ❌ 「データを発見」
  • ✅ 「論文25/127をスクリーニング中:関連なし(スコア3)」
  • ❌ 論文を黙ってスキップする

必要に応じて確認する:

  • ✅ 「in vitroとin vivoのどちらのIC50値をお探しですか?」
  • ❌ 確認せずに決めて、時間を無駄にする

作業を妨げる要因はすぐに報告する:

  • ✅ 「⚠️ 論文はペイウォールの向こうにあるため、要旨のみで評価しています」
  • ❌ 何も伝えずにスキップする

定期的なサマリー(論文10~15件ごと):

📊 Progress update:
   - Reviewed: 30/127 papers
   - Highly relevant: 3 (scores 8-10)
   - Relevant: 5 (score 7)
   - Currently: Screening paper 31...

理由: ユーザーは早い段階で方針を修正でき、作業が進んでいることを把握でき、必要に応じて中止できます

成功基準

以下を満たした場合、リサーチセッションは成功です:

  • 関連する論文をすべて見つけて評価している
  • 具体的なデータを抽出し、整理している
  • 引用文献を体系的にたどっている
  • 重複処理がない
  • 実用的な知見を含む明確なSUMMARY.mdがある
  • ユーザーの質問に根拠を示して回答している

次のステップ

リサーチ完了後:

  • ユーザーがSUMMARY.mdとrelevant-papers.jsonを確認する
  • 任意: cleaning-up-research-sessionsスキルを実行して中間ファイルを削除する
  • 特定の論文について、より詳しい調査を依頼できる
  • キーワードを調整した追加検索を依頼できる
  • リサーチセッションのフォルダーをアーカイブまたは共有できる

コメント