xs-arxiv

star 132

arXiv論文の検索・トレンド発見・詳細分析を行う統合スキル。興味度スコアでユーザーに刺さる論文を自動選定。PDF全文読み込み・Notion蓄積対応。「arXivチェックして」「論文検索」「論文分析して」で使用。

karaage0703 By karaage0703 schedule Updated 5/17/2026

name: xs:arxiv description: arXiv論文の検索・トレンド発見・詳細分析を行う統合スキル。興味度スコアでユーザーに刺さる論文を自動選定。PDF全文読み込み・Notion蓄積対応。「arXivチェックして」「論文検索」「論文分析して」で使用。

arXiv論文調査スキル

重要:デフォルトはabstractのみ

  • 全文読み込みはデフォルトでやらない。 abstractベースで要約・スコアリングする
  • 全文読み込みをするのは「この論文詳しく」「全文読んで」と明示的に言われた時だけ
  • 検索コマンドは1回で済ませる(複数クエリを投げない)
  • 中間報告を出す — 検索開始時に「arXiv検索中…」と一言送ってからコマンド実行

興味度スコアの判断基準

ユーザーの興味分野は AGENTS.md の「ユーザーについて」セクションを参照する。未設定の場合は以下のデフォルトカテゴリで判断:

  • 最高関心(★★★): LLM/プロンプトエンジニアリング、AIエージェント、RAG、Computer Use/ブラウザ操作
  • 高関心(★★☆): ロボティクス/Embodied AI、時系列予測、エッジAI/ローカル推論、TTS/音声合成
  • 関心あり(★☆☆): 勾配ブースティング、コンピュータビジョン、マルチモーダル、3D生成

ユーザー側で AGENTS.md に固有の興味分野(例: 量子情報、創薬AI、強化学習)を書いていれば、そちらを優先する。

実行フロー

Step 1: モード判定

  • 検索モード — 特定トピックの論文を探す
  • トレンドモード — 最新の注目論文を発見する(スケジュール実行はこれ)
  • 分析モード — 特定論文を深く読む

Step 2: 論文検索・トレンド取得

3 経路ある。用途に応じて使い分ける (export.arxiv.org API は混雑時間帯で 429/503 を返しがちで非推奨、fallback 扱い)。

A. トレンドモード (毎朝の自動実行はこれ)

arxiv 公式 RSS から並列取得。レート制限ほぼなし、1〜2 秒で完了。

cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py trending -c cs.AI cs.LG cs.CL cs.CV -d 7 -n 20

返り値: {"total_results": N, "papers": [...], "categories_queried": [...], "categories_failed": [...], "source": "rss"}

B. 検索モード (任意クエリでの探索)

Semantic Scholar API がデフォルト。abstract / 著者 / 引用数 / OA PDF URL までリッチに取れる。

cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py search "transformer attention" -n 10 [--year-from 2025]

返り値: {"total_results": N, "papers": [{id, title, authors, abstract, published, citation_count, ...}], "source": "s2"}

C. fallback: export.arxiv.org API (legacy)

旧経路。S2 が応答しない・S2 にない最新論文を狙うときだけ。指数バックオフリトライ済 (15s→45s→90s)。

cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py search "クエリ" -n 10 --source legacy --date-from 2026-05-01 -s date

検索クエリの最適化(B/C 共通)

  • 引用句でフレーズ検索: "multi-agent systems"
  • OR演算子で関連技術をカバー: "AI agents" OR "intelligent agents"
  • フィールド指定検索: ti:"exact title", au:"author name", abs:"keyword"
  • 除外検索: "machine learning" ANDNOT "survey"

主要カテゴリ: cs.AI / cs.LG / cs.CL / cs.CV / cs.MA / cs.RO

エラー時の挙動

S2 や legacy が全リトライ尽きると JSON が以下の形:

{"error": "Semantic Scholar search failed", "detail": "HTTP 429", "retries_exhausted": true, "hint": "..."}

このときは:

  1. B → CC → B に経路を切り替えて再実行 (異なる API なので片方ダメでももう片方は通ることが多い)
  2. それでもダメなら諦めて告知「混雑中、明日の定期実行に任せる」
  3. 同セッション内で完結させる

arxiv ID から metadata 補完

トレンドで拾った論文の追加情報 (引用数等) が欲しいときは lookup で個別取得:

cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py lookup 2401.12345

Step 3: 興味度スコア付与

abstractを読んでAIが判断する(外部LLM不要)。

スコア 意味 アクション
★★★ 必読 abstract要約 + 詳細コメント
★★☆ 読む価値あり 概要紹介
★☆☆ 参考程度 タイトルのみ
なし 関心外 スキップ

Step 4: 論文全文読み込み(リクエスト時のみ)

デフォルトではabstractのみで要約する。全文読み込みは行わない。 「この論文詳しく」「全文読んで」「分析して」と明示的に言われた時だけ全文を読む。

# LaTeXソースがあればそちら(数式が正確)
cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py latex {論文ID}

# アブストラクトのみ
cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py latex {論文ID} --abstract-only

# セクション一覧
cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py latex {論文ID} --sections

# 特定セクションを取得
cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py latex {論文ID} --section "2.1"

# LaTeXソースが無い論文はPDFダウンロード→Markdown変換
cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py download {論文ID} -o /tmp/papers
cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py read {論文ID} -o /tmp/papers

使い分け:

  • 数式が少ない論文 → PDF→Markdown で十分
  • 数式が多い論文(数学、物理、理論系ML等) → LaTeXソースを使う
  • LaTeXソースが存在しない論文もある(その場合はPDFにフォールバック)

Step 5: 出力

論文ごとに === で区切って出力する。

★★★ **論文タイトル**
arXiv: {ID} | {著者} | {日付}
{URL}

{abstractベースの要約・分析 3-5文}

**新規性:** {何が新しいか}
**ユーザー的ポイント:** {なぜそのユーザーに関係あるか}
===
★★☆ **論文タイトル**
arXiv: {ID} | {著者}
{URL}

{abstract要約 1-2文}
===
★☆☆ {タイトル} ({ID}) — {一言}

Step 5-2: 注目ピックアップ(必須)

論文一覧の後に、特に注目の1-2件を「注目ピックアップ」として再掲する。 1論文 = 1投稿(リプライ・コピペしやすくするため)。複数論文を1メッセージにまとめない。

💡 **arXiv注目ピックアップ (1/N)**

**論文タイトル**
arXiv: {ID}
{URL}

{なぜ注目か、技術的なポイント、ユーザーとの関連を2-3文で}
===
💡 **arXiv注目ピックアップ (2/N)**

**論文タイトル**
arXiv: {ID}
{URL}

{解説}

Step 6: Notion蓄積(ユーザーに頼まれた時のみ)

自動保存しない。 「Notionに保存して」「DBに登録して」と言われた時だけ実行する。

6-1. DBプロパティ登録

notion-manager スキル経由で Notion DB にエントリ追加(DB IDはユーザーが指定)。

プロパティ例: タイトル、著者、arXiv ID、URL、興味度、分野、一言メモ、分析日、全文読了

6-2. ページ本文に分析内容を記載

以下のフォーマットに沿って記載:

## エグゼクティブサマリー
{論文の目的・手法・結果を3-5文で}

## 新規性
{何が新しいか。既存手法との違い}

## 手法
{提案手法の概要。図や数式があれば言及}

## 結果
{主要な実験結果。数値を含める}

## ユーザー的ポイント
{なぜユーザーに関係あるか。やってるプロジェクト・興味分野との接続点}

## 次に読む論文
{関連論文2-3件}

6-3. 論文PDFを添付

# PDFダウンロード(Step 4で未取得の場合)
cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py download {論文ID} -o /tmp/papers

# notion-managerスキルでPDFをNotionページに添付
cd [WORKSPACE]/skills/notion-manager && uv run python notion_tool.py upload /tmp/papers/{論文ID}.pdf {ページID} --as-file -c "{論文タイトル} PDF"

使用例

  • 「arXivチェックして」→ トレンドモード
  • 「RAGの最新論文探して」→ 検索モード
  • 「この論文分析して {URL}」→ 分析モード
  • 「Notionに保存して」→ Step 6を実行

完了前チェックリスト

□ arxiv_tool.py の結果から興味度スコア付き論文一覧を整形した
□ ★★★/★★☆ 論文ごとに `===` 区切りで本体テキストを出力した(中間報告だけで終わらない)
□ 論文URL(http://arxiv.org/abs/{ID})を含めた
□ 「Notionに保存して」と言われた場合のみ Step 6 を実行した(自動保存しない)

ライセンス

全依存ライブラリが商用利用可能なライセンス:

  • arxiv (MIT), python-dateutil (Apache-2.0/BSD-3-Clause), arxiv-to-prompt (MIT), markitdown (MIT)
Install via CLI
npx skills add https://github.com/karaage0703/ai-assistant-workspace --skill xs-arxiv
Repository Details
star Stars 132
call_split Forks 13
navigation Branch main
article Path SKILL.md
More from Creator