Awesome-omni-skill deep-research
OpenAIまたはGoogle Gemini Deep Research APIを使用して深層リサーチを実行する統合スキル。Subcommandアーキテクチャ(start/status/poll/result/list)で長時間リサーチを安定的に管理する。
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/backend/deep-research" ~/.claude/skills/diegosouzapw-awesome-omni-skill-deep-research && rm -rf "$T"
manifest:
skills/backend/deep-research/SKILL.mdsafety · automated scan (medium risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- pip install
- references API keys
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
Deep Research v2.0
Overview
OpenAIまたはGoogle Gemini Deep Research APIを活用して、複雑なテーマについて深層的なリサーチを実行する統合スキルである。
v2.0 核心変更(Subcommand Architecture)
v1.0は単一プロセスブロッキング方式であったが、v2.0でSubcommandアーキテクチャに全面再設計された:
| 問題(v1.0) | 解決(v2.0) |
|---|---|
| Bash 10分タイムアウト vs リサーチ60分 | (即時返却)+ (分離) |
| クラッシュ時の結果消失 | Stateファイル基盤の永続管理 |
| 単一プロセスall-or-nothing | 6つのサブコマンドに分離 |
事前要件
APIキー設定
使用するプロバイダに応じてAPIキーを設定する必要がある:
OpenAI
- OpenAI PlatformでAPIキーを発行
- 環境変数設定:
export OPENAI_API_KEY="your-api-key"
- Google AI StudioでAPIキーを発行
- 環境変数設定:
export GEMINI_API_KEY="your-api-key"
Pythonパッケージインストール
# OpenAI用 pip install openai # Google用 pip install google-genai # または両方 pip install openai google-genai
プロバイダ比較
| 特徴 | OpenAI | |
|---|---|---|
| モデル | o3-deep-research, o4-mini-deep-research | deep-research-pro-preview-12-2025 |
| 実行方式 | (非同期) | (非同期) |
| ポーリング間隔 | 15秒 | 30秒 |
| Zombie Guard | 120回(30分) | 60回(30分) |
| モデル選択 | o3/mini | 単一 |
| コスト | 相対的に高い | 相対的に低い |
| 用途 | 高速応答、高品質合成 | 長時間リサーチ、包括的分析 |
サブコマンド
アーキテクチャ概要
start ──→ [Stateファイル生成] ──→ poll ──→ [完了検知] ──→ result │ │ │ (即時返却、session_id出力) │ (反復ポーリング、バックグラウンド可能) │ │ └── status (1回照会) ────────────┘ list: 全セッション一覧照会 run: start + poll (レガシー互換)
1. start
- リサーチ開始(即時返却)
start# OpenAIでリサーチ開始 python scripts/deep_research.py start "リサーチテーマ" --provider openai # Googleでリサーチ開始 python scripts/deep_research.py start "リサーチテーマ" --provider google # 自動Provider選択 python scripts/deep_research.py start "リサーチテーマ" --auto # OpenAI + 高速モデル python scripts/deep_research.py start "リサーチテーマ" --provider openai --model mini # 日本語結果要求 python scripts/deep_research.py start "リサーチテーマ" --language japanese # カスタム出力パス python scripts/deep_research.py start "リサーチテーマ" --output docs/research/custom.md
出力:
session_idを返却する。以後 status、poll、result コマンドで使用。
2. status
- 状態確認(1回)
statuspython scripts/deep_research.py status <session_id>
出力:
queued、in_progress、completed、failed、cancelled のいずれか。
3. poll
- 完了までポーリング
poll# 完了まで待機(バックグラウンド実行推奨) python scripts/deep_research.py poll <session_id>
- OpenAI: 15秒間隔、最大120回(30分)
- Google: 30秒間隔、最大60回(30分)
- Zombie Guard: 最大反復回数到達時に自動中断(無限ループ防止)
4. result
- 完了した結果照会
resultpython scripts/deep_research.py result <session_id>
完了したリサーチ結果を出力しファイルに保存する。
5. list
- セッション一覧
listpython scripts/deep_research.py list
全リサーチセッションの状態を表で表示する。
6. run
- レガシー互換(start + poll)
run# v1.0互換: start後に自動poll python scripts/deep_research.py run "リサーチテーマ" --provider openai # レガシー構文もサポート(サブコマンドなし) python scripts/deep_research.py "リサーチテーマ" --provider openai
ワークフロー
基本ワークフロー(推奨)
# 1. リサーチ開始(即時返却) python scripts/deep_research.py start "プログラミング学習アプリ市場分析" --auto # → session_id: mkt-analysis-openai-20260208 # 2. (任意) 状態確認 python scripts/deep_research.py status mkt-analysis-openai-20260208 # 3. 完了までポーリング(バックグラウンド実行可能) python scripts/deep_research.py poll mkt-analysis-openai-20260208 # 4. 結果確認 python scripts/deep_research.py result mkt-analysis-openai-20260208
Claude Codeでの実行パターン
# start (Bashツール、即時返却) python scripts/deep_research.py start "テーマ" --auto # poll (Bashツール、run_in_background=true) python scripts/deep_research.py poll <session_id> # 完了確認後に結果照会 python scripts/deep_research.py result <session_id>
クラッシュ復旧
プロセスが中断されてもStateファイルが残っているため:
# セッション一覧でin_progressを確認 python scripts/deep_research.py list # 再度ポーリング開始 python scripts/deep_research.py poll <session_id>
出力ファイル
デフォルト保存パス
--outputを指定しなければ docs/research/ ディレクトリに自動保存される。
ファイル名形式
{slug}-{provider}-{date}.md
例:
mkt-analysis-openai-20260208.mdai-trend-2026-google-20260208.mdnextjs-vs-remix-openai-20260208.md
Slug生成規則
- クエリから主要キーワードを抽出し最大5単語で組み合わせ
- 日本語はローマ字変換せず主要英語キーワードを抽出
- 特殊文字を除去、ハイフンで接続
Stateファイル管理
Stateファイルは
.claude/skills/deep-research/state/ ディレクトリにJSON形式で保存される。
Stateファイル構造
{ "session_id": "mkt-analysis-openai-20260208", "provider": "openai", "query": "プログラミング学習アプリ市場分析", "status": "in_progress", "api_id": "resp_xxx", "output_path": "docs/research/mkt-analysis-openai-20260208.md", "created_at": "2026-02-08T15:30:00", "updated_at": "2026-02-08T15:35:00" }
自動クリーンアップ
config.yamlの state.cleanup_after_hours 設定に従い、完了/失敗状態のStateファイルは72時間後に自動削除される。
Smart Provider Selection
クエリ内容を自動分析して最適なProviderを選択するインテリジェントルーティング機能である。
使い方
# 自動選択モード(キーワード分析 + 学習ベース) python scripts/deep_research.py start "プログラミング学習アプリの最新トレンド" --auto # 戦略指定 - 品質優先(OpenAI優先) python scripts/deep_research.py start "深層分析が必要なテーマ" --strategy quality # 戦略指定 - コスト優先(Google優先) python scripts/deep_research.py start "幅広い市場調査" --strategy cost
キーワードルール
OpenAIが選択されるキーワード:
- 深層、deep、分析、analysis、学術、academic、研究、research、レポート、report、論文、paper、構造化、structured
Googleが選択されるキーワード:
- 最新、latest、トレンド、trend、ニュース、news、市場、market、競合、competitor、高速、quick、スキャン、scan、現況、current
戦略モード
| モード | 動作 | 使用ケース |
|---|---|---|
| キーワードスコア + 学習パターン基盤選択 | 一般的な場合(推奨) |
| OpenAI優先(高品質レポート) | 重要な意思決定用リサーチ |
| Google優先(コスト削減) | 予算が限られている場合 |
| ユーザー指定Providerのみ使用 | 特定Provider強制使用 |
学習データ
使用履歴は
logs/usage_patterns.json に保存され、直近100件の履歴のみ保持される。
最低10件以上のデータが蓄積されると学習が開始される。
プロンプト作成のコツ
APIを通じたDeep ResearchはChatGPTと異なり明確化質問を行わないため、プロンプトに以下を含めると良い:
- 具体的な範囲: 「直近2年間」、「日本市場中心」
- 求める比較点: 「価格、性能、使いやすさの比較」
- 求める指標: 「市場規模、成長率、MAUを含む」
- 好ましい出典: 「学術論文中心」、「産業レポート参照」
- 出力形式: 「表形式で整理」、「長所短所リストで」
制限事項
共通
- APIアクセス: 各プロバイダのAPIキーが必要
- コスト: Deep Researchモデルは一般モデルよりコストが高い
- 用途: 単純な質問や短い対話には不適切(一般モデル使用推奨)
- Zombie Guard: 最大ポーリング回数超過時に自動中断
OpenAI専用
- モデルサポート: o3-deep-research、o4-mini-deep-researchのみサポート
Google専用
- 実行時間: 最大60分(大部分は20分以内に完了)
- オーディオ入力: サポートされない
- ストリーミング: サポートされない(ポーリングベース)
エラー処理
| エラー | 原因 | 解決策 |
|---|---|---|
| OpenAI APIキー未設定 | を実行 |
| Google APIキー未設定 | を実行 |
| 不正なAPIキー | APIキーを確認し再設定 |
| APIリクエスト上限超過 | しばらく待ってから再試行 |
| 最大ポーリング回数超過 | で状態確認後 を再開 |
| 存在しないセッションID | で有効なセッションを確認 |
設定 (config.yaml)
# ポーリング設定 polling: openai: interval: 15 # 秒 max_iterations: 120 # 15s x 120 = 30分 google: interval: 30 max_iterations: 60 # 30s x 60 = 30分 # 出力設定 output: default_dir: 'docs/research' filename_format: '{slug}-{provider}-{date}' # State設定 state: dir: 'state' cleanup_after_hours: 72
Resources
scripts/
- Deep Research CLI v2.0 (Subcommand Architecture)deep_research.py
references/
- OpenAI Deep Research API参照ドキュメントopenai_api_reference.md
- Google Deep Research API参照ドキュメントgoogle_api_reference.md
state/
- リサーチセッションStateファイル保存ディレクトリ
logs/
- Smart Provider Selection 学習データusage_patterns.json