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.js | v18+ | Claude Code プラグインの実行基盤 |
| Python | 3.10+ | リモート実験スクリプト、LaTeX コンパイルに必要 |
| LaTeX | TeX 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 つのことを行います:
.pipeline/ディレクトリと、その配下のすべてのサブディレクトリおよび記憶ファイルを作成.claude/settings.jsonにSessionStarthook を登録- デフォルトの
tasks.jsonとresearch_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.json と project_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— 学術報告の PPTinno-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 が正しく登録されていない。
確認手順:
- プロジェクトディレクトリに
.claude/settings.jsonが存在するか確認 - そのファイルに
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 へ正しく書き込まれていない。
解決方法:
- Codex を実行したターミナルが正常に終了しているか確認
.pipeline/memory/agent_handoff.mdの末尾に手動で 1 行追加:
CODEX_DONE
result: [Codex の出力結果を記入]
- その後、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 の定期実行タスクと組み合わせれば、毎週自動で文献調査ライブラリを更新できます。