Community研究&データ分析github.com

CF エビデンスループ

嚢胞性線維症、鎌状赤血球症、または任意の疾患に関する研究課題に対して、研究者のように公開情報源を一つずつ探索し、回答ではなくエビデンスレコードを返します。PubMedやEurope PMCの検索、系統的レビューの検索、論文の撤回・訂正確認、ClinicalTrials.govの試験一覧・詳細、米国薬品承認日やラベルの確認、プレプリントの検索、ClinVarのバリアント情報などが必要なタスクで使用します。

CF エビデンスループ とは?

このスキル(CFエビデンスループ)は、研究者が実際に行うように、公開されたエビデンスを系統的に収集・検証するためのコマンドラインインターフェースをエージェントに提供します。各コマンドは「出典、日付、そしてそれが何を立証しないか」というルールに従い、回答ではなくエビデンスレコードを返します。PubMed、Europe PMC、ClinicalTrials.gov、openFDA、UniProt、ClinVar、Semantic Scholar、Sciteなど、60以上の公開情報源をカバーしており、論文の撤回確認、FDA承認日、臨床試験の状態、バリアントの分類、人口統計、助成金情報などを取得できます。このツールは、Claude Code、Cursor、Codexなどのエージェントフレームワークで動作し、各クエリはレート制限、予算制限、サーキットブレーカーによって保護され、決して個人レベルのデータにアクセスしません。また、複数の情報源を横断的に検証する「Briefs」機能や、引用が正しいか確認する「Cite-check」機能も備えています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/senseiewok/cf-skills/tree/HEAD/.claude/skills/cf-evidence-loop

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

CF エビデンスループ は何をしますか?

研究者は答えから始めません。彼らは公開された記録に対して決まった一連の質問を歩きます:何が発表されたか、そのうちのどれが撤回されたか、何が治験中か、何が承認されて誰のためか、それが何人に関係するか、その分野が推奨すること、そしてその分野が助成金やプレプリントで何を言っているか。このスキルは、エージェントにそのループをコマンドラインとして提供し、一つのルールがあります:ソース、日付、そしてそれが何を立証しないかがなければ、何も返ってきません。

研究であり、医療アドバイスではありません。このツールが返すレコードは公開文書を記述しています。それらは個人のために何かを解釈するものではなく、ラベルの適応症テキストは個人の適格性ではありません。

1. このスキルの機能

質問コマンドソース
これについて何が発表されたか?pubmed "<term>" [--sort pub_date]NCBI E-utilities経由のPubMed
系統的レビューとCochraneは何と言っているか?reviews "<term>"PubMed系統的レビューサブセットとCochraneジャーナル
オープンアクセスと引用メタデータで検索epmc '<Europe PMC query>'Europe PMC
このDOIはどのくらい引用され、オープンアクセスか?cited <DOI>Europe PMC
この論文は撤回または訂正されたか?retractions <DOI> [<DOI> ...]Crossref、Retraction Watchデータ
このDOIは何か?doi <DOI>Crossref
FDAはこの薬をいつ初めて承認したか?approval <BRAND>openFDA Drugs@FDA
現在の米国ラベルは何と言っているか?label <BRAND> [--sections ...]openFDAラベル
EMAはいつEUでこの医薬品を承認したか?ema <DRUG> [--file PATH]欧州医薬品庁(オフラインでダウンロードされたJSONレポート)
どの治験がこの状態をリストしているか?trials "<condition>" [--term X] [--status RECRUITING]ClinicalTrials.gov v2
この治験についてレジストリは何を保持しているか?trial <NCTId>ClinicalTrials.gov v2
このプレプリントは何か?`preprint <biorxivmedrxiv> `
特定の期間にどのCFプレプリントが出現したか?preprints <server> <YYYY-MM-DD> <YYYY-MM-DD> [--pattern]bioRxiv / medRxiv
このバリアントはどのように分類されるか?variants "<ClinVar query>"NCBI E-utilities経由のClinVar
NIHはこのトピックに誰に助成金を出しているか?grants "<text>" [--fy 2025]NIH RePORTER
UKRIはこのトピックに誰に助成金を出しているか?ukri "<query>" [--limit 25]UKRI Gateway to Research(エイリアス: gtr)
地域の人口分母は何か?population <entity> [--variable Count_Person] [--year YYYY]Google Data Commons
バリアントをCADD、ClinVar、SnpEff、gnomAD頻度で注釈myvariant "<variant query>" [--limit 5]MyVariant.info
gnomADの集団対立遺伝子頻度をクエリ(設計上拒否)gnomad <chrom-pos-ref-alt>gnomAD(手動アクセスのみ、カタログポリシーにより常に拒否)
OpenAlexはこの著作(引用、撤回、OA)について何を保持しているか?`openalex <DOIID>`
OpenAlexの著作を検索openalex-search "<query>" [--limit 10]OurResearch経由のOpenAlex(キー必須)
Unpaywallはどのオープンアクセスロケーションとライセンスメタデータをインデックスしているか?unpaywall <DOI>OurResearch経由のUnpaywall
Semantic Scholarはどの引用グラフと論文メタデータを保持しているか?s2 <DOI>Ai2経由のSemantic Scholar(エイリアス: semantic-scholar)
完全な論文トレイルを解決(Crossref、Unpaywall OA、Semantic Scholar引用)paper-trail <DOI>Crossref、Unpaywall、Semantic Scholar(エイリアス: paper)
ChEMBLはどの化合物メタデータ、臨床フェーズ、ATCコードを保持しているか?`chembl <CHEMBL_IDname> [--limit 5]`
ChEMBLはどの定量的バイオアッセイ(EC50、IC50、Ki、Kd)を保持しているか?`chembl-activity <CHEMBL_IDname> [--target CHEMBL4051]`
Open Targetsはどのターゲットの扱いやすさ、安全性の懸念、疾患スコア、FAERS統計を保持しているか?`opentargets <IDquery> [--limit 5]`
SciteはこのDOIに対してどのような支持、対比、言及の引用数を保持しているか?scite <DOI> [--rest]Scite Pro MCP(scite-mcp)またはゼロクォータのパブリックREST(--rest、scite-api)
1リクエストあたり最大500のDOIをスクリーニングし、Smart Citation数、撤回、セクション内訳を0クォータコストで取得scite-batch <DOI...> [--papers] [--sections]SciteパブリックREST(POST /tallies、POST /papers、POST /tallies/cited-by-sections、0クォータコスト)
このDOIへの引用がIntroduction、Methods、Results、Discussionセクションにどのように分布しているか?scite-sections <DOI>SciteパブリックREST(GET /tallies/cited-by-sections/{doi} + /tallies/{doi}、0クォータコスト)
特定の論文内の逐語的な全文抜粋とSmart Citationスニペットを読むscite-excerpts <DOI> "<query>" [--limit 5]Scite Pro MCP Mode C(scite-mcp、<untrusted_data>内で隔離)
SciteがシードDOIからどの関連論文を推奨するか?scite-recommend <DOI> [--limit 5]Scite Partner REST(GET /api_partner/recommend-papers/{doi}、650/月のRESTシールドで制限)
Scite Smart Citation数で文献を検索scite-search "<query>" [--limit 5]Scite Pro MCP(scite-mcp、OAuth/キー必須)
PubMed IDを0クォータコストでDOIに解決scite-pmid <PMID>SciteパブリックREST(GET /papers/resolve-pmid/{pmid}、0クォータコスト)
最大100のDOIにわたるSmart Citation数を0クォータコストで集約scite-aggregate <DOI...>SciteパブリックREST(POST /tallies/aggregate、0クォータコスト)
ターゲットDOIの引用出版物と撤回引用数を0クォータコストでリストscite-sources <DOI> [--limit 5]SciteパブリックREST(GET /papers/sources/{target_doi}、0クォータコスト)
意図分類と隔離されたスニペットで1ホップ引用ネットワークを探索scite-graph <DOI> [--direction both] [--limit 5]Scite Pro MCP(citation_graph、<untrusted_data>内で隔離)
DOIまたはPMIDでページネーションされた全文本文を読む`scite-fulltext <DOIPMID> [--offset 0] [--length 8000]`
Scite Evidenceデータセットを検索(UK MHRA、特許、510(k)、MAUDE、FAERS、助成金、医薬品、治験)scite-evidence <dataset> "<query>" [--filter F] [--page 1]Scite Pro MCP(search_mhra、search_patents、search_510k_summariesなど、<untrusted_data>内で隔離)
HGVSまたはSPDIバリアント座標を正規化`ncbi-variation <HGVSSPDI>`
UniProtKBタンパク質配列、ドメイン境界、自然バリアントを検索`uniprot <ACCESSIONquery> [--limit 5]`
Ensemblゲノム座標、標準転写産物、またはrsIDの結果を検索`ensembl <rsIDENSG
NLM DailyMed構造化製品ラベル(SPL)を薬剤名で検索dailymed <DRUG> [--limit 5]DailyMed RESTful web services v2(dailymed-web-services)
カタログエントリの前に利用規約または法的ページを読むread-page <HTTPS_URL> [--out FILE] [--max-chars N]ラボの行動ルールの下での利用規約/ポリシーページまたはPDFの人間が開始する読み取り
CFTR RefSeq NM_000492.4エクソンとUniProt P13569ドメインコンテキストを決定論的に検索`cftr-context <variantcodon>`
CFTRモジュレーターブランド、API、分子コード、NDA、およびopenFDA SPL boxed warning安全性コンテキストを決定論的に検索`cftr-modulator <brandcode
CFTR Cryo-EM座標構造メタデータを決定論的に検索cftr-structure <pdb_id> [--list]ゼロネットワーク決定論的CFTR Cryo-EM構造解像度、リガンド、コンフォメーション、および参照(エイリアス: cftr-pdb)
このツールは全体的に何に到達できるか?sourcesカタログ
複数のソースが一つの薬剤、バリアント、または治験について何と言っているか?brief drug <BRAND>、brief variant "<ClinVar query>"、brief trial <NCTId>上記のソース、相互検証される(Briefs参照)
このノート内のすべてのDOI、PMID、治験IDは存在するか?cite-check <FILE> [--max-ids 30] [--scite-bulk]Crossref、PubMed、ClinicalTrials.gov、オプションのゼロクォータScite一括プリフライト(Cite-check参照)

クライアントコードが拒否すること:catalog.yamlで許可されていないホストに到達すること(リダイレクトはAPIデータクエリで決して追跡されません);ブラウザとして振る舞うこと;証明書チェックをスキップすること;拒否後に再試行すること。カタログ前の利用規約読み取りのために、read-pageはラボの厳格なネットワーク行動を強制します:HTTPSのみ、最初にrobots_allowsによるrobots.txt、Crawl-delayを尊重、拒否/読み取り不能なrobotsはフェッチを中止、同一サイトHTTPSリダイレクトはrobotsに対して再チェック、証明書検証オン、5 MB本文キャップ、シングルリクエスト。カタログエントリを必要としません。なぜなら、これはデータ抽出のためではなく、カタログエントリが存在する前に利用規約ページを人間が開始する読み取りのために特別に存在するからです。このパッケージは言語モデルを決して呼び出さず、個人レベルのデータを保持するソースをクエリしません。

2. 実行方法

pip install -r scripts/requirements.txt
python scripts/evidence_cli.py retractions 10.1038/ng.2745
python scripts/evidence_cli.py approval TRIKAFTA
python scripts/evidence_cli.py variants "CFTR[gene] AND F508del" --limit 5
python scripts/evidence_cli.py population country/USA
python scripts/evidence_cli.py cftr-context "F508del"
python scripts/evidence_cli.py cftr-context "621+1G->T" --json
python scripts/evidence_cli.py cftr-context "711+1G->T"
python scripts/evidence_cli.py cftr-modulator "Trikafta"
python scripts/evidence_cli.py cftr-modulator "VX-121" --json
python scripts/evidence_cli.py cftr-structure "8EIQ"
python scripts/evidence_cli.py cftr-structure "8EIZ"
python scripts/evidence_cli.py cftr-structure "7SV7"
python scripts/evidence_cli.py cftr-structure "7SVR"
python scripts/evidence_cli.py cftr-structure "6O2P"
python scripts/evidence_cli.py cftr-pdb --list

すべてのコマンドに適用されるフラグ:--jsonはレコードごとに1つのJSONオブジェクトを出力、--ledger PATHはレコードをJSONLエビデンス台帳に追加。終了コード0はすべてのレコードがfoundまたはnot_foundの場合、3はいずれかがblocked、rate_limited、またはerrorの場合。

Briefs

briefは、同じクライアントを通じて複数のソースに1つの質問を尋ねるため、カタログゲート、ペーシング、予算、およびサーキットブレーカーがすべて適用されます。各ソースが返したすべてのレコード、各ソースのステータス、比較したフィールド、および短い相互検証ブロックを出力します。

レシピ実行相互検証
brief drug TRIKAFTAapproval、label、用語によるtrials(5)、ブランドのpubmed(5)各ソースのステータス;ラベルの有効日付年がDrugs@FDAの初回承認年より前でないこと;OpenAlex文献および撤回スキャン;CFTRモジュレーター安全境界(AH-4)および一次PDB相互検証
brief variant "CFTR[gene] AND F508del"variants、同じ用語のpubmed(5)各ソースのステータス;一致したClinVarレコードの数、分類およびレビューステータスがすべて表示
brief trial NCT05033080trial、NCT IDのpubmed(5)各ソースのステータス;レジストリレコードのID;タイトルに治験名を記載した返された論文

相互検証の読み方:

  • PASS:値が一致する、またはソースが応答した。薬剤、バリアント、または治験に関する調査結果ではありません。
  • CHECK:人が確認すべき。ソースが応答しなかった;複数のClinVarレコードが一致した(すべてリストされ、どれも選択されていない);またはラベルの有効日付が薬剤の初回承認より前である場合、これは正しくないため、2つのレコードのうち1つが矛盾している。ラベルの有効日付は最新の改訂版であるため、承認年と等しいかそれ以降のラベル年は期待され、PASSとなります。
  • NOT STATED:ソースが値を提供しなかったため、比較されなかった。PubMedレコードには要約や全文がないため、タイトルに治験名を記載していない論文は「言及していない」ではなくNOT STATEDです。

briefが行わないこと:独自の事実を追加しません。出力されるすべての値はレコードフィールドからコピーされるか、ラベル付きのカウントまたは年差であり、欠損値はnot statedとして出力されます。ブロック、レート制限、または障害が発生したソースは他のソースを停止しません。そのステータスとともにリストされ、終了コードは3です。--jsonを使用すると、レコードが最初に出力され、最後のオブジェクト{"brief": ...}がソース、フィールド、相互検証、およびフッターを保持します;--ledgerはレコードのみを保存します。すべてのbriefは次のように終わります:研究であり、医療アドバイスではありません。briefは公開文書をリストします。個人のために何かを解釈するものではありません。

Cite-check

すべての引用はエビデンスレコードを通じて行われ、解決できないものはソースから削除または修正され、決して記憶から修復されません。cite-check FILEはノート全体に適用されます。すべてのDOI、PMID 123、PMID: 123、またはpubmed/123 URLとして記述されたすべてのPubMed ID、およびすべてのNCT IDを見つけ、重複を削除し(最初の出現行を保持)、単一ルックアップコード(DOIの場合はdoi、PMIDの場合はPubMedの[pmid]フィールド検索(2リクエスト)、NCT IDの場合はtrial)でそれぞれを検索します。通常のクライアントが適用されます:カタログゲート、ペーシング、予算、サーキットブレーカー、アカウンティング。

行意味
PASSソースがレコードを返した。タイトルと年または日付が出力され、欠損時はnot stated
NOT FOUNDソースがそのようなIDは存在しないと応答した。ソースから削除するか修正する。決して推測しない
UNRESOLVEDルックアップがブロック、レート制限、または失敗した。未解決は存在しないと同じではない
TITLE PASS / TITLE CHECK同じ行にある4語以上の引用または強調された語句が、レコードのタイトルと、大文字小文字と句読点を無視して、短い方の単語の少なくとも0.6(またはそれ以下)を共有する

…

[翻訳用に切り詰め]

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル