digest-paper について
digest-paperは、SOTAプロジェクトで論文を記録するためのリサーチ用スキルです。MCPによる情報源の確認、全文読解、引用情報の記録を手順化し、未完了の状態を残さないルールを設けています。
主な機能
- 01MCPの機能を事前確認
- 02論文の識別と版の特定
- 03PDF全文の取得と読解
- 04レビューとBibTeX記録の作成
- 05引用情報と索引の記録
- 06プロジェクト検証の実行
活用シーン
- 01既存のSOTAに論文を追加
- 02整理前に学術情報源を確認
- 03追跡可能な論文レビューを作成
- 04完了した論文記録を検証
MCP 対応
全文取得にはarxiv MCPサーバーが必要で、書誌情報にはsemantic-scholar、dblp、openalexのいずれかが必要です。引用と論文メタデータもMCPで照会し、必要な機能が利用できない場合は処理を停止します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vincenzoimp/ academic-research-skills --skill digest-paperインストール後、Claude Code で/digest-paperを入力して読み込まれたか確認します。
同梱ファイルreferences/bibliography-rules.md
詳細
論文のダイジェスト作成
論文を最初から最後まで読み込み、sota/papers/<citekey>/ にまとめます。これはSOTA作業の最小単位です。完全に完了するか、実行されないかのどちらかです。途中までのダイジェストは決して残さないでください。
最初に読むもの
sota/README.md— 統合の形式とダイジェスト作成のルール(形式はひな型に従います)references/bibliography-rules.md— citekey、バージョンの解決、相互検証
MCP 事前確認(必須ゲート)
何よりも先に、学術系 MCP サーバーにそれぞれ簡単なクエリを1件ずつ送って応答を確認します(例:既知のタイトルを検索)。ゲートの基準はAPIキーではなく、機能です。キーがない場合は利用が制限されるだけで、ゲートを通過できなくなることはありません。
- 必須:
arxiv(全文)が応答すること、かつ書誌情報ソースのうち少なくとも1つ(semantic-scholar、dblp、openalex)が応答すること。 - 必須の機能が利用できない場合:作業を停止し、応答しなかったサーバーを報告して、MCP の設定を修正するようユーザーに依頼します。
- 接続可能なソースがダウンしていてもゲートを満たしていれば、作業を続行し、統合時に相互確認が限定されたことを記載します。
モデルの記憶、ウェブ検索、スクレイピングに頼ることは決してありません。引用情報として扱えるのは、MCP の検索で取得したものだけです。
手順
- 論文を特定します。与えられたタイトル、DOI、arXiv ID、またはPDFから、semantic-scholar(CS分野の論文ではdblpも)を使って論文を見つけます。一致候補が本当に曖昧な場合に限り、ユーザーに確認します。
- 最も権威あるバージョンを特定します。
references/bibliography-rules.mdに従い、出版済みの版 > 最新のarXiv改訂版 > その他のプレプリントの順とします。DOIとarXiv IDの両方がある場合は、両方を記録します。 - citekey(
<firstauthor><year><topicword>、小文字)を選び、未使用であることを確認します。references.bibに存在せず、sota/papers/<citekey>/フォルダーも存在しないことを確認します。 sota/papers/<citekey>/を作成し、優先順位の高い権威ある合法な入手先から順に、フォールバック手順を通じて全文PDFを取得し、paper.pdfとして保存します。(1) arXiv 論文の場合は arxiv MCP、(2) それ以外の場合は paper-search を使います。paper-search は、出版社/DOI経由のオープンアクセス → Unpaywall → グリーンOAリポジトリ(Europe PMC/PMC、CORE、OpenAIRE、Zenodo、HAL、SSRN、…)→ 最終手段としてSci-Hubの順にフォールバックします。取得したURLをmetadata.yamlのpdf_sourceに記録します。PDFは読むためのコピーにすぎません。引用情報と権威あるバージョンは、PDFの取得元ではなく、必ず学術系 MCP(DOIで照合)に基づきます。最終手段でも何も得られない場合は、作業を停止してフォルダーを削除し、候補をsota/queue.mdにunresolvable-via-mcpの判定とともに記録します。要旨だけを使ったダイジェスト作成は禁止です。- 論文全体を読みます。要旨だけでなく、PDFを最初から最後まで読みます。
sota/README.mdのセクション順に厳密に従ってsynthesis.mdを作成します。数値と引用はすべてPDFと照合して検証します。- MCPから取得した情報を元に、
references/bibliography-rules.mdに従って相互確認したうえで、BibTeXエントリーを作成し、references.bibのSOTAセクションに追加します。記憶に基づいてフィールドを記載してはいけません。 - semantic-scholar経由で引用情報を取得します。被引用文献と引用文献の両方を取得し、すべてではなく関連するものを選びます。
sota/README.mdのスキーマにあるすべてのフィールドを含め、必須のverified:ブロックも含めてmetadata.yamlを作成します。すでにSOTAに含まれる論文にはcitekeyを使い、それ以外には外部IDを使います。 sota/index.mdにステータスdigestedで行を追加します。cites/cited_byと統合の「Citation leads」セクションから、対象範囲内の候補を根拠情報とともにpendingとしてsota/queue.mdに追加します。- プロジェクトのルートから
make checkを実行し、報告された問題をすべて修正します。
ルール
- すべて完了するか、何も行わないかのどちらかです。どの手順も完了できない場合は、途中までのフォルダーを元に戻し、その論文を
queue.mdに記録します。 - 論文1本 = フォルダー1つ = Bibエントリー1件 = インデックス行1件(1:1:1)。
- ダイジェスト作成中に他の論文のフォルダーで許される編集は、その論文の
cites/cited_byリストにある外部IDをcitekeyに置き換えることだけです。
完了条件
sota/papers/<citekey>/にpaper.pdf、synthesis.md、metadata.yamlがあるreferences.bibとsota/index.mdに、それぞれエントリが1件だけ追加されているmake checkが成功する
コメント
Markdown 対応