systematic-review について
臨床・科学的な問いを対象に、PRISMA 2020に沿って進めるシステマティックレビューのワークフローです。複数データベースの検索、バイアス評価、GRADEによる評価を組み合わせ、再現可能な記録と事実の正確さを重視します。
主な機能
- 01PICOTSプロトコルと検索設計
- 02複数データベースとグレー文献の検索
- 03PRISMA記録、重複排除、スクリーニング
- 04全文抽出とバイアス評価
- 05GRADEによるエビデンス評価
活用シーン
- 01PROSPERO登録に向けたレビュー計画の作成
- 02監査可能なデータベース検索記録の維持
- 03研究のスクリーニングと除外理由の記録
- 04エビデンスの評価と統合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ poemswe/ co-researcher --skill systematic-reviewインストール後、Claude Code で/systematic-reviewを入力して読み込まれたか確認します。
詳細
<search_backend>
データベース検索の実行には、literature-review スキルが所有する CLI バックエンドを、その scripts/ ディレクトリから使用します。それぞれを絶対パスで呼び出してください(uv run <literature-review-dir>/scripts/X.py …)。スキルのディレクトリに cd してはいけません。レビューのワークスペースは、ユーザーがスキルを実行したディレクトリを基準に、絶対パスの --workspace "$(pwd)/review/{slug}" で指定してください。相対パスは使用しないでください。相対パスを使用すると、インストール済みプラグイン内に書き込まれてしまいます。
前提条件 — uv がインストールされている必要があります。 bash <plugin-root>/scripts/setup.sh を一度実行してください。バックエンドの詳細、呼び出し方法、代替インストール手順については、literature-review スキルの <search_backend> セクションを参照してください。
| 情報源 | スクリプト | PRISMA における役割 |
|---|---|---|
| OpenAlex | openalex_cli.py | 分野横断的な主要データベース — 被引用数、著者・機関のメタデータ |
| Europe PMC | europepmc_api.py | ライフサイエンス分野の全文献;前方・後方引用の追跡;SRC:PPR によるプレプリントの収録 |
| arXiv | search_arxiv.py | コンピューターサイエンス、物理学、計量生物学のプレプリントを対象とするグレイリテラチャー |
| 全文 | read_paper.py | 適格性評価とデータ抽出のための文献取得;抄録のみ取得できた場合は、PRISMA フローの「未取得の報告」として記録 |
各データベースについて、以下を一字一句そのまま記録してください。
- 正確なクエリ文字列
- 実行日
- 総ヒット件数(Europe PMC では
hitCountフィールド、OpenAlex/arXiv ではページネーション後のresultsの長さ)
このメタデータは、PRISMA フローダイアグラムと、論文発表時に必要な検索ログの補足資料に使用します。
レビューの状態はすべて、literature-review スキルのプロトコルで定義されたとおり、review/{slug}/ に保存します。具体的には、protocol.md、corpus.json、papers/{id}/、synthesis.md です。すべての PRISMA フロー件数の基準となるのは corpus.json です。作業を進めながら、常に最新の状態に保ってください。スクリーニングの各判断には status が必要です。また、除外する場合は reason も記録します。取得した各論文については、read_paper.py の status を fulltext フィールドに記録します。null のままのレコードは未スクリーニングまたは未取得としてカウントされるため、フローの数値が気づかないうちに過少報告されます。
</search_backend>
1. プロトコルの策定(PROSPERO 登録対応)
- PICOTS フレームワーク:集団、介入、比較、アウトカム、期間、設定。
- 検索ロジック:用語を網羅的に拡張します(MeSH + Emtree の同義語 + フリーテキスト)。同じブール検索の意図を各バックエンドの構文に合わせて変換します。
2. PRISMA 2020 に準拠した実施
- フローダイアグラム:識別 → スクリーニング → 適格性 → 採用の各段階を、データベースごとのヒット件数とともに追跡します。
- 重複排除:データベース間の重複は、まず DOI で照合し、次に正規化したタイトル + 筆頭著者の姓 + 年で照合して排除します。
3. バイアスリスクの分析
- ツール:Cochrane RoB 2.0(RCT)、ROBINS-I(非ランダム化研究)、QUADAS-2(診断精度)。
- 統合の判断:異質性(
I²)と効果指標の互換性が許す場合に限り、定量的メタアナリシスを実施します。それ以外の場合は、構造化された定性的統合を行います。
<output_format>
システマティックレビュー:[質問]
PRISMA フェーズ:[特定 | スクリーニング | 適格性 | 採用 | 統合] PICO(TS):P=… I=… C=… O=… T=… S=…
検索ログ:
| データベース | 検索式 | 日付 | ヒット数 |
|---|---|---|---|
| OpenAlex | … | YYYY-MM-DD | N |
| Europe PMC | … | YYYY-MM-DD | N |
| arXiv | … | YYYY-MM-DD | N |
PRISMA フロー:「特定」の件数には、protocol.md に記録されたデータベースごとのヒット数を使用します。重複除去後、スクリーニング済み、除外、取得、採用の各件数は、uv run <literature-review-dir>/scripts/prisma_counts.py --corpus "$WS/corpus.json" で算出します。手作業で数えないでください。除外理由がない場合、スクリプトは終了コード 1 で終了します。
- 特定:N(重複除去後:N)
- スクリーニング済み(タイトル/要旨):N → 除外 N(理由は corpus.json に記載)
- 取得を試みた件数:N → 取得できず N(要旨のみ)
- 全文評価済み:N → 除外 N(理由を記録)
- 採用:N
エビデンステーブル:
| 研究 ID | デザイン | N | RoB | 主なアウトカム | GRADE |
|---|
PRISMA の次のステップ:
- [ステップ]
- [ステップ] </output_format>