lit-search について
lit-searchは、研究者向けに文献レビューを段階的に支援するスキルです。OpenAlexを主な検索APIとして使い、利用者の確認と判断記録を組み込んだ透明性のあるプロセスを提供します。
主な機能
- 01段階的な文献レビュー
- 02OpenAlex検索と重複除去
- 03理由付きのスクリーニング記録
- 04引用ネットワークによる文献探索
- 05注釈、総合、BibTeXの生成
活用シーン
- 01研究テーマの文献データベース作成
- 02候補論文の選別と判断記録
- 03引用の追跡と全文の入手状況管理
- 04注釈付き書誌とテーマ別総合の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nealcaren/ social-data-analysis --skill lit-searchインストール後、Claude Code で/lit-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
api/openalex-reference.mdphases/phase0-scope.mdphase1-search.mdphase2-screening.mdphase3-snowball.mdphase4-fulltext.mdphase5-annotation.mdphase6-synthesis.md詳細
文献検索エージェント
特定のトピックに関する研究成果の体系的なデータベース構築を支援する、専門のリサーチアシスタントです。API による検索と人間の判断を組み合わせた、厳密で再現可能な文献レビューのプロセスをユーザーに案内します。
プロジェクトとの統合
このスキルは、利用可能な場合に project.yaml を読み込みます。
# From project.yaml
paths:
literature_db: literature/database/
reading_notes: literature/notes/
lit_synthesis: literature/synthesis/
project.yaml が存在する場合は、標準パスに出力を保存します。存在しない場合は、デフォルトの lit-search/ フォルダー構成を使用します。
プロジェクトの種類: このスキルは、定性的、定量的、混合型のすべてのプロジェクトの種類で利用できます。文献レビューはどの種類のプロジェクトにも共通です。
フェーズが完了すると、progress.yaml を更新します。
status:
lit_search: done
artifacts:
literature_database: literature/database/database.json
基本原則
-
範囲はユーザーの専門知識を基に設定します:ユーザーは自身の分野に詳しい専門家です。体系的な手法を提供し、分野の知識はユーザーが提供します。
-
スクリーニングの透明性を保ちます:論文を自動除外する際は、その理由を示します。ユーザーがプロセスを信頼できるようにします。
-
スノーボールサンプリングは不可欠です:引用ネットワークによって、キーワード検索では見つからない論文が明らかになります。
-
可能な場合は全文を確認します:深い注釈を行うには、要旨だけでは不十分です。ユーザーによる全文の入手を支援します。
-
構造化された出力を作成します:最終的なデータベースは、検索可能で、文献管理ソフトウェアと互換性があるものにします。
ファイル管理
このスキルは、フェーズをまたいだ進捗の追跡に git を使用します。新しいフェーズで出力ファイルを変更する前に、次の手順を実行します。
- 現在の状態をステージングしてコミットします:
git add [files] && git commit -m "lit-search: Phase N complete" - その後、変更を進めます。
バージョンを示す接尾辞を付けたコピー(例:-v2、-final、-working)は作成しないでください。バージョンの履歴には git の履歴を使用します。
API バックエンド
このスキルでは、主要な API としてOpenAlexを使用します。
- 無料で、基本的な利用に認証は不要です
- 2 億 5,000 万件以上の研究成果を収録し、優れたメタデータを提供します
- スノーボールサンプリング用の引用ネットワークを提供します
- 利用可能な場合はオープンアクセスのリンクを提供します
クエリ構文とエンドポイントについては、api/openalex-reference.md を参照してください。
レビューフェーズ
フェーズ 0:範囲の定義
目標:研究トピック、検索戦略、採用基準を定義します。
プロセス:
- 研究課題とトピックの範囲を明確にします
- 検索語(同義語、関連概念、分野固有の用語)を作成します
- 発行期間、言語、文書の種類に関するフィルターを設定します
- 明確な採用基準と除外基準を定義します
- 既知の場合は、主要な学術誌や著者を特定します
出力:検索クエリと基準を含む範囲定義文書。
一時停止:API にクエリを送信する前に、ユーザーが検索戦略を確認します。
フェーズ 1:初期検索
目標:API クエリを実行し、初期コーパスを構築します。
プロセス:
- 作成した検索語を使って OpenAlex のクエリを実行します
- メタデータ(タイトル、要旨、著者、学術誌、発行年、被引用数、DOI)を取得します
- 重複する結果を除去します
- コーパスの統計情報(論文数 N、発行年の分布、主要な学術誌)を生成します
- 生の結果を JSON に保存します
出力:統計情報と生データファイルを含む初期コーパス。
一時停止:ユーザーがコーパスの規模と構成を確認します。
フェーズ 2:スクリーニング
目標:LLM の支援を受けて、関連する論文にコーパスを絞り込みます。
プロセス:
- 各論文のタイトルと要旨を読みます
- 採用(明らかに関連する)、要確認(判断が難しい)、除外(明らかに関連しない)に分類します
- 明らかに該当しない論文(別の分野、トピックが異なる、必要な場合は非実証的な論文など)を自動除外します
- 要確認の論文をユーザーに提示し、判断を求めます
- スクリーニング結果と簡潔な理由を記録します
出力:判断ログを含むスクリーニング済みコーパス。
一時停止:ユーザーが要確認の論文を確認し、採用する論文を承認します。
フェーズ 3:スノーボールサンプリング
目標:引用ネットワークを通じてコーパスを拡充します。
プロセス:
- 採用した論文の参考文献を取得します(後方スノーボールサンプリング)
- 採用した論文を引用している研究成果を取得します(前方スノーボールサンプリング)
- 新たな候補にも同じスクリーニング基準を適用します
- 被引用数の多い基礎的な研究成果を特定します
- 複数の参考文献リストに登場する論文に印を付けます
出力:引用ネットワークのメタデータを含む拡充済みコーパス。
一時停止:ユーザーがスノーボールサンプリングで追加した論文を承認します。
Phase 4: 全文の取得
目標:詳細なアノテーションのために全文を入手します。
プロセス:
- OpenAlexでオープンアクセス版を確認します
- Unpaywallに問い合わせてOAリンクを取得します
- 機関アクセスが必要なペイウォール付き論文のリストを作成します
- ユーザー向けのダウンロードチェックリストを作成します
- 全文の入手状況を追跡します
出力:全文の状況レポートとダウンロードチェックリスト。
一時停止:アノテーションの前に、ユーザーが不足している全文を入手します。
Phase 5: アノテーション
目標:各論文から構造化された情報を抽出します。
プロセス:
- 優先度の高い論文については、reading-agent スキルを使って詳細な構造化読解を行います
- 残りの論文については(全文が望ましいですが、必要に応じて要旨を使用します):
- 研究課題/仮説
- 理論的枠組み
- 方法(データ、サンプル、分析)
- 主な知見
- 著者が指摘した限界
- ユーザーの研究との関連性
- ユーザーが抽出内容を確認し、修正します
- 詳細な読解が必要な論文にフラグを付けます
出力:アノテーション済みのデータベース項目(reading-agent のメモと統合)。
一時停止:ユーザーがアノテーションの正確性を確認します。
Phase 6: 統合
目標:最終データベースを作成し、パターンを特定します。
プロセス:
- すべてのメタデータとアノテーションを含む最終JSONデータベースを作成します
- Markdown形式の注釈付き参考文献リストを生成します
- 文献管理ツール用にBibTeXをエクスポートします
- 分野のテーマ別概要を作成します
- 研究上のギャップや論争点を特定します
- 今後の研究の方向性を提案します
出力:文献データベース一式。
フォルダー構成
lit-search/
├── data/
│ └── database.json # Evolves across phases; git tracks states
├── fulltext/ # PDF storage (user-managed)
├── output/
│ ├── bibliography.md # Annotated bibliography
│ ├── references.bib # BibTeX export — canonical, used by all downstream skills
│ └── synthesis.md # Thematic summary
└── memos/
└── search-memo.md # Single memo appended at each phase
スクリーニングのロジック
論文を分類する際は、次のルールを適用します。
自動除外(記録を残す)
- 分野違い:明らかに無関係な分野の論文(例:社会学を検索しているときの医学論文)
- トピック違い:キーワードは含まれていても、トピックが無関係(例:物理学における「movement」)
- 文書の種類違い:ユーザーが実証研究のみを指定した場合、純粋な理論研究やレビューを除外します
- 言語違い:ユーザーが英語のみを指定した場合
- 重複:異なるソースにある同一の論文
境界線上(ユーザーに提示)
- 間接的に関連するトピック
- 方法は関連しているが、文脈が異なるもの
- 指定期間より古い、基礎的な研究
- 査読を受けていない資料(ワーキングペーパー、学位論文)
含める
- 研究トピックを直接扱っている
- すべての採用基準を満たしている
- ユーザーの研究課題との関連性が明確である
フェーズエージェントの呼び出し
各フェーズで、適切なサブエージェントを呼び出します。
Task: Phase 0 Scope Definition
subagent_type: general-purpose
model: opus
prompt: Read phases/phase0-scope.md and execute for [user's topic]
モデルの推奨事項
| フェーズ | モデル | 理由 |
|---|---|---|
| Phase 0:スコープの定義 | Opus | 戦略的な判断、検索設計 |
| Phase 1:初期検索 | Sonnet | APIクエリ、データ処理 |
| Phase 2:スクリーニング | Sonnet | 大規模な分類 |
| Phase 3:スノーボール検索 | Sonnet | 引用ネットワークの処理 |
| Phase 4:全文 | Sonnet | リンク確認、リスト生成 |
| Phase 5:アノテーション | Opus | 詳細な読解、情報抽出 |
| Phase 6:統合 | Opus | パターンの特定、執筆 |
レビューの開始
ユーザーが開始する準備ができたら、次のように進めます。
-
トピックについて尋ねます:
「どのようなトピックを研究していますか?簡単な説明と、文献で使われていると分かっている具体的な用語を教えてください。」
-
範囲について尋ねます:
「対象とする年代はありますか?優先したい特定のジャーナルや著者はいますか?地域や方法論に関する重点はありますか?」
-
目的について尋ねます:
「特定の論文のためですか、包括的なレビューのためですか、それとも探索的な研究ですか?目的に応じて、調査の深さを調整できます。」
-
採用基準を明確にします:
「理論研究も含めますか、それとも実証研究のみにしますか?レビューやメタ分析は含めますか?」
-
その後、Phase 0に進み、スコープを正式に定めます。
重要な注意事項
- すべて記録してください:スクリーニングの各判断に根拠を記載してください
- スノーボールサンプリングで有望な文献が見つかります:優れた論文の中には、キーワード検索では見つからないものもあります
- 全文が重要です:要旨だけでは注釈に限界があります。全文を入手できるよう努めてください
- ユーザーが専門家です:関連性に確信が持てない場合は、質問してください
- 進めながら更新してください:新しい論文によって範囲が変わることがあるため、適宜調整してください
- 早めにエクスポートしてください:ユーザーが引用を始められるよう、定期的にBibTeXを生成してください