Research について
Researchは、簡易検索から反復的な調査まで、深さを選べるClaudeスキルです。複数エージェントの並列処理、URL確認、相互照合、独立検証を組み合わせ、信頼度付きの結果を作成します。深掘り調査ではナレッジベースをセッション間で保持できます。
主な機能
- 014段階の調査モード
- 02複数エージェントの並列処理と相互照合
- 03提供前のURL検証
- 04深い調査モードでの独立検証
- 05信頼度タグ付きの調査結果
- 06深掘り調査用の永続ナレッジベース
活用シーン
- 01簡易検索や複数エージェントによる概要取得
- 02調査エージェント間の主張の食い違いを比較
- 03セッションをまたいだ反復的なテーマ調査
- 04コミュニティ情報源を使った世論調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ danielmiessler/ lifeos --skill researchインストール後、Claude Code で/researchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
MigrationNotes.mdQuickReference.mdSourceRoutingProtocol.mdUrlVerificationProtocol.mdTemplates/MarketResearch.mdThreatLandscape.mdWorkflows/AnalyzeAiTrends.mdClaudeResearch.mdDeepInvestigation.mdDeepVerifiedResearch.mjsEnhance.mdExtensiveResearch.mdExtractAlpha.mdExtractKnowledge.mdFabric.mdInterviewResearch.mdQuickResearch.mdresearch.mjsRetrieve.mdStandardResearch.mdVerify.mdWebScraping.mdYoutubeExtraction.md詳細
⚠️ 必須トリガー
ユーザーが(どのような形でも)「research」と言った場合は、必ずこのスキルを呼び出してください。
| ユーザーの発言 | アクション |
|---|---|
| "research" / "do research" / "research this" | → 標準モード(3 つのエージェント:Claude + Gemini + Perplexity + 相互検証) |
| "quick research" / "minor research" | → クイックモード(Perplexity エージェント 1 つ) |
| "extensive research" / "deep research" | → 詳細モード(7 つの探索エージェント + 2 つの検証エージェント) |
| "deep investigation" / "investigate [topic]" / "map the [X] landscape" | → 詳細調査(反復 + 検証) |
「Research」だけの場合も標準モードです。例外はありません。
決定論的な代替手段(実験的 — ハーネスではまだ実行されていません): Workflows/research.mjs は、標準モードと詳細モードを Workflow ツールのスクリプトに移植したものです。調査担当者の構成は固定され、URL は一括で検証され、統合結果は相互検証されます。構文検証と契約チェックは済んでいますが、ハーネスでの実行はまだ行われていないため、既定の手順では引き続き StandardResearch.md / ExtensiveResearch.md を使用してください。スモークテストが完了するまでは、実際の調査を .mjs に振り分けないでください。スモークテストを行うには、次を実行します:Workflow({ scriptPath: "skills/Research/Workflows/research.mjs", args: { question: "<trivial test>", depth: "standard" } })。正常に実行されたら、この実験的な注意書きを削除してください。
カスタマイズ
実行前に、ユーザーのカスタマイズが次の場所にあるか確認してください:
~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Research/
このディレクトリが存在する場合は、そこにある PREFERENCES.md、設定、リソースを読み込み、適用してください。これらは既定の動作より優先されます。ディレクトリが存在しない場合は、スキルの既定値を使用してください。
🚨 必須:音声通知(操作前に必須)
このスキルが呼び出された場合、ほかのことをする前に必ずこの通知を送信してください。
-
音声通知を送信:
curl -s -X POST http://localhost:31337/notify \ -H "Content-Type: application/json" \ -d '{"message": "Running the WORKFLOWNAME workflow in the Research skill to ACTION"}' \ > /dev/null 2>&1 & -
テキスト通知を出力:
Running the **WorkflowName** workflow in the **Research** skill to ACTION...
これは省略できません。このスキルが呼び出されたら、直ちにこの curl コマンドを実行してください。
Research スキル
概要
複数の情報源を横断してトピックを調査し、結果を提示する前にすべての主張を検証します。深度は 4 つのモードで、単一の迅速な検索から複数セッションにわたる調査まで対応します。クイック(エージェント 1 つ、約 10~15 秒)、標準(相互検証を行うエージェント 3 つ、約 30~60 秒)、詳細(探索エージェント 7 つ + 独立した検証エージェント 2 つ、約 60~90 秒)、詳細調査(永続的な保管庫を使った段階的な反復、約 3~60 分)です。出力には信頼度が付与されます:[HIGH] [MED] [LOW] [CONFLICT]。
問題
単一の AI エージェントによる調査には、結果をひそかに損なう 2 つの失敗モードがあります。URL を幻覚し、確信に満ちたリンクを提示しても実際には存在せず、レポート全体への信頼を損ないます。また、単一の視点から回答するため、検索結果の最初の数件に書かれた内容をそのまま繰り返し、対立点や不足事項、実際の人々の意見を見落とします。振り返り記事はその最たる例です。「X についてファンはどう思ったか」と尋ねると、単独のエージェントは、プロモーション文句を総意のように装って返します。このスキルは複数のエージェントを並行して実行し、調査結果を相互検証して個別に確認し、提示前にすべての URL を検証します。また、感情に関する質問は、まずコミュニティの情報源に振り分けます。
仕組み
複数のエージェントが並行して作業し、それぞれの調査結果を照合します。検証は追加の遅延なしで3つのレイヤーで実行されます。各エージェントが自身のURLを検証し、統合ステップで矛盾がないか相互確認し、さらに専任の検証エージェント(Extensive/Deep)が調査担当エージェントの推論にアクセスせずに調査結果を確認します。すべてのワークフローのステップ0では、感情に関する質問をウェブ検索より先にコミュニティスクレイパーへ振り分けます。また、すべてのURLを提示前に検証します。リンクの捏造は致命的な失敗です。
公式の基準点(乖離チェック): このスキルのオーケストレーターとワーカーの構成は、Anthropicが公開したアーキテクチャと一致しています — マルチエージェント調査システムの構築方法(2025-06-13)。オーケストレーション自体(エージェント構成、検証レイヤー、.mjs ポート)を変更する場合(通常の調査実行時は除く)は、その記事を再取得して比較してください。記事には、まだ取り入れていない可能性のある教訓(例:エージェント間の非同期連携)が記されています。あくまで参考情報として扱い、相違点を報告してください。自動的に取り入れてはいけません。URLにアクセスできなくても、作業を妨げることはありません。
必須:URLの検証
参照: UrlVerificationProtocol.md — すべてのURLを提示前に検証してください。
調査エージェントはURLを捏造することがあります。リンクが1つでも壊れていれば、致命的な失敗です。
必須:情報源の振り分け(すべてのワークフローのステップ0)
参照: SourceRoutingProtocol.md — 感情に関するシグナルの検出と、Reddit/YouTube/X/TikTokでのスクレイパー優先経路。
ルール: ウェブ検索は「Xについて何が発表されたか」に答えます。コミュニティスクレイパーは「Xについて人々が何を言ったか」に答えます。質問がファンの感情、評価、反応、意見、または実際の人々の感想についてのものであれば、Perplexity/Claude/Geminiのウェブ検索エージェントを起動する前に、Reddit(まずJSON API、利用できない場合はApify)、YouTubeのコメント、Xに振り分けてください。振り返り記事は二次情報源であり、一次情報源ではありません。
感情に関するシグナルのトリガー(Quick/Standard/Extensiveのステップ0で実行):
- 「ファン/人々/コミュニティは(について)どう思ったか」
- 「評価」/「ファン評価」/「最高|最低|お気に入りの(セット|エピソード|場面)」
- 「〜への反応」/「人々は何と言っているか」
- 「Xは良いのか」/「〜についての総意」
- イベント名+(「昨夜」|「先週末」|最近の日付)
検出された場合 → SourceRoutingProtocol.md に従って感情モードで振り分けます。検出されなかった場合 → 標準の振り分けを行います。
十分性チェック(アルゴリズム v6.7.0 のステップ0)
いずれかのワークフローを実行する前に、コンテキストが十分かどうかを確認してください。変化しにくい調査成果物を作成するのに必要な情報がそろっているか、それとも推測しようとしていないかを確認します。質問の形式と対象となる情報源が明確であれば、続行します。推測が必要な場合は、曖昧さを示す1行のフラグを出し、可能な範囲で最善の成果を提示します。明らかに情報が不十分な場合は、proceed によるオーバーライドとともに、質問を3つ以内で提示します。
ワークフローのルーティング
重要: デューデリジェンス、企業・人物のバックグラウンドチェック、または審査の場合は、代わりに 専用のOSINT/エンティティ調査スキルを使用してください
| ワークフロー | トリガー | ファイル |
|---|---|---|
| QuickResearch | 簡単な調査、小規模な調査、Perplexity APIによる調査(Perplexityエージェント1つ、クエリ1つ) | Workflows/QuickResearch.md |
| StandardResearch | 標準的な調査 — デフォルト(3つのエージェント:Claude + Gemini + Perplexity、相互検証あり) | Workflows/StandardResearch.md |
| ExtensiveResearch | 広範な調査(7つの調査エージェント + 2つの検証エージェント = 計9エージェント) | Workflows/ExtensiveResearch.md |
| DeepInvestigation | 詳細調査/反復調査/[X]の全体像を把握(段階的に深掘りし、ループに対応) | Workflows/DeepInvestigation.md |
| DeepVerifiedResearch | 詳細な検証済み調査/ファクトチェック済み調査 — 最も時間がかかる段階で、主張単位の敵対的検証を実施(以下の注記を参照) | Workflows/DeepVerifiedResearch.mjs |
| research.mjs | Standard + Extensiveの決定論的な移植版(実験段階)。スモークテストが成功するまでは、実際の調査をここにルーティングしないでください(「必須トリガー」の注記を参照) | Workflows/research.mjs |
| Verify | 調査結果を検証/主張を相互確認/確信度をスコアリング | Workflows/Verify.md |
| ExtractAlpha | アルファを抽出/詳細分析/最も価値の高い洞察を抽出 | Workflows/ExtractAlpha.md |
| Retrieve | コンテンツへのアクセスが困難(CAPTCHA、ボット検出、ブロック) | Workflows/Retrieve.md |
| YoutubeExtraction | YouTube URLの抽出(ただちに fabric -y URL を使用) | Workflows/YoutubeExtraction.md |
| WebScraping | ウェブスクレイピング | Workflows/WebScraping.md |
| ClaudeResearch | ClaudeのWebSearchのみを使用(無料、APIキー不要) | Workflows/ClaudeResearch.md |
| InterviewResearch | インタビューの準備(Tyler Cowenスタイル) | Workflows/InterviewResearch.md |
| AnalyzeAiTrends | AIトレンド分析 | Workflows/AnalyzeAiTrends.md |
| Fabric | Fabricのパターンを使用(242以上の専門的なプロンプト) | Workflows/Fabric.md |
| Enhance | コンテンツの強化/改善 | Workflows/Enhance.md |
| ExtractKnowledge | コンテンツからナレッジを抽出 | Workflows/ExtractKnowledge.md |
DeepVerifiedResearchの注記: Workflow({scriptPath: 'skills/Research/Workflows/DeepVerifiedResearch.mjs', args: {question: '...'}}) で実行します(args はオブジェクトとして渡し、JSON文字列は使用しないでください)。Extensiveの代わりにはなりません — Extensiveより下位の段階に位置します。 主張単位の検証には直列の処理が1段階追加で必要になるため(主張を抽出するまでは投票できません)、実測ではExtensiveの約60~90秒に対し、約150~190秒かかります。主張を確実なものにする必要がある場合にのみ使用してください。抽出された各主張は、異なる観点(引用による裏付け、矛盾、情報源の強さ)から3人の懐疑論者に反証を試みられ、反証票のない投票が定足数に達した場合にのみ残ります(全員棄権の場合は残りません)。その後、書面による統合で残った主張をまとめ、[HIGH]/[MED]/[LOW]/[CONFLICT]タグを付け、反証された主張も明示します。重複排除、順位付け、投票数の集計、棄権ガードはスクリプト内で決定論的に実行されます。research.mjs はより高速な派生版であり、複数ベンダーの多様性を担うものです(Standard/Extensiveの構成 + URL検証)。
クイックリファレンス
参照: 詳細な例とモードの比較については QuickReference.md をお読みください。
| トリガー | モード | 速度 |
|---|---|---|
| 「簡単な調査」 | Perplexityエージェント1つ | 約10~15秒 |
| 「調査して」 | エージェント3つ + 相互確認 | 約30~60秒 |
| 「広範な調査」 | 調査エージェント7つ + 検証エージェント2つ | 約60~90秒 |
| 「詳細調査」 | 段階的な反復 + 検証 | 約3~60分 |
検証アーキテクチャ
Nomad(arXiv:2603.29353)に着想を得ています。レイテンシーを一切追加せず、3 層で検証します。
| レイヤー | 内容 | 適用先 | コスト |
|---|---|---|---|
| 自己検証 | 各エージェントが自身の URL を検証し、返答の前に確信度をタグ付けします | すべてのエージェント | 0 秒(並列処理の時間内) |
| 相互確認 | 統合ステップで矛盾を検出し、調査結果を相互参照します | 標準、広範、詳細 | 2~3 秒(統合処理内) |
| 独立検証 | 探索エージェントの推論にアクセスできない専任の検証エージェントを使用します | 広範、詳細のみ | 0 秒(探索エージェントと並列処理) |
出力の確信度タグ: [HIGH] [MED] [LOW] [CONFLICT]
検証プロトコルの全容については、Workflows/Verify.md を参照してください。
統合
連携先
- ブログ執筆スキル - ブログ記事のための調査
- ニュースレタースキル - ニュースレターのための調査
- ソーシャル投稿スキル - 調査結果から投稿を作成
使用するもの
- be-creative - アルファを抽出するための深い思考
- OSINT/entity investigation - 企業や人物の包括的な調査で必須
- BrightData MCP - CAPTCHA の解決、高度なスクレイピング
- Apify MCP - RAG ブラウザー、サイト特化型スクレイパー
詳細調査モード
段階的な反復調査によって、永続的なナレッジベールトを構築します。単回実行(1 サイクル)と反復モード(アルゴリズム主導の反復)の両方で動作します。
コンセプト: 全体像の把握 → エンティティの発見 → 重要度と労力の評価 → 1 件ずつ詳細に調査 → 網羅が完了するまで反復。
ドメインテンプレートパックを使って、特定のドメインに合わせて調査をカスタマイズできます。
Templates/MarketResearch.md— 企業、製品、人物、テクノロジー、トレンド、投資家Templates/ThreatLandscape.md— 脅威アクター、キャンペーン、TTP、脆弱性、ツール、防御側- テンプレートがない場合、ワークフローが全体調査からエンティティのカテゴリを動的に作成します。
呼び出し例:
"Do a deep investigation of the AI agent market"
→ Loads MarketResearch.md template
→ Iteration 1: Broad landscape + first entity deep-dive
→ Iterative mode: Each iteration deep-dives the next highest-priority entity
→ Exit: When all CRITICAL/HIGH entities researched + all categories covered
成果物は ~/.claude/LIFEOS/MEMORY/RESEARCH/{date}_{topic}/ に永続化され、セッションをまたいでナレッジベールトが保持されます。
ワークフローの詳細については、Workflows/DeepInvestigation.md を参照してください。
ファイル構成
作業ファイル(一時的な作業成果物): ~/.claude/LIFEOS/MEMORY/WORK/{current_work}/
~/.claude/を読み込み、work_dirの値を取得します- すべての反復作業の成果物を、現在の作業項目ディレクトリに保存します
- これにより、調査成果物が学習とコンテキストのために作業項目にひも付けられます
履歴(永続): ~/.claude/History/research/YYYY-MM/YYYY-MM-DD_[topic]/
注意点
- X/Twitter URL ゲート(ほかの作業より先に確認)。 機械的に確認できる事前チェック:調査エージェントを起動する前に、プロンプトを
x\.com|twitter\.comで検索してください(例:依頼テキストに対してrg -q 'x\.com|twitter\.com'を実行)。X は WebFetch と一般的なスクレイピングをブロックするため、一般的な調査エージェントを使ってもターンを消費するだけで、何も得られません。ゲートに該当した場合は、その URL に対して一般的なエージェントを起動しないでください。実際に利用できる以下の手段から最初のものを使い、どの手段を使ったか、またその理由を回答で明記してください(何も言わずにスキップするのは失敗です)。- 専用の X/Twitter リーダースキルがインストールされている場合は、それを使います。最も忠実に情報を取得できる方法です。
- 環境に
X_BEARER_TOKENがある場合は、X API v2 で直接投稿を読み取ります。 - Apify の Twitter アクター(
skills/Apify/skills/get-user-tweets.ts)または BrightData の手順が設定されている場合は、どちらかを使います。 - 上記のいずれも利用できない場合は、X がここでの自動読み取りをブロックしていることをユーザーにはっきり伝え、投稿のテキストを貼り付けるよう依頼します。そのうえで、依頼の内容そのものについては通常どおり調査します。 いずれの場合も、依頼の残りの部分は調査してください。読み取れない X URL が一つあっても、タスク全体を中止してはいけません。
- 調査エージェントは URL を幻覚します。 提示する URL はすべて必ず検証してください。リンク切れが一つでもあれば、致命的な失敗です。
- ニュース記事の要約はファンの感情ではありません。 「X についてファンはどう思ったか」という質問では、報道記事は合意を捏造したり、タイムスタンプをでっち上げたり、主催者の宣伝文句を繰り返したりします。
SourceRoutingProtocol.mdに従い、まず Reddit JSON API + X(上記の X URL ゲート手順を使用)+ YouTube にあたってください。コミュニティの感情に関する質問では、報道記事のウェブ検索は二次情報源であり、一次情報源ではありません。クイックモードでは記事の要約だけを返し、実際のファンのデータを見落とすことがあります。再度依頼されるのを待たずに、Reddit を直接調べてください。同じ失敗を繰り返さないでください。 - API を最初に、スクレイパーを次に、ウェブ検索は最後に使ってください。順序を逆にしてはいけません。 各プラットフォームで、Apify や BrightData を使う前に、必ず公式 API の手段を試してください(Reddit JSON、
X_BEARER_TOKENが設定されている場合は X API v2、YOUTUBE_API_KEYが設定されている場合は YouTube Data API v3)。スクレイパーは、API が利用できない場合、レート制限されている場合、または必要なデータ形式が取得できない場合(例:YouTube のトランスクリプトでは、Data API キーが設定されていてもfabric -yを使います)の代替手段です。手順の逆転は、繰り返し発生している失敗パターンです。プラットフォームごとの一覧はSourceRoutingProtocol.mdの Cascade Priority セクションを参照してください。 - Reddit JSON API は無料で認証不要です。Reddit の Tier 1 手段です。 スレッドまたは一覧の URL に
.jsonを追加してください。デフォルトの UA では Reddit にレート制限されるため、User-Agent: LifeOS-Research/1.0を設定してください。Apify の Reddit スクレイパーは Tier 2(代替手段)であり、Tier 1 ではありません。 - 「research」だけなら Standard モード(エージェント 3 つ+クロスチェック)を使います。Quick をデフォルトにしてはいけません。 「これを調査して」と言うユーザーは、徹底的な結果を期待しています。
- デューデリジェンス、身元調査、人探しには、Research ではなく専用の OSINT/エンティティ調査スキルを使ってください。 Research は一般的な調査を担当します。特定の人物やエンティティに関する詳細調査は、そのスキルの担当です。
- すでにコンテキスト内に答えがある場合、重複する調査エージェントを起動しないでください。 セッション内の過去の作業でトピックがすでに扱われているなら、エージェントの起動はスキップしてください。
- 「extract alpha」は ExtractWisdom スキルではなく、ExtractAlpha ワークフローに振り分けます。 これらは別のものです。
- YouTube の抽出には
fabric -y URLを直接使ってください。 WebFetch で YouTube ページをスクレイピングしようとしてはいけません。 - 反対の兆候も重要な情報です。 ファンの感情を調べる際には、ファンが何を気に入ったかと同じように、何を嫌ったかも有益な情報です。必ず「失望点」/「Tier C」セクションを含めてください。
DeepVerifiedResearch.mjsは Workflow ツール用のスクリプトであり、Markdown ワークフローではありません。WorkflowツールのscriptPathで実行してください。ファイルを読んで「手順を実行する」方法は使わないでください。重複排除、取得予算、投票数の集計、棄権ガードをコードで決定論的に実行することが、このスクリプトの要点です。実行すると多数のエージェントとライブウェブ呼び出しが発生するため、明示的なオプトインが必要です。全体で約 30~95 エージェントを実行する場合は、無断で開始せず、責任者に確認してください(または小規模なスモーク実行にはargs.test: trueを使ってください)。- Deep-verified の投票者は Claude ネイティブであり、ベンダーではなく調査の視点によって多様化されています。 2026-06-02 のスモークテストで、外部 API を使う LifeOS の調査担当(Gemini/Perplexity、およびその後削除された Grok)は Workflow の構造化出力契約を守らないことが実証されました。スキーマを強制すると、判定を出力せずに処理を完了するため、ベンダー横断の投票者は全員棄権し、すべての主張が 0 対 0 で不採用になりました。解決策は、投票者をネイティブのワークフローエージェント(信頼性の高い StructuredOutput)にし、反証の視点(引用の裏付け/矛盾点/情報源の強さ)で多様化することです。同じ教訓は検索と取得の段階にも当てはまります。スキーマで制御される段階では、ネイティブエージェントを使ってください。複数ベンダーによる多様化は、(テキストを返す調査担当を使う)
research.mjsで行い、スキーマで制御される検証エンジンでは行わないでください。主張が採用されるには、無効化の閾値に達する数の反証票がない状態で、有効な投票が定足数に達する必要があります。全員棄権した場合は採用されません(誤って採用される不具合を防ぎます)。
例
例 1:クイック検索
User: "quick research on Hono SSR middleware patterns"
→ Invokes QuickResearch workflow (1 Claude agent)
→ Returns summary with key patterns and links
→ ~10-15 seconds
例 2:標準的な複数ソースの調査
User: "research the current state of AI agent frameworks"
→ Invokes StandardResearch workflow (3 agents: Claude + Gemini + Perplexity, cross-checked)
→ Cross-references findings, confidence-tags, verifies URLs
→ Returns synthesized report with citations
→ ~30-60 seconds
例 3:詳細な調査
User: "do a deep investigation of the AI agent market"
→ Invokes DeepInvestigation workflow
→ Broad landscape scan → entity discovery → priority scoring → deep-dives
→ Builds persistent knowledge vault in MEMORY/RESEARCH/
→ Loop-compatible for multi-session investigation
実行ログ
ワークフローを完了した後、JSONL エントリを 1 つ追記します。
echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"Research","workflow":"WORKFLOW_USED","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl
WORKFLOW_USED は実行したワークフローに、8_WORD_SUMMARY は入力の簡潔な説明に、SECONDS はおおよその実時間に置き換えます。ワークフローが失敗した場合は、status: "error" を記録します。