tooluniverse-literature-deep-research について
tooluniverse-literature-deep-researchは、体系的な文献調査を支援するスキルです。研究者がファクトチェック、テーマ別レビュー、詳細レポートを作成する際に、分野横断検索、エンティティの特定、証拠の評価、出典の明示を行い、テーマに応じて検索先と報告範囲を調整します。
主な機能
- 01範囲に応じたレポート形式の選択
- 02エンティティの特定と名称の衝突検出
- 03分野横断の文献・引用検索
- 04T1〜T4による証拠評価
- 05出典を明示した構造化レポート
- 06分野に応じたデータベースとツールの選択
活用シーン
- 01研究上の疑問を根拠付きでファクトチェック
- 02特定テーマのミニレビュー作成
- 03分野横断の研究を統合して証拠を評価
- 04引用をたどって関連論文を見つける
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-literature-deep-researchインストール後、Claude Code で/tooluniverse-literature-deep-researchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
EXAMPLES.mdFULLTEXT_STRATEGY.mdQUICK_REFERENCE.mdREPORT_TEMPLATE.mdTOOL_NAMES_REFERENCE.mdWORKFLOW.md詳細
文献の詳細調査
体系的な文献調査:対象を明確にし、重複を考慮したクエリで検索し、エビデンスを評価して、構造化されたレポートを作成します。
重要な原則:(1)まず対象を明確にする(2)成果物の規模を適切にする(3)すべての主張をT1~T4で評価する(4)「エビデンスが限定的」な場合も含め、すべてのセクションを必須とする(5)すべての主張に出典を明記する(6)まず英語で検索し、ユーザーの言語で回答する(7)レポートは成果物であり、検索ログではない
推測せず、調べる
推論する前に、まずPubMed/EuropePMCを検索します。記憶よりも、公開済みの論文を優先します。
事実確認の検索戦略:
- 重要な用語(最も具体的な名詞・動詞)を抽出する
EuropePMC_search_articles(query="term1 term2 term3", limit=5)- 結果がなければ、条件を広げる(最も限定的な用語を削除する)
- 結果が多すぎる場合は、条件を絞る(具体的な用語を追加する)
- 通常、上位の検索結果の要旨に回答があります
- クエリが失敗した場合は、異なる用語や同義語を試し、同じ検索を繰り返さない
説明せず、計算する
分析に計算(統計、データ処理、スコアリング、エンリッチメント)が必要な場合は、Bash経由でPythonコードを作成して実行します。実行する内容を説明するだけではなく、実際に実行して結果を報告します。ToolUniverseツールでデータを取得し、Python(pandas、scipy、statsmodels、matplotlib)で分析します。
ワークフロー
Phase 0: Clarify + Mode Select → Phase 1: Disambiguate + Profile → Phase 2: Literature Search → Phase 3: Report
フェーズ0:モードの選択
| モード | 対象 | 成果物 |
|---|---|---|
| 事実確認 | 具体的な質問1つ | 1ページのファクトチェックレポート+参考文献 |
| ミニレビュー | 範囲の狭いトピック | 1~3ページの解説 |
| 詳細な総合調査 | 包括的な概要 | 15セクションのレポート+参考文献 |
事実確認モード(迅速な方法)
# [TOPIC]: Fact-check Report
## Question / ## Answer (with evidence rating) / ## Source(s) / ## Verification Notes / ## Limitations
分野の判定
| パターン | 分野 | 対応 |
|---|---|---|
| 遺伝子/タンパク質のシンボル | 生物学的標的 | 生物学的対象の完全な明確化 |
| 薬剤名 | 薬剤 | 薬剤の明確化(1.5) |
| 疾患名 | 疾患 | 疾患の明確化(1.6) |
| CS/MLのトピック | 一般学術 | 生物学関連ツールを使わず、文献のみを調査 |
| 複数分野にまたがる | 学際的 | 各対象をそれぞれの分野で特定 |
スキル間の委任
- 遺伝子/タンパク質の詳細調査:
tooluniverse-target-research - 薬剤プロファイル:
tooluniverse-drug-research - 疾患プロファイル:
tooluniverse-disease-research
文献の統合にはこのスキルを使用します。対象のプロファイリングには専門スキルを使用します。最大限に詳しく調査するには、両方を実行します。
フェーズ1:対象の明確化とプロファイリング
1.1 生物学的標的の特定
UniProt_search → UniProt_get_entry_by_accession → UniProt_id_mapping
ensembl_lookup_gene → MyGene_get_gene_annotation
1.2 名称の重複検出
最初の20件の結果を確認します。無関係な結果が20%を超える場合は、除外フィルターを作成します:NOT [collision1] NOT [collision2]。
遺伝子ファミリーの場合:"ADAR" NOT "ADAR2" NOT "ADARB1"。分野をまたぐ場合は、文脈を示す用語を追加します。
1.3 基本プロファイル(生物学的標的)
InterPro_get_protein_domains, UniProt_get_ptm_processing_by_accession, HPA_get_subcellular_location,
GTEx_get_median_gene_expression, GO_get_annotations_for_gene, Reactome_map_uniprot_to_pathways,
STRING_get_protein_interactions, intact_get_interactions, OpenTargets_get_target_tractability_by_ensemblID
GPCR標的の場合は、tooluniverse-target-researchに委任します。
1.5 薬剤の明確化
同定:OpenTargets_get_drug_chembId_by_generic_name、ChEMBL_get_drug、PubChem_get_CID_by_compound_name、drugbank_get_drug_basic_info_by_drug_name_or_id
標的:ChEMBL_get_drug_mechanisms、OpenTargets_get_associated_targets_by_drug_chemblId、DGIdb_get_drug_gene_interactions
安全性:OpenTargets_get_drug_adverse_events_by_chemblId、OpenTargets_get_drug_indications_by_chemblId、search_clinical_trials
1.6 疾患の明確化
OpenTargets disease search → EFO/MONDO IDs
DisGeNET_get_disease_genes, DisGeNET_search_disease
CTD_get_disease_chemicals
1.7 複合クエリ(例:「乳がんにおけるメトホルミン」)
両方の対象を特定し、CTD_get_chemical_gene_interactions、CTD_get_chemical_diseases、OpenTargetsの薬剤‐標的/薬剤‐疾患ツールを使って相互に照合します。共通する標的や経路を抽出します。
1.8 一般学術/1.9 学際的
生物学以外の場合:生物学関連ツールは使わず、ArXiv/DBLP/OSFを使用します。分野をまたぐ場合:1.1~1.3に従って生物学的対象を特定し、コンピューターサイエンス/一般分野を並行して検索した後、統合して相互に照合します。
フェーズ2:文献検索
方法論は内部で扱います。レポートにはプロセスではなく、調査結果を示します。
2.1 検索戦略
ステップ 1:シード(中核論文 15~30 件):日付・並べ替えフィルターを使って、分野固有のタイトル検索を行います。
ステップ 2:引用の拡張:PubMed_get_cited_by、EuropePMC_get_citations/references、PubMed_get_related、SemanticScholar_get_recommendations、OpenCitations_get_citations を使います。オプトインの Noodle MCP に接続している場合(noodle_*。NOODLE_MCP_URL が必要)、範囲を限定した引用・セマンティックグラフの探索も、同じ PubMed コーパスを別の角度から調べる方法になります。これは因果関係や妥当性の証拠ではなく、他の方法と同様、発見の手がかりとして扱ってください。
ステップ 3:衝突を除外した幅広い検索:"[TERM]" AND ([context]) NOT [collision]
2.2 文献検索ツール — 中核セット+分野に応じて追加
すべてのレビューで中核の複数フィールドセットを実行します(単一のインデックスで見落とすものを補います)。次に、対象分野に合った分野別の項目を追加します。すべてのソースを無差別に実行するのではなく、適切に選んだ 6~10 個のインデックスを使いましょう。ノイズの多い 20 個より効果的です。
必ず実行(中核セット、全分野共通):PubMed_search_articles、EuropePMC_search_articles、openalex_search_works(クエリパラメーター search/query)または openalex_literature_search(クエリパラメーター search_keywords)—どちらか一方を選び、対応するパラメーターを使います。両方を混在させると、気付かないうちに無関係な結果が返されます—および SemanticScholar_search_papers
次に分野に応じて追加:
| 分野 | 追加するもの | 備考 |
|---|---|---|
| 生物医学/臨床 | PMC_search_papers(全文)、PubTator3_LiteratureSearch(エンティティおよび relations: クエリ)、PubMed_Guidelines_Search(臨床ガイドライン) | PubTator は遺伝子/薬剤/疾患エンティティを正規化します |
| 生物学(生態学/進化/植物) | EuropePMC を主に使用+OpenAlex | 臨床以外の生物学では、PubMed の結果が 0~1 件になることがあります |
| CS/ML/AI | ArXiv_search_papers、DBLP_search_publications | arXiv+CS 書誌データ |
| 物理学/HEP/天体物理学 | InspireHEP_search_papers | 粒子物理学/天体物理学のレコードが 160 万件以上あります |
| 幅広い分野/見つけにくい文献/OA | Crossref_search_works、CORE_search_papers、DOAJ_search_articles、Fatcat_search_scholar、Consensus_search_papers | DOI レジストリ+OA アグリゲーター+Internet Archive Scholar。220M 件以上の論文を収録する Consensus は、各論文について AI による要約と研究デザインのメタデータも提供します。迅速なトリアージには役立ちますが、原文を読む代わりにはなりません |
| 地域別/EU 資金による研究 | OpenAIRE_search_publications、HAL_search_archive | EU のオープンサイエンス+フランスの国立アーカイブ |
| データセット/ソフトウェア/成果物 | Figshare_search_articles、Zenodo_search_records | データやコードに付与された引用可能な DOI |
| プレプリント(最新) | EuropePMC_search_articles(source='PPR')、OSF_search_preprints、BioRxiv_get_preprint/MedRxiv_get_preprint(DOI 検索) | bioRxiv/medRxiv/PsyArXiv など |
複数ソース:advanced_literature_search_agent(12 以上のデータベース。Azure キーが必要です。代替手段として、中核セットを個別に検索します)。
引用の影響度:iCite_search_publications(RCR/APT)、iCite_get_publications(PMID による検索)、scite_get_tallies(支持/反証)。PubMed のみが対象です。CS では SemanticScholar を使います。
識別子と参考文献リスト:PubMed_convert_article_ids {"ids": ["23193287", "10.1093/nar/gks1195"]} は PMID、PMCID、DOI を相互に変換します(自動判定。PubMed Central に収載された論文のみ変換でき、それ以外は found: false を返します)。これを使って DOI を EuropePMC_get_full_text に必要な PMCID に変換できます。PubMed_lookup_article_by_citation {"journal": "Nature", "year": 2015, "volume": 521, "first_page": 436, "author": "lecun y"} は参考文献リストの項目を PMID に解決します(status:found/ambiguous/not_found。複数件をまとめて処理する場合は citations を渡します)。指定したフィールドに完全一致するため、引用文献が見つからない場合は、論文が存在しないという証拠ではなく、フィールドを再確認する手がかりです。
分野固有のインデックスで結果が 0 件になるのは(たとえば、臨床のみのトピックで ArXiv を検索した場合)、通常のことです。中核セット全体が空の場合にのみ注意してください。
2.3-2.4 全文検索と PubMed のゼロ件フォールバック
全文検索については、3 層の戦略を FULLTEXT_STRATEGY.md で確認してください。
重要:PubMed では、有効なクエリでも約 30% が 0 件になります。PubMed の結果が空の場合は、必ず EuropePMC でもう一度検索してください。これは省略できません。
2.5 ツールの失敗/OA の処理
1 回再試行してから、フォールバックツールを使用します。主なフォールバック:PubMed_get_cited_by -> EuropePMC_get_citations -> OpenCitations。OA:設定されている場合は Unpaywall、そうでなければ Europe PMC/PMC/OpenAlex のフラグを使用します。
上記の構造化インデックスがすべて空の場合の最終手段(新しいプレプリント、データセットのページ、DOI のないプロジェクトサイトなど)として、オプトインの exa_* ツール(一般的なニューラルウェブ検索。気軽に使う場合はキー不要)を使えば見つかることがあります。ただし、これは科学データベースではなく、一般的なインターネット検索です。見つかった内容を引用する前に、必ず信頼できる情報源と照合してください。また、文献であるかのように T1-T4 の評価を付けないでください。
2.6 統制語彙、テキストマイニングによるアノテーション、引用文献の相互参照、バリアント文献
コアの検索/引用カバレッジを補完する 4 つの小規模なツールファミリーです。スキーマ上の想定ではなく、実際に動作を確認しています。
MeSH(統制語彙):MeSH_search_descriptors/MeSH_search_terms は、自由記述の用語を NLM の標準化された MeSH ディスクリプター/エントリ用語 ID に解決します。MeSH_get_descriptor は、ディスクリプターの正式名称、種類、アノテーションを返します。検索前にクエリの範囲を広げたり標準化したりする場合(例:ユーザーが「sugar disease」と言った場合、MeSH_search_terms で、実際には「Diabetes Mellitus」の項目に登録されているディスクリプターだと確認する)、または異なる表現の検索結果が実際には同じ概念で索引付けされていることを確認する場合に使用します。
EuroPMCAnnot(テキストマイニングによるエンティティアノテーション):EuroPMCAnnot_get_article_annotations(1 件の記事に含まれるすべてのエンティティへの言及:遺伝子、疾患、化学物質、生物など)、EuroPMCAnnot_get_chemicals_from_article(化学物質/化合物への言及のみを抽出する、フィルター済みの簡易ビュー)、EuroPMCAnnot_get_annotations_by_type(複数の記事を対象に、1 種類のアノテーションを一括取得)。これらを使うと、全文を読まずに論文内の言及を抽出できます。複数の候補論文の関連性をすばやく確認したり、特定の遺伝子/化学物質が実際に論文内で扱われている(アブストラクトのキーワードに含まれているだけではない)ことを確認したりするのに便利です。実際に動作を確認した例:PMC4353746 に対する EuroPMCAnnot_get_chemicals_from_article は、「Resistin」を含む 19 件の実在する化学物質への言及を返しました。
引用文献の相互参照 — 名前の衝突に注意して確認してください:src/tooluniverse/data/europepmc_citations_tools.json には、EPMC_get_citations、EPMC_get_references、EuropePMC_get_article_datalinks が定義されています。これらを、すでに説明した EuropePMC_get_citations/EuropePMC_get_references(コアの europe_pmc_tools.json に定義され、Phase 2.1/TOOL_NAMES_REFERENCE.md で使用)と混同しないでください。これらは、ほぼ同じ名前で同じ Europe PMC REST エンドポイントを呼び出す別々の実装です。執筆時点で実際に動作を確認したところ、/references エンドポイントは両方の実装で停止しています(EPMC_get_references と EuropePMC_get_references はどちらも、www.ebi.ac.uk から実際に 503 "This API is temporarily unavailable due to maintenance" を返します)。また、EuropePMC_get_article_datalinks も直接 curl で個別に確認したところ、動作していません(応答に 33 秒、HTTP 500)。EPMC_get_citations/EuropePMC_get_citations(前方引用の取得)はどちらも通常どおり動作します。実用上の指針:引用文献を扱う場合は、すでに説明した EuropePMC_get_citations/EuropePMC_get_references の名前を優先してください。参考文献の取得が 503 で失敗する場合は、クエリの問題ではなく、現在発生しているサービス停止が原因である可能性が非常に高いため、「参考文献は見つかりませんでした」と報告せず、その旨を伝えてください。EuropePMC_get_article_datalinks は、動作している場合、論文が登録したデータ/データベースのレコード(GenBank アクセッション、PDB エントリー、臨床試験登録など)も表示します。これは引用/参考文献を補完するものであり、置き換えるものではありません。
文書変換(あらゆる形式から Markdown へ):convert_to_markdown {"uri": "..."}はhttp:/https:/file:/data: URIを受け取り、Markdownに変換します。HTMLページで実際に動作することを確認済みです。ソースがPDF、DOCX、PPTX、XLSX、またはHTMLページで、上記の文献ツールがすでに構造化JSONとして返すもの(例:補足資料ファイル、機関レポート、誰かからリンクを渡されたインデックス未登録のワーキングペーパー)ではない場合に使い、メタデータだけでなく実際のテキストコンテンツを取得します。これは汎用変換ユーティリティであり、文献検索ツールではありません。ソースがすでにインデックス化されている場合は、上記のPubMed/EuropePMC/OpenAlexを使ってください。
BGPT(構造化された批判的評価検索):BGPT_search_paper_evidenceは文献検索ツールです。名前に反して生成モデルではありません。実際の論文を返すことを実稼働環境で確認済みです(doi、title、および全文から抽出されたフィールドを含みます)。タイトルと要旨だけを返すPubMed/EuropePMC/OpenAlexとは異なり、各結果には使用した方法/手法、サンプルサイズと対象集団、結果、論文の限界とバイアス、利益相反、データ/コードの利用可否、how_to_falsifyステートメントも含まれます。単に引用を探すのではなく、ある主張の質を比較評価する必要がある場合(RCTの対象者は12人か12,000人か、論文で利益相反が開示されているかなど)に使ってください。注意点:これらの構造化フィールドは、論文のモデル生成要約であり、精査済みのグラウンドトゥルースではありません。評価の補助として扱い、具体的な数値を引用する前には必ず実際の論文を確認してください。最初の50件/セッションは無料です。それ以降はBGPT_API_KEYで有料プランを利用できます。
LitVar(文献由来のバリアントに関する言及):LitVar_search_variants(文献で言及されているrsID/遺伝子/HGVSからバリアントを検索)、LitVar_get_variant_publications(特定のバリアントに言及するPMID)、LitVar_get_variant_details(遺伝子、HGVS、ClinGen IDを含む構造化レコード)。これは「バリアントXについて文献では何が書かれているか」に答えるもので、「バリアントXの臨床的意義」に答える臨床バリアント分類データベース(ClinVar、gnomAD。Phase 1.1/TOOL_NAMES_REFERENCE.mdに登録済み)とは異なります。LitVarで論文を見つけてから、臨床データベースでバリアントそのものを評価してください。実稼働環境で確認済みです。LitVar_search_variants(gene="BRCA1")とrsIDに基づく検索(rs328、rs7903146)はすべて実際の検索結果を返し、LitVar_get_variant_publicationsはバリアントごとに実在するPMID一覧を返しました。
Phase 3:エビデンスの評価
| Tier | ラベル | 生物学の例 | CS/MLの例 |
|---|---|---|---|
| T1 | メカニズム | CRISPR KO+レスキュー、RCT | 形式的証明、制御されたアブレーション |
| T2 | 機能 | siRNAノックダウンの表現型 | ベースラインを用いたベンチマーク |
| T3 | 関連 | GWAS、スクリーニングヒット | 観察研究、ケーススタディ |
| T4 | 言及 | 総説論文 | サーベイ、ワークショップの要旨 |
本文内の表記:Target X regulates Y [T1: PMID:12345678]。テーマごとに、エビデンスの分布を要約します。
全文を読む前に大量の候補をトリアージする場合:Consensus_search_papersは論文ごとに研究の種類とサンプルサイズを返すため、暫定的な評価をすばやく行うための一次確認として使えます。引用する前に実際の論文で確認してください。メタデータは出発点であり、それ自体が評価結果ではありません。
レポート出力
| ファイル | モード |
|---|---|
[topic]_report.md | 全文 |
[topic]_factcheck_report.md | ファクトイド |
[topic]_bibliography.json+.csv | すべて |
段階的な更新:すべてのセクション見出しを含むレポートをすぐに作成します。各フェーズの後に内容を埋めていきます。エグゼクティブサマリーは最後に作成します。
REPORT_TEMPLATE.mdの15セクションのテンプレートを使います。分野に応じた調整:生物学(構造/発現/GO/疾患)、薬剤(特性/MOA/PK/安全性)、疾患(疫学/病態/遺伝子/治療法)、一般(歴史/理論/エビデンス/応用)。
コミュニケーション
進捗報告は簡潔にしてください:「識別子を解決しています…」「論文セットを作成しています…」「エビデンスを評価しています…」 次の情報は公開しないでください:ツールの生の出力、重複排除の件数、検索ラウンドの詳細。
参考資料
TOOL_NAMES_REFERENCE.md-- パラメーター付きの130以上のツールREPORT_TEMPLATE.md-- テンプレート、ドメイン別の調整、参考文献、網羅性チェックリストFULLTEXT_STRATEGY.md-- 3段階の全文検証WORKFLOW.md-- 簡潔なチートシートEXAMPLES.md-- 詳細な例