Oh My Paper 完全ガイド:文献調査から論文投稿まで、ターミナル1つで全部やる

April 4, 2026

20 分で使い始める|5 Agent 協業 + 34 研究スキル|Claude Code をあなた専用の研究ラボにする


プロジェクト概要

Oh My Paper は、オープンソースの Claude Code プラグインです。解決する課題はシンプルで、こう言い切れます:Claude Code はコードを書くのを助けてくれますが、研究はコードを書くことだけではありません。文献調査、革新(イノベーション)評価、実験設計、論文執筆、引用の照合——これらの工程をつなぐ“良い道具”がこれまでありませんでした。

Oh My Paper は、Claude Code に構造化された研究用のパイプラインを組み込みます。5 つの専任 Agent がそれぞれ担当し、34 個の研究スキルを必要に応じてロードし、バックグラウンドの Hook がプロジェクト状態を自動で覚えてくれます。セットアップ後、Claude Code を開くたびに「今日はどの役割をやる?」と聞かれ、対応する記憶ファイルが自動で読み込まれて、前回の中断地点から再開できます。GUI は不要で、すべての操作はターミナル上で完結します。

TIP

プロジェクト先:https://github.com/LigphiDonk/Oh-my--paper 、MIT ライセンス、Claude Code プラグインエコシステムに対応。


想定読者像

この記事は、以下の開発者を対象にしています:

  • 開発経験 1〜5 年。論文執筆や研究に取り組んだことがある(または現在進行中である)
  • AI を研究に活用したいが、さまざまなツールを行き来するのは好まない
  • Agent 協業モードや、複数ロール間で記憶を隔離する」といった概念に興味があり、実戦例を見つけたい

すでに明確な研究テーマがある場合(例:CV、NLP、システムアーキテクチャ)や、社内で技術調査を行っている場合も、Oh My Paper のパイプラインはそのまま適用できます。


コア依存関係と環境

始める前に、環境が次の条件を満たしていることを確認してください:

依存最低要件説明
Claude Code最新版公式インストールガイド
Node.jsv18+Claude Code プラグインの実行基盤
Python3.10+リモート実験スクリプト、LaTeX コンパイルに必要
LaTeXTeX Live 2020+任意(論文執筆で使用)
ネットワークArXiv / Semantic Scholar へアクセス可能文献検索に必須

WARNING

Oh My Paper は Claude Code のプラグインであり、単体アプリではありません。先に Claude Code をインストールする必要があります。Windows ユーザーは、より良い体験のため WSL2 の利用を推奨します。


完全なプロジェクト構成ツリー

/omp:setup を実行すると、プロジェクトのディレクトリ構成は次のようになります:

my-research/
├── paper/                     # LaTeX 論文作業エリア
│   ├── main.tex
│   ├── sections/            # 各章の .tex ファイル
│   └── refs/                # 参考文献 .bib ファイル
├── experiment/                # 実験コードとスクリプト
├── survey/                    # 文献調査の成果
├── ideation/                  # イノベーション(着想)と評価結果
├── promotion/                 # スライド、Demo、販促用素材
├── skills/                    # プロジェクトローカルのカスタムスキル
├── .pipeline/
│   ├── tasks/
│   │   └── tasks.json      # 全フェーズ共通のタスクツリー
│   ├── docs/
│   │   └── research_brief.json
│   └── memory/             # Agent の記憶ファイル
│       ├── project_truth.md   # プロジェクト基準 + 進捗ログ
│       ├── orchestrator_state.md
│       ├── execution_context.md
│       ├── experiment_ledger.md
│       ├── result_summary.md
│       ├── review_log.md
│       ├── literature_bank.md
│       ├── agent_handoff.md
│       └── decision_log.md
├── .claude/
│   └── settings.json         # SessionStart hook の登録
├── CLAUDE.md
└── AGENTS.md

手順:インストール

ステップ 1:プラグインマーケットを追加

Claude Code で次のコマンドを実行し、Oh My Paper のプラグインマーケットのアドレスを登録します:

/plugin marketplace add LigphiDonk/Oh-my--paper

このステップではリポジトリ全体をクローンする必要はありません。Claude Code はプラグインマーケットからプラグイン一覧を取得します。

ステップ 2:プラグインのインストール

/plugin install omp@oh-my-paper

インストールが完了したら、/plugin で動作確認します:

/plugin
# 期待される出力:omp @ oh-my-paper, Status: Enabled

ステップ 3:Claude Code を再起動

WARNING

最も見落とされやすいステップです。SessionStart hook は Claude Code を再起動して初めて有効になります。このステップをスキップすると、セッションを開くたびにロール選択のプロンプトが表示されません。

いま開いている Claude Code のウィンドウを完全に閉じ、再度開いてください。

ステップ 4:研究プロジェクトの初期化

研究プロジェクトのディレクトリに移動し、次を実行します:

/omp:setup

このコマンドは次の 3 つのことを行います:

  1. .pipeline/ ディレクトリと、その配下のすべてのサブディレクトリおよび記憶ファイルを作成
  2. .claude/settings.jsonSessionStart hook を登録
  3. デフォルトの tasks.jsonresearch_brief.json を生成

初期化が完了すると、上記の「完全なプロジェクト構成ツリー」のとおりの構成になります。

インストール成功の確認

初期化済みのプロジェクトディレクトリで Claude Code を開き直すと、Claude がロール選択メニューを表示し、今日どのロールから作業を始めるかを尋ねてくるはずです。表示されれば、すべてのインストールが成功しています。


5 フェーズの研究パイプライン:詳細

Oh My Paper は研究プロセス全体を 5 つのフェーズに分解し、各フェーズに 1 つのコマンドと推奨スキル群を対応させています。

フェーズ 1|Survey:文献調査

実行コマンド:

/omp:survey

このフェーズでやること:あなたの研究方向に基づいて関連論文を検索し、要約と重要情報を抽出して、最終的に literature_bank.md に整理します。

よく使うスキル:

  • paper-finder — ArXiv、Semantic Scholar で関連研究を検索
  • paper-analyzer — 論文の主要な貢献、手法、限界を抽出
  • biorxiv-database — 生命科学・生物医学系なら BioRxiv を検索

主要な出力ファイル:survey/literature_bank.md

典型的なワークフロー:

あなた:/omp:survey
→ Claude が研究方向のキーワードを尋ねる
→ 自動で検索 → 文献カードを整理 → literature_bank.md に書き込み
→ 文献調査の要約を表示し、追加が必要か確認できる状態にする

フェーズ 2|Ideation:イノベーション(着想)の生成

実行コマンド:

/omp:ideate

フェーズ 1 の文献調査結果をもとに、Claude が潜在的なイノベーション案を生成し、1 つずつ実現可能性を評価します。

よく使うスキル:

  • inno-idea-generation — 大規模なイノベーション案のブレインストーミング
  • inno-idea-eval — novelty、feasibility、impact の 3 つの観点でスコアリング
  • research-idea-convergence — 2〜3 個の最有望な方向へ収束

主要な出力ファイル:ideation/ ディレクトリ配下の評価結果

TIP

Ideation フェーズが終わったら、Claude に最終的に選んだ方向を書き込ませてください:research_brief.json。以降の実験と執筆はこのファイルを参照します。

フェーズ 3|Experiment:実験設計と実行

実行コマンド:

/omp:experiment

このフェーズは最も範囲が広いです:実験計画の設計、評価コードの作成、ローカルまたはリモートでの実行、結果の分析。

よく使うスキル:

  • inno-experiment-dev — 実験コードのひな形生成
  • research-experiment-driver — 実験の反復ループを管理
  • remote-experiment — リモートの GPU ノードへ SSH して実行(「リモート実験」章参照)

主要な出力ファイル:experiment/ ディレクトリ + experiment_ledger.md(実験履歴)

フェーズ 4|Publication:論文の章執筆

実行コマンド:

/omp:write

実験結果を論文テキストに変換し、図表やタイトルを生成し、LaTeX ファイルを管理します。

よく使うスキル:

  • inno-paper-writing — 汎用の論文章生成
  • ml-paper-writing — 機械学習/AI 向け論文テンプレート
  • scientific-writing — 学術執筆の規範(時制、語彙、構成)
  • inno-figure-gen — 図表のコード生成(Matplotlib、Plotly)
  • inno-reference-audit — 引用形式が適切かを自動チェック

主要な出力ファイル:paper/ ディレクトリ配下の LaTeX ファイル

フェーズ 5|Promotion:成果の発信

実行コマンド:

/omp:plan
# Promotion フェーズでは、デモ資料作成に関連するスキルを選択する

論文の成果を、デモ用スライド、テクニカルブログ、Grant 提案書などへ落とし込みます。

よく使うスキル:

  • making-academic-presentations — 学術報告の PPT 生成
  • inno-grant-proposal — 申請書(資金申請)執筆
  • inno-rclone-to-overleaf — ローカルの LaTeX を Overleaf に自動同期

5 つの Agent ロールと、記憶の隔離メカニズム

これが Oh My Paper の最も重要な設計理念です。

Agent ロール一覧

ロール責務内容コア記憶ファイル
Conductor(統括者)グローバル計画、サブタスクの配布、各フェーズ完了後にプロジェクト状態を自動更新project_truth.md · tasks.json · orchestrator_state.md
Literature Scout(文献侍)論文検索、文献メモの整理literature_bank.md · execution_context.md
Experiment Driver(実験実行)実験設計、評価コードの作成、実行と記録experiment_ledger.md · research_brief.json
Paper Writer(論文執筆者)章執筆、図表生成、引用の監査result_summary.md · literature_bank.md
Reviewer(査読者)ピアレビュー、品質チェック、一貫性確認execution_context.md · project_truth.md

記憶隔離の原理

各ロールは、自分の責務範囲に含まれる記憶ファイルのみを読み書きでき、他ロールの内部状態を見ることはできません。この設計の核心的な利点は文脈汚染を防ぐことです。たとえば Paper Writer は Experiment Driver の途中のデバッグ結果を見ず、Literature Scout は実験データを見てしまうことで文献評価に先入観が入りません。

ロール間の通信は、2 つの「共有領域」を通じて行われます:

tasks.json         ← すべてのロールが読み書きし、タスク完了状態を記録
project_truth.md   ← すべてのロールが追記し、プロジェクト全体の進捗を記録

自動状態同期

最も重要な設計詳細:Conductor は各サブタスクが完了するたびに、この 2 つの共有ファイルを自動で更新し、あなたが手動でリマインドする必要はありません。

サブタスク完了
  → Conductor が tasks.json の該当タスクを done に自動マーキング
  → Conductor が project_truth.md に進捗ログを追記
    → 次回のセッションでこれらのファイルが読み込まれ、中断地点から自動で再開

TIP

Conductor に現在の全グローバル進捗を強制的に出力させたい場合は、/omp:plan を実行してください。tasks.jsonproject_truth.md を読み取り、完全なタスクリストと現在のフェーズを表示します。


34 個の研究スキル:早見表

Oh My Paper には 34 個の研究スキルが内蔵されており、研究プロセス全体をカバーします。カテゴリごとに整理してありますので、必要に応じて探せます:

文献系

  • paper-finder — 複数データベースでの論文検索
  • paper-analyzer — 論文の主要な貢献の抽出
  • paper-image-extractor — PDF から図表を抽出
  • research-literature-trace — ある論文の引用チェーンを追跡
  • biorxiv-database — BioRxiv 専用検索
  • dataset-discovery — 関連データセットの発見

調査・創造系

  • inno-deep-research — 深掘り研究モード
  • gemini-deep-research — Gemini の深掘り研究統合
  • inno-code-survey — コード実装の調査
  • inno-idea-generation — イノベーション案を一括生成
  • inno-idea-eval — イノベーション案を多面的に評価
  • research-idea-convergence — 最良の方向へ収束

実験系

  • inno-experiment-dev — 実験コード生成
  • inno-experiment-analysis — 実験結果の分析
  • research-experiment-driver — 反復型実験の管理
  • remote-experiment — リモート GPU 実験ループ

執筆系

  • inno-paper-writing — 汎用の論文章
  • ml-paper-writing — ML/AI 向けの論文
  • scientific-writing — 学術執筆の規範
  • inno-figure-gen — 図表生成
  • inno-reference-audit — 引用形式の監査
  • research-paper-handoff — Agent 間の引き継ぎ規約

計画・レビュー系

  • inno-pipeline-planner — パイプライン計画
  • research-pipeline-planner — 研究フェーズの計画
  • inno-paper-reviewer — 論文品質の評価
  • inno-prepare-resources — 準備リソースのチェックリスト
  • inno-rclone-to-overleaf — Overleaf 同期

デモ・提案系

  • making-academic-presentations — 学術報告の PPT
  • inno-grant-proposal — 資金申請書

Agent スケジューリング系

  • claude-code-dispatch — Claude Code のサブタスクをディスパッチ
  • codex-dispatch — Codex を並列処理でディスパッチ

分野特化系

  • academic-researcher — 汎用の学術研究
  • bioinformatics-init-analysis — バイオインフォマティクス分析
  • research-news — 研究分野の最新動向の追跡

スキルは必要に応じてロードされます。/omp:survey を実行すると Claude は関連するスキルを自動で推奨します。また skills/ ディレクトリにカスタムスキルを追加しても構いません。


典型的なワークフロー:完全デモ

AI 分野の論文を例に、5 フェーズのパイプラインを最初から最後まで一通り回します。

Step 1:プロジェクト初期化

# 研究ディレクトリへ移動
cd ~/research/my-paper

# Claude Code で:
/omp:setup
# 出力:.pipeline/ が作成され、SessionStart hook が登録された

Step 2:文献調査

# Claude Code で:
/omp:survey
# → Claude が「あなたの研究方向は何ですか?」と尋ねる
# → 入力:LLM reasoning、chain-of-thought prompting
# → Claude が ArXiv/Semantic Scholar を自動検索
# → 関連する 20 件以上の研究を survey/literature_bank.md に整理
# → 調査要約を出力し、追加が必要か確認

Step 3:イノベーション案の生成

/omp:ideate
# → Claude が literature_bank.md を読み込む
# → 潜在的なイノベーション案を 8 個生成
# → 各案を novelty / feasibility / impact の 3 観点でスコアリング
# → 2 つの方向に収束し、research_brief.json に書き込む

Step 4:実験設計と実行

/omp:experiment
# → Claude が research_brief.json を読み込む
# → 実験計画を設計(ベースライン、比較手法、評価指標)
# → 実験コードを experiment/ ディレクトリに生成
# → ローカル評価を実行し、指標結果を解析
# → 結果を experiment_ledger.md に書き込む

リモート GPU ノードで実行する必要がある場合:

# リモート計算ノードを設定(experiment/ ディレクトリ内に compute-config.json を作成)
{
  "host": "gpu-server.example.com",
  "user": "researcher",
  "key_path": "~/.ssh/id_rsa",
  "remote_dir": "/home/researcher/experiments"
}

# Claude Code で:
/omp:experiment
# → Claude が compute-config.json を検出
# → remote-experiment のスキルを使用
# → rsync でコードをリモートへ → SSH 実行 → 結果をローカルへ回収
# → 指標(metrics)を自動解析し、experiment_ledger.md に書き込む

Step 5:論文の章執筆

/omp:write
# → Claude が experiment_ledger.md + literature_bank.md を読み込む
# → Introduction / Method / Experiment 各章の .tex を生成
# → 図表を生成(Matplotlib スクリプト)し、paper/figures/ にコンパイル
# → 引用の監査:.bib ファイルの形式をチェック

Step 6:査読(ピアレビュー)

/omp:review
# → Claude が Reviewer ロールとして全文を読み進める
# → 論理の一貫性、手法説明の明瞭さ、実験比較の十分性を確認
# → review_log.md を出力し、修正提案を列挙
# → 提案に基づいて直したら、再度 /omp:review を実行し、通るまで繰り返す

Step 7:Overleaf へ同期

# skills/ ディレクトリで Overleaf 同期を設定
# inno-rclone-to-overleaf スキルを使用
# Claude がローカルの paper/ ディレクトリを Overleaf のプロジェクトへ自動同期

リモート実験:詳細

GPU 計算が必要な実験では、Oh My Paper はリモート実験の一連のループを完全にサポートします。

アーキテクチャの流れ

ローカルで計画
  → 実験コードを生成
    → rsync でリモートへ同期
      → リモートノードに SSH ログイン
        → GPU 上で実験を実行
          → metrics のログを回収
            → ローカルで指標を解析
              → 閾値に達したか判断
                → 反復最適化 / 実験終了

リモートノードの設定

experiment/ ディレクトリに compute-config.json を作成します:

{
  "host": "your-gpu-server.com",
  "user": "researcher",
  "ssh_key": "~/.ssh/id_rsa",
  "remote_workspace": "/home/researcher/omp-experiments",
  "max_iterations": 5,
  "success_threshold": {
    "accuracy": 0.92,
    "latency_ms": 200
  }
}

リモート実験の実行

# Claude Code で:
/omp:experiment
# → compute-config.json を検出
# → 自動実行:コード同期 → SSH 実行 → 結果回収
# → 指標が未達の場合は、自動で超パラメータを調整して再実行(最大 max_iterations 回)
# → 最終結果を experiment_ledger.md に書き込む

WARNING

リモート実験はサーバーの計算リソースと費用を消費します。まずはローカルの小規模データセットで実験手順が正しいことを確認してから、リモート GPU ノードで本番の完全な実験に切り替えることを推奨します。


Codex タスクの委譲

もしある実験で、大量の繰り返しコード生成が必要になる場合(例:異なる超パラメータ設定を 10 セット実行するなど)、Conductor にタスクを Codex へ委譲して並列処理できます。

/omp:delegate
# → Conductor が現在のタスクコンテキストを読み取る
# → 完全なコンテキスト付きの Codex prompt を生成
# → 新しいターミナルに codex "..." をそのまま貼り付けて実行
# → Codex が独立したターミナルで実行
# → 終了後、agent_handoff.md に CODEX_DONE 信号を書き込む
# → Conductor が信号を検知し、結果を自動で読み取って tasks.json を更新

この設計のメリット:Claude Code と Codex を別々のターミナルで同時に動かせるため、ローカルの Claude Code は占有されません。文献整理などの別作業も並行して進められます。


よくある問題のトラブルシュート

Q1:/omp:setup を実行したのに、Claude Code を開いてもロール選択の表示が出ない

原因:SessionStart hook が正しく登録されていない。

確認手順

  1. プロジェクトディレクトリに .claude/settings.json が存在するか確認
  2. そのファイルに hooks 設定セクションが含まれているか確認
cat .claude/settings.json
# 「hooks»: { "SessionStart": [...] } があるか確認

もし無い場合は、/omp:setup をもう一度実行して初期化し、さらに Claude Code を完全に再起動してください。


Q2:プラグインのインストールは成功したのに、/omp:survey などのコマンドで「未認識のコマンド」と表示される

原因:プラグインが正しく読み込まれていない、または Claude Code の再起動が必要。

解決手順

# 1. アンインストールして再インストール
/plugin uninstall omp
/plugin install omp@oh-my-paper

# 2. Claude Code を完全に再起動(すべてのウィンドウを閉じる)

# 3. プラグイン状態の確認
/plugin

Q3:Literature Scout が見つける論文が少なく、検索範囲を広げたい

原因:初期キーワードが具体的すぎて、検索結果が絞られている。

解決方法

/omp:survey を実行するときに、複数の同義語や上位語を提示する:
入力:「LLM reasoning, chain-of-thought, CoT, deliberate reasoning, LLM planning」
※「LLM reasoning」だけではなく

また skills/paper-finder.md に追加のデータベースソース(ACL Anthology、ICLR 公式ページなど)を記述できます。


Q4:Paper Writer が生成した実験記述と、実際の結果が一致しない

原因:Experiment Driver と Paper Writer の間で、最新の experiment_ledger.md がタイムリーに同期されていない。

解決方法

毎回の実験反復が終わったら、Paper Writer が作業を始める前にまず /omp:plan を実行して Conductor にグローバル状態を同期させます。Paper Writer が最新結果を読めるようにします:

/omp:plan
# → Conductor が現在の tasks.json 状態を表示
# → experiment タスクが done にマークされているか確認
# → その後、/omp:write を実行

Q5:リモート実験の rsync 同期が失敗し、「permission denied」と表示される

原因:SSH キーの権限が正しくない、またはリモート側のディレクトリが存在しない。

確認手順

# 1. ローカルの SSH キー権限を確認
chmod 600 ~/.ssh/id_rsa

# 2. SSH 接続テスト(パスワードなし)
ssh -i ~/.ssh/id_rsa [email protected] "echo ok"

# 3. リモートディレクトリが存在することを確認
ssh [email protected] "mkdir -p /home/researcher/omp-experiments"

# 4. compute-config.json の remote_workspace パスが正しいか確認

Q6:Codex を委譲した後、Conductor がずっと CODEX_DONE 信号を待っている

原因:Codex が終了した後に agent_handoff.md へ正しく書き込まれていない。

解決方法

  1. Codex を実行したターミナルが正常に終了しているか確認
  2. .pipeline/memory/agent_handoff.md の末尾に手動で 1 行追加:
CODEX_DONE
result: [Codex の出力結果を記入]
  1. その後、Claude Code で現在のワークフローを続行

追加の読み物と、次のステップ

1. スキルのカスタム拡張

Oh My Paper は、プロジェクトのローカル skills/ ディレクトリにカスタムスキルを追加できます。作成形式は以下のとおり:

---
name: my-custom-skill
description: 特定の研究分野向けのカスタム分析プロセス
stage: survey  # 任意:survey | ideation | experiment | write | review
---

# スキルタイトル

## 実行手順
1. コンテキストファイルを読み取る ...
2. 特定のタスクを実行 ...

登録後、/omp:survey などのコマンドを実行すると、Claude が関連するカスタムスキルを自動で推奨します。

2. マルチ Agent 協業の発展

複数の研究方向を同時に進めている場合は、別々のサブディレクトリでそれぞれ /omp:setup を実行し、各サブプロジェクトに独立した .pipeline/ と Agent チームを用意します。Conductor ロールは、サブプロジェクト横断で全体の概要と調整を担当します。

3. Overleaf 協業ワークフロー

inno-rclone-to-overleaf スキルでローカルの論文を Overleaf に同期した後、メンターに Overleaf 上で直接コメントや修正提案を付けてもらえます。修正が終わったら、再度ローカルへ同期します。手動でアップロード/ダウンロードする必要はありません。

4. 他の LLM バックエンドに接続

Oh My Paper 自体は Claude Code だけに依存しますが、実験フェーズでは、比較評価のために別の LLM を設定できます。experiment/ ディレクトリにモデル設定ファイルを作成します:

# experiment/model_configs.py
llm_configs = {
    "claude-sonnet": {"provider": "anthropic", "model": "claude-3-5-sonnet"},
    "gpt-4o": {"provider": "openai", "model": "gpt-4o"},
    "gemini-pro": {"provider": "google", "model": "gemini-1.5-pro"},
}

そして実験コード内で、これらの設定を参照して横断的な比較を行います。

5. 最新の研究動向を追跡

research-news スキルで定期的に ArXiv の最新コミットをスキャンし、研究テーマに関連する新しい仕事を抽出して literature_bank.md を自動更新できます。cron の定期実行タスクと組み合わせれば、毎週自動で文献調査ライブラリを更新できます。

Updated April 4, 2026