mcpField
A
arxiv-analyze

arxiv-analyze

github.com/dsebastien生産性780 回インストール28 週間前に更新
リポジトリ

arxiv-analyze について

arxiv-analyze は、研究論文を読む人向けに arXiv の論文を取得・分析するスキルです。複数形式を順に試し、取得した内容をキャッシュしてオフラインでの再読に備えます。

主な機能

  1. 01複数形式を順に試して論文を取得
  2. 02Markdown、HTML、PDF、TeXに対応
  3. 03内容をキャッシュしてオフラインで再読
  4. 04構造化された論文分析を作成

活用シーン

  1. 01arXiv論文の取得と本文抽出
  2. 02論文の手法、結果、限界の分析
  3. 03取得形式を切り替えて論文を入手

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dsebastien/ai-skill-arxiv --skill arxiv-analyze

インストール後、Claude Code で/arxiv-analyzeを入力して読み込まれたか確認します。

同梱ファイルscripts/arxiv_fetch.py

詳細

arXiv の分析

利用可能な形式のうち最もトークン効率の高い形式で arXiv の論文を取得し、分析します。

フォールバックの順序

取得スクリプトは、品質とトークン効率の高い順に形式を試します。

  1. arxiv2md(Markdown)— 最もすっきりした形式です。LaTeX 数式は保持され、参考文献・目次・引用はデフォルトで除去されます。クライアント側で 28 リクエスト/分にレート制限されます
  2. arxiv.org/html — 公式 HTML です。自動的に Markdown に変換できます
  3. ar5iv — arXiv Labs の HTML レンダラーです。古い論文も幅広くカバーします
  4. arxiv.org/pdf — 最後の手段です。URL が返されるので、任意の PDF リーダーで読み込みます

オプトインの第 5 段階:TeX ソース(--tier tex)— arxiv.org/src/<id>(投稿時の元の tarball)をダウンロードし、キャッシュに展開して、メインのエントリーポイント(main.tex/\documentclass/最大の .tex ファイル)を自動検出し、すべての \input/\include/\import/\subimport ディレクティブを再帰的にフラット化します。これは標準的な正本です。HTML レンダリングがない論文も含め、すべての論文で利用でき、数式はそのままの状態で、サードパーティーへの依存もありません。論文が数式中心の場合、レンダリング段階が失敗した場合、または参考文献の項目が必要な場合に使用してください。トークン消費量は Markdown より多いため、ほとんどの場合は自動段階を優先してください。

ディスクキャッシュ

取得したコンテンツは $XDG_CACHE_HOME/ai-skill-arxiv/<arxiv_id>/(デフォルトは ~/.cache/ai-skill-arxiv/<arxiv_id>/)にキャッシュされます。同じ論文と段階を再取得する場合、処理は瞬時に完了し、オフラインでも利用できます。再読み込みではネットワークもレート制限枠も消費しません。

構成:

~/.cache/ai-skill-arxiv/2501.11120/
├── markdown.md          # arxiv2md output
├── arxiv.html           # arxiv.org/html
├── ar5iv.html           # ar5iv
├── src.tar.gz           # TeX source tarball (only if --tier tex was used)
└── tex/                 # Extracted TeX source tree
    ├── main.tex
    └── ...

管理:

python3 scripts/arxiv_fetch.py <id> --no-cache          # skip cache read, still write
python3 scripts/arxiv_fetch.py --cache-clear <id>       # wipe cache for one paper

レート制限(決定論的)

arxiv2md は IP あたり毎分 30 リクエストを許可します。スクリプトは scripts/arxiv2md_ratelimit.json を使って 28 リクエストに自主的に制限します。このファイルにはタイムスタンプの配列が保存され、呼び出しのたびに直近 60 秒間の範囲で古い項目が削除され、(一時ファイルと os.replace を使って)アトミックに書き込まれます。上限に達すると、スクリプトは通知なしで第 2 段階に進みます。この JSON を手動で編集しないでください。リセットするにはファイルを削除します。

いつでも状態を確認できます。

python3 scripts/arxiv_fetch.py --ratelimit-status

使い方

# Auto-tier fallback (preferred)
python3 scripts/arxiv_fetch.py 2501.11120

# Full URLs are accepted too
python3 scripts/arxiv_fetch.py "https://arxiv.org/abs/2501.11120v1"

# Force a specific tier
python3 scripts/arxiv_fetch.py 2501.11120 --tier md
python3 scripts/arxiv_fetch.py 2501.11120 --tier html
python3 scripts/arxiv_fetch.py 2501.11120 --tier ar5iv
python3 scripts/arxiv_fetch.py 2501.11120 --tier pdf
python3 scripts/arxiv_fetch.py 2501.11120 --tier tex    # TeX source (opt-in)

# Metadata only (arXiv API Atom feed, ~200 tokens)
python3 scripts/arxiv_fetch.py 2501.11120 --metadata-only

# Cache control
python3 scripts/arxiv_fetch.py 2501.11120 --no-cache    # force fresh fetch
python3 scripts/arxiv_fetch.py --cache-clear 2501.11120 # wipe cache for one id

選択された段階は stderr に出力されます([tier] md)。コンテンツは stdout に出力されます。PDF 段階では stdout に URL が出力されるので、PDF リーダーに渡してください。

終了コード:0 成功、1 すべての段階で失敗、2 指定された段階を利用できない、3 ID が無効、4 ネットワークエラー。

分析のワークフロー

取得後、次のセクションに沿って構造化された要約を作成します。

  • 引用情報 — 著者、タイトル、arXiv ID、年、主分類
  • 問題 — 論文が答える問いと、その重要性
  • 主な主張 — それぞれが具体的な主張である 3~5 個の箇条書き(見出しではありません)
  • 手法 — どのように取り組んだかを 2~4 文で説明
  • 結果 — 得られた結果。重要な数値を含めます
  • 限界 — 著者が認めている点と、分析者が気付いた点
  • 未解決の問い — 未解決の点と、今後の研究で取り組む内容

トークン予算

段階典型的な出力使用する場面
メタデータのみ約 200 トークン本格的な取得を行う前のプレビュー
md(arxiv2md)5K~15Kデフォルト。最も効率的
html(arxiv.org)8K~20Karxiv2md が利用できない場合、またはレート制限中の場合
ar5iv8K~20K公式 HTML がない古い論文
pdf(Read 経由)10K~50K+HTML レンダリングの品質が低い数式中心の論文
tex(オプトイン)15K~60K+正本(サードパーティー依存なし)。数式中心の論文。参考文献の監査。いつでも利用できるフォールバック

主張や結果だけが必要な場合は、取得したコンテンツ全体をコンテキストに渡すのではなく、一時ファイルに出力して grep/head を使ってください。論文はディスク上にあります。再取得しないでください。

厳守事項

  • 結果を決して捏造しないでください。 主張が論文に記載されていない場合は、その旨を伝えてください。
  • レート制限を守ってください。 スクリプトが自動的に処理するため、--tier md を手動で繰り返し実行しないでください。
  • PDF の取得にはコストがかかります。 --tier pdf を使用するのは、HTML の経路がすべて失敗した場合、またはユーザーが明示的に要求した場合に限ります。

要件

  • Python 3.11 以降(標準ライブラリのみ。pip によるインストールは不要)

Credits

コメント