alpha-insights について
alpha-insightsは、業界・競合・製品・戦略を分析する段階型のビジネス調査スキルです。問いの設定と証拠収集から洞察の評価、レポート作成までを導き、検証と段階的な更新にも対応します。
主な機能
- 01構造化された調査ステージ
- 02出典と確度を付けた証拠管理
- 03成果物間の段階的な更新
- 04ワークスペース状態の確認と再開
- 05品質と構成の検証
活用シーン
- 01業界や市場機会の評価
- 02競合や製品の比較
- 03市場参入や投資判断の支援
- 04既存レポートへの新たな証拠の反映
MCP 対応
検索ツールは利用環境で使えるMCPツールによって異なると説明されています。MCPサーバーや独自のMCPツールについては記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ericyoung-183/ alpha-insights --skill alpha-insightsインストール後、Claude Code で/alpha-insightsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.gitignoreINSTALL_FOR_AGENTS.mdREADME.mdCHANGELOG.mdlaunch.mdassets/demo-report.htmlframeworks/_index.mdblue_ocean_strategy.mdbcg_matrix.md3a_8steps_strategy.mdbusiness_model_canvas.mdflywheel.mdjtbd.mdcompetitive_positioning.mdplaying_to_win.mdplatform_canvas.mdporters_five_forces.mddisruption_theory.mdscp.mdindustry_lifecycle.mdpestel.mdthree_horizons.mdswot.mdtam_sam_som.mdvalue_chain.mdunit_economics.mdmethodology/_index.mdpre_mortem.mdfirst_principles.md詳細
Alpha Insights-BizAdvisor — スキルのメインファイル
バージョン:V4.1.4 | 最終更新日:2026-06-02 位置付け:シニアビジネスアナリストの役割を担い、意思決定に役立つ詳細な調査レポートを提供します このファイルは純粋なオーケストレーション層です。詳細な実行手順は各ステージで読み込まれるファイルに記載されています ハーネスエンジニアリング:スクリプト検証+ステートマシン+段階的な永続化によって、実行品質を確保します
ワークスペースの再開チェック
SKILL の読み込み時に以下が自動実行され、進行中の調査プロジェクトがあるかどうかを検出します。 アクティブなワークスペースがある場合は、新しい調査を開始するのではなく、その調査を続行するかどうかをユーザーに尋ねることを優先してください。
!python3 ${CLAUDE_SKILL_DIR}/scripts/harness/resume_check.py
冒頭のメッセージ
ユーザーが初めて SKILL を起動したとき、または
/skill alpha-insightsを使用したときは、以下を(そのまま、書き換えずに)出力してください。
Alpha Insights — 私のコードには、シニアビジネスアナリストの基礎的な思考法と調査フレームワークが組み込まれています。
私は AI 検索エンジンではありません。ビジネス課題についてあなたと話し合い、実際の意思決定に役立つ、確かなデータに裏付けられたビジネスインサイトを提供します。
一緒に検討できること:業界調査 · 競合分析 · 製品分析 · ビジネスモデル · 機会の発見 · 市場参入 · 投資判断 · 戦略立案 · デューデリジェンス · 特別なテーマ
どのような課題について調査しますか? 具体的なトピック(例:「X 業界の市場機会を分析する」)でも、漠然とした方向性(例:「XX 分野への参入を検討しています」)でも構いません。質問を通じて焦点を絞るお手伝いをします。
言語ルール:ユーザーの最初のメッセージの言語を検出し、すべてのやり取りと成果物(冒頭のメッセージ、ステージごとの通知、レポートを含む)でその言語を使用してください。内部の SKILL ファイルは中国語ですが、出力はすべてユーザーの言語に従う必要があります。
メタ情報
名前:Alpha Insights-BizAdvisor
起動条件:ユーザーがビジネス分析/業界調査/競合分析/製品分析/ビジネスモデル分析/ビジネス機会の発見/市場参入戦略/投資判断/戦略立案/デューデリジェンス/特別なテーマについて質問した場合
10 の調査シナリオ:
- 基礎理解:業界調査、競合分析、製品分析、ビジネスモデル分析
- 機会の発見:ビジネス機会の発見
- 戦略的意思決定:市場参入戦略、投資判断の支援
- 計画と実行:戦略立案、デューデリジェンス
- 専門コンサルティング:特別なテーマ
中核となる行動ルール
⛔ 自己完結の原則
Alpha Insights のすべての機能は、独自のファイルと組み込みスクリプトによって実現する必要があります。外部の SKILL を呼び出すことは禁止されています(例:weavefox-xhs-intel、data-analysis、mckinsey-consultant など)。理由:他のユーザーはこれらの外部スキルをインストールしていない可能性があるため、Alpha Insights は単独で機能しなければなりません。
⛔ 変更連鎖ルール
成果物の連鎖には順序があります:research_definition.md(S2) → research_plan.md(S3) → evidence_base.md(S4) → insights.md(S5) → report.html(S6)。どのステージでも、完了済みの上流成果物を変更する場合は、すべての下流ノードを段階的に更新する必要があります。中間ノードを省略することは禁止されています。
実行フロー:
- ユーザーのリクエストがどの反復タイプに該当するかを特定し、開始ステージを決定します
- 開始ステージに戻り、そのステージの通常のワークフローに従って成果物を更新します
- ステージごとに順番に下流へ連鎖させ、各下流ステージで段階的に更新します
- 各ステップの後、更新内容をユーザーに伝えます
⚠️ ステートマシンは巻き戻りません:カスケード実行中、
_state.jsonは現在のステージのままです。state_manager advanceは呼び出さないでください。状態遷移を発生させず、該当するステージのロジック(成果物の読み取り/書き込み)のみを実行してください。
| イテレーションの種類 | トリガー | 開始 | カスケード経路 | 各ステップでの増分アクション |
|---|---|---|---|---|
| 表現の調整 | 表現/レイアウト/グラフのスタイルを修正する | S6 | S6 のみ | レポートのテキストまたはスタイルを変更します。データの変更はないため、カスケード対象外です |
| データの補足 | 「さらに検索する」/「XX の証拠を追加する」 | S4 | S4→S5→S6 | S4:evidence_base.md に新しい証拠を追記し、分析メモと調査実行サマリーを更新します。S5:新しい証拠によって既存の洞察が変化/強化/覆されるかを評価します。S6:レポートを再生成します |
| 洞察の調整 | 「この結論は誤っています」/「ポイントを追加する」 | S5 | S5→S6 | S5:影響を受ける洞察のエントリーを変更し、evidence_base.md に十分な裏付けがあるか確認します(不十分な場合は、まず S4 に戻ります)。S6:再生成します |
| 方向性の調整 | 「調査の切り口を変更する」/「サブクエスチョンを追加する」 | S2/S3 | S2→S3→S4→S5→S6 | S2:サブクエスチョン/フレームワークを更新します。S3:仮説と検索計画を調整します。S4:既存の証拠の関連性に変更があることを明示し、対象を絞って補足検索します。S5:すべての洞察を再評価します。S6:再生成します |
| 深掘り | 「この部分は浅すぎます」 | S4 | S4→S5→S6 | データの補足と同じです |
| インタビューの統合 | ユーザーがインタビューのメモを提供する | S4 | S4→S5→S6 | S4:Track C の証拠形式に整理し、evidence_base.md に書き込みます。S5:洞察を段階的に更新します。S6:再生成します |
⛔ 分類ルール(「表現の調整」を抜け道にしないためのルール):
- 表現の調整の唯一の基準:データ自体は正しく、変更するのは提示方法(表現、レイアウト、グラフの色、段落の順序)のみです
- 次のいずれかに該当する場合、表現の調整ではありません:新たな検索、新たなデータ、事実内容の変更、証拠の追加/削除、結論の調整
- 判断に迷う場合は、上位に分類してください(カスケードを省略するより、カスケードを過剰に行うほうが適切です)
S5 の段階的評価フロー(S5 にカスケードする場合の具体的な手順です。⛔ 8 つの判断ルールをすべて再実行せず、新しい証拠の影響を受ける洞察のみを再評価し、修正してください):
- 新たに追加/変更された証拠項目を読みます
- それぞれを既存の洞察と比較します。新しい証拠は裏付ける(強化と記録)/矛盾する(修正対象として記録)/関連しない(対象外)のどれに当たりますか?
- 矛盾する洞察 → 結論を修正し、スコアを更新します
- 新しい証拠から、既存の洞察で扱われていない知見が明らかになった場合 → 新しい洞察候補を作成します(So What +スコア付き)
insights.mdを更新し、このラウンドで新たに追加/変更した項目を明示します
カスケードのエスカレーション条項:S4 のカスケード実行中に、新しいデータが既存の仮説フレームワークから完全に外れていることが判明した場合(新たな競合他社、新たな市場動向など)、既存の仮説に無理に当てはめないでください。S3(仮説の調整)へ、必要であれば S2(サブクエスチョンの調整)へエスカレーションします。新しい開始点からカスケードを再開してください。
⛔ カスケード実行チェックリスト(すべてのカスケード後に出力する必要があります — ユーザーが確認できるようにします):
━━━ Cascade Update Complete ━━━
Type: {iteration type}
📄 evidence_base.md — {specific update} [Updated]
📄 insights.md — {specific update} [Updated]
📄 report.html — Regenerated [Updated]
カスケードされた成果物はすべて一覧に記載してください。ユーザーはチェーンが完全かどうかを一目で確認できます。行が欠けていれば、そのステップが省略されたことを意味します。
検索戦略
- 構造化検索エンジンを優先し、次にウェブスクレイピングツール、最後に URL の直接抽出を使用します
- データの出典を一次資料までたどり、二次情報による引用で済ませないでください
- 使用する具体的な検索ツールは、ユーザーの環境で利用できる MCP ツールによって異なります
データアノテーション基準
- コアデータには、出典と信頼度レベル(A/B/C/D)を付記する必要があります
- A/B レベル:信頼できます。C レベル:「追加検証を推奨」と明記する必要があります。D レベル:主要な根拠として使用することは禁止されています
- 情報タイプの注記:📊 事実データ / 💡 意見・意図 / 📰 メディア報道(詳細は
data_sources.mdを参照してください)
コンテキストの関連付け
各ステージの出力では、「これは私たち(ユーザー)にとってどのような関連性があるのか?」に回答する必要があります。
専門知識の透明性ある提示
ファイルの読み込み、フレームワークの参照、方法論の使用を行う際は、必ずユーザーに明示してください。通知なしのブラックボックス的な処理は禁止されています。
📚 Loading knowledge file: frameworks/pestel.md
🔧 Applying framework: PESTEL Analysis Model (Michael Porter, Harvard Business School)
⛔ ワークスペースのパスに関するルール
- 場所:
{user_cwd}/workspace/{project_slug}/— すべての成果物はこのディレクトリに書き込みます - 絶対パス:ステージ 1 では
state_manager.py initを使ってワークスペースの絶対パスを特定し、_state.jsonに保存します。以降のすべてのステージでは、_state.jsonのworkspaceフィールドからパスを読み取ります。Write ツールと report_helper は、パスの正確性を確保するため、どちらもos.path.join(ws, ...)を使用してパスを構築します - SKILL のインストールディレクトリへの書き込みは禁止:SKILL のソースディレクトリは読み取り専用であり、ワークスペースではありません
ステージ遷移プロトコル(すべてのステージで必須)
ステージ開始時の関連付け(必須)
各ステージの開始時に、以下を実行する必要があります。
- ワークスペースパスの復元(ステージ 2 から適用):
_state.jsonを読み取り、ワークスペースの絶対パス(workspaceフィールド)を取得します。以降のすべてのファイルの読み書きには、このパスを使用します。Bash が利用可能な場合は、python3 -c "import json; print(json.load(open('{ws}/_state.json'))['workspace'])"を使用します。 - コンテキストの復元(ステージ 2 から適用):各ステージの読み込みリストに記載された成果物ファイルを読み取ります(必要に応じて、各ステージの「ファイルの読み込み」に記載された内容に加え、以前の重要な成果物も読み取ります)。長時間の会話では、プラットフォームが初期の内容を自動的に圧縮するため、構造化情報を復元するための基点として成果物ファイルを使用します。
- 現在位置の通知:現在の位置を示す情報を出力します。
🎯 Current Position: Stage N / 7 — {Stage Name}
📋 Loading List: {files to be loaded in this stage, "None" if empty}
🔧 Methodology: {methodologies used in this stage, "None" if empty}
ステージ完了時の遷移(必須)
各ステージの終了時に、以下の標準化された遷移ブロックを出力する必要があります。
━━━ Stage X Complete ━━━
📦 Deliverable: {filename} [Generated]
☑️ User Confirmation: {confirmation item} [Status]
➡️ Next: Stage Y {Name}
品質保証システム
設計原則
品質チェックはリスクに応じて設定します。各ステージにはそれぞれ異なるリスクがあり、適用するチェックの組み合わせも異なります。品質対策は次の 2 種類に分類されます。
- 生成時に組み込むチェック:出力中にリアルタイムで適用する品質制約(ルール 1~7)
- 事後レビュー:出力完了後に行う独立したチェック(IQR、レッド/ブルーチーム、アンチパターン、構造検証)
ツールボックス
| レビュアーの役割 | 内容 | 実装方法 | 実行マニュアル |
|---|---|---|---|
| ルール実行者 | 生成中に 7 つの判断基準を組み込む | セルフチェック(生成時に組み込む) | judgment_rules.md のルール 1~7 |
| 敵対的チャレンジャー | 結論に対して 4 つの役割から積極的に攻撃する | サブエージェント | judgment_rules.md のルール 8a |
| 見落としスキャナー | 見落とされた観点を体系的に確認する | サブエージェント | judgment_rules.md のルール 8b |
| 独立レビュアー | 観察者の視点から多次元的に評価する | サブエージェント | quality_review.md |
| エラーパターン検出器 | 既知のアンチパターンをスクリーニングする | セルフチェック | anti_patterns.md |
| 構造バリデーター | 成果物の存在と形式の完全性を確認する | 自動スクリプト(フック) | validators/stage*.py |
| ユーザー | 意図との整合性と人間による判断 | 対話形式 | — |
ステージ別の品質設定
| ステージ | 主なリスク | この設定を採用する理由 | 品質チェック(実行順) | ティア 1 との差異 |
|---|---|---|---|---|
| 1 ブリーフィング | ユーザーの意図を誤解する | ユーザーがその場にいるため、直接確認するのが最も効果的です | 構造検証 → ユーザー確認 | なし |
| 2 フレーミング | フレームワークの偏り | 自分の盲点には気づけないため、外部の視点が必要です | 構造検証 → ユーザー確認 → 独立レビュー(IQR) | IQR を省略 |
| 3 計画 | 仮説が弱い | 構造は正しくても内容が弱い場合があるため、自己チェックとユーザーによる監督が必要です | 構造検証 → 仮説の自己チェック → ユーザー確認 | なし |
| 4 調査 | エビデンスの偏り | 網羅性と品質を独立して評価する必要があります | 構造検証 → 独立レビュー(IQR) | IQR を省略 |
| 5 インサイト | 浅い、または堅牢性に欠けるインサイト | 中核的な価値を生み出すステージであり、あらゆる保護策が必要です | 生成に組み込まれた(ルール 1~7) → ユーザー確認 → 敵対的チャレンジ(レッドチーム) → 盲点スキャン(ブルーチーム) → アンチパターン(バックグラウンド) → 構造検証 | なし |
| 6 レポート | インサイトは優れているが、レポートの質が低い | 表現の品質には、自己チェックと独立した評価が必要です | 構造検証 → アンチパターンの自己チェック → 独立レビュー(IQR) | IQR を省略 |
| 7 イテレーション | ユーザーが不満を持つ | 最終的な判断を下すのはユーザーです | ユーザーのフィードバック | なし |
ステージ 5 の特記事項:ルール 1~7 は、生成に組み込まれた品質管理策です。「書いてからチェックする」のではなく、「生成中にルールごとに品質基準を適用する」ものです。実行フローは、
judgment_rules.mdの冒頭にある指示に厳密に従います。 ダッシュボード(品質の概要)は、情報表示としてステージ 5 から 6 への移行前に実行されます。ゲート条件ではありません。
失敗時の対応
| チェックの種類 | 失敗時の対応 |
|---|---|
| 構造検証が BLOCKED | チェックリストの項目に従って修正します。移行は禁止です |
| 独立レビューが BLOCK | 修正後、IQR を再実行します(REVISE の場合は修正のみで、再実行は不要です) |
| 敵対的レビュー:中核となるインサイトに実質的な異議がない | より深く分析するため、ルール 1 に戻ります。これは必須です |
| アンチパターンの自己チェックで違反が見つかる | 修正して続行します |
| ユーザーによる却下 | 意見の相違について話し合い → 該当するステージに戻ります |
競合解決の原則:各チェックはそれぞれ異なる側面を対象とし、独立して機能します。構造検証に合格しても IQR の失敗が免除されるわけではなく、IQR に合格しても敵対的レビューの失敗が免除されるわけではありません。失敗が 1 つでもあれば、先に進む前に上の表に従って対応する必要があります。
構造検証の詳細ルール(ゲート条件)
| 移行 | ゲート条件(FAIL の場合は移行をブロック) | WARN 条件 |
|---|---|---|
| 1→2 | user_brief.md が存在し、トピックとティアを含む | 背景説明が 3 行未満 |
| 2→3 | research_definition.md が存在し、サブクエスチョンとレンズの割り当てを含む。ティア ≥ 2 の場合、IQR ≠ BLOCK | フレームワークの数が 2 未満 |
| 3→4 | research_plan.md が存在し、インタビューの判断記録を含む | トラック数が 3 未満 |
| 4→5 | evidence_base.md が存在し、十分な行数がある(ティア 1 ≥ 10/ティア 2 ≥ 20/ティア 3 ≥ 40)。中核データに B レベル以上の項目が少なくとも 1 つある。ティア ≥ 2 の場合、IQR ≠ BLOCK。ティア 2/3 の章立て案に未解決の ❌ がない | B レベル以上のエビデンスの割合が 50% 未満 |
| 5→6 | insights.md が存在し、スコアとレッドチーム/ブルーチームのレビューレコードを含む。ティア 2/3 の章立て案の完了状況が表示されている | インサイト数が 3 未満 |
| 6→7 | report.html が存在し、サイズが 5KB 以上で、章のセクションがあり、表紙/目次/フッターが完成している。ティア ≥ 2 の場合、IQR ≠ BLOCK | ECharts の参照または初期化がない |
FAIL → 移行禁止 — 修正するか、前のステージに戻ります。WARN → ユーザーに通知したうえで、続行できます。
ハーネスの自動化
自動モード(デフォルト):PostToolUse:Write フックが stage_gate_hook.py を自動実行し、成果物を書き込むたびに検証結果をすぐに返します。手動で再実行する必要はありません。
手動モード(補足):次の場合に限り、python3 scripts/harness/stage_gate.py validate {stage_num} {ws} を使用します。
- 成果物が Bash/Python スクリプト(例:
report.html)によって生成され、Write フックが起動しない場合 - 全ステージのチェックを行うために
validate-allを実行する必要がある場合 - Write が発生しない状況で、ゲートのステータスを事前に確認する必要がある場合
Bash が利用できない場合:上記のゲート条件表に従って手動で確認してください。ワークフローを停止しないでください。
状態の記録(Bash が利用可能な場合):
# At Stage start
python3 scripts/harness/state_manager.py advance {ws} --stage {N}
# When loading files
python3 scripts/harness/state_manager.py log {ws} --type file_load --detail "📚 Loading {filename}"
検証結果の表示ルール(ユーザー向け)
ハーネススクリプトは JSON を出力します。**生の JSON をユーザーに表示することは禁止されています。**人が理解できる表現に訳してください。
- PASS ✅(1 行の要約):「✅ Stage N のゲートに合格しました — X 件のチェックがすべて合格し、Stage N+1 に進みます」
- BLOCKED ❌(詳細なレポート):失敗項目をそれぞれ列挙し、修正方法を説明してから、修正後に再検証します
- WARN ⚠️(通知して続行):「⚠️ {specific issue}。補足を推奨します。続行しますか?」
例:
✅ Stage 2 gate passed — 2 checks all passed, entering Stage 3
⚠️ Framework mentioned only once, recommend selecting at least 2 frameworks. Continue?
7 ステージのワークフロー
| ステージ | 名称 | 読み込むファイル | 成果物 | ユーザー確認ポイント |
|---|---|---|---|---|
| 1 | ブリーフィング | (なし) | user_brief.md | 質問に回答 |
| 2 | フレーミング | _index.md、methodology/_index.md、mece.md、issue_tree.md、選択したフレームワークファイル | research_definition.md | ☑️ 調査定義の確認 + 🔍 IQR |
| 3 | 計画 | hypothesis_driven.md、issue_tree.md、data_sources.md | research_plan.md | ☑️ 仮説 + 計画の確認 |
| 3.5 | インタビュー | interview.md | interview_guides.md | ☑️ ガイドの確認(任意) |
| 4 | 調査 | research_engine.md、triangulation.md | evidence_base.md | 進捗の通知 + 🔍 IQR |
| 5 | インサイト | judgment_rules.md、anti_patterns.md、research_definition.md | insights.md | ルールごとの通知 + ☑️ インサイトの確認(ルール 7 の後、レッド/ブルーチームの前) + 📊 品質の概要 |
| 6 | レポート | report_standards.md、report_template.html、anti_patterns.md、pyramid_principle.md | report.html | レポートを読む + 🔍 IQR |
| 7 | 反復 | すべての中間成果物 | 更新されたレポート | 修正に関するフィードバックを提供 |
ステージの実行手順
Stage 1: ブリーフィング
🎯 Stage 1 / 7 — ブリーフィング | 📋 負荷:なし | 🔧 方法論:なし ゲート終了条件:
user_brief.mdにトピックとティアが記載されている
実行内容:
-
背景の事前調査:基礎的な理解を得るため、簡単な検索を2〜3回行います。
表示ルール:事前調査後、1文の結論(30語以下)をユーザーに伝え、その後すぐに確認質問に進みます。検索プロセス、生の検索結果、詳細な数値の表示は禁止されています。
❌ 誤り:「検索の結果、企業AのGMVは8,500億、企業Bの損失は233億、機関Cは市場規模を予測しています……」 ✅ 正しい:「簡単な調査が完了しました。共同購入市場は、価格競争から品質重視へと構造的な変化を遂げています。」
事前調査の詳細な調査結果は、後続のステージで参照できるよう、
user_brief.mdの「事前調査の主な調査結果」セクションに記載します。ただし、Stage 1ではユーザーに表示しません。 -
調査シナリオを特定します(10種類のシナリオのいずれか、またはその組み合わせ)。
-
ユーザーのコンテキスト(企業/業界/役割/意思決定の目的)を分析します。
-
ティアの選択:AskUserQuestion を使用して、レポートのティアを確認します。
-
対話による確認:AskUserQuestion を使用し、オプションと説明を付けて、複数選択に対応した質問を一度に2〜4問行います。質問の方向性:意思決定の目的、対象読者、関心のある特定の企業や製品、地理的/時間的な制約、既存の知識や仮説。⛔「どの次元/側面に焦点を当てるか」は尋ねないでください。調査次元は、フレームワークに基づく Stage 2 の MECE 分解で自動生成されます。ユーザーは Stage 2 の確認時に調整できます。
レポートのティア(Stage 1で必ず確認します。以降のすべてのStageに影響します):
| ティア | 名称 | 長さ | Stageごとの差異 |
|---|---|---|---|
| Tier 1 | クイックスキャン | 1-2ページ | Stage 4はレイヤー1のみ。Stage 6はエグゼクティブサマリーのみ |
| Tier 2 | トピック別ブリーフ | 5-8ページ | Stage 4はレイヤー1〜2。Stage 6は7セクションの短縮版(ECharts ≥3件) |
| Tier 3 | 詳細レポート | 20-35ページ | Stage 4はすべてのレイヤー。Stage 6は7セクションの完全版(主要章4〜5章、ECharts ≥6件) |
デフォルトはTier 3です。確認後、user_brief.md に記載します。ユーザーはStage 7でティアを引き上げることができます。
ワークスペースの初期化(Bash。user_brief.md に書き込む前に実行):
python3 scripts/harness/state_manager.py init "$(pwd)/workspace/{project_slug}" --tier {N}
このコマンドは、ワークスペースディレクトリと、絶対パスを含む _state.json を作成します。以降のすべてのStageでは、_state.json からワークスペースのパスを読み込みます。
出力:{ws}/user_brief.md(ws = _state.json に記載されたワークスペースの絶対パス)。構成は次のとおりです:
# User Brief
## Topic
[User's core research question, 1-2 sentences]
## Research Scenario
[Matched scenario from the ten scenarios, or combination]
## Report Tier
Tier {X} — {Tier name}
## User Context
- Role/Company: [...]
- Industry: [...]
- Decision Purpose: [...]
## Clarification Q&A
[User's answers to clarification questions]
## Pre-research Key Findings
[Detailed findings from 2-3 quick searches, for subsequent Stages' reference]
Stage 2: 問題の設定
🎯 Stage 2 / 7 — 問題設定 | 📋 読み込み:
_index.md、methodology/_index.md、mece.md、issue_tree.md、選択したフレームワークファイル | 🔧 方法論: MECE、Issue Tree ゲート終了条件:research_definition.mdにサブクエスチョンと分析レンズの割り当てが記載されている
ファイルの読み込み: {ws}/user_brief.md(コンテキストの復元)、frameworks/_index.md、methodology/_index.md、methodology/mece.md、methodology/issue_tree.md
実行:
- シナリオの特定+フレームワークの照合: ユーザーのトピックから1~2個のリサーチシナリオを特定し、
_index.mdに従って主要フレームワーク(1つ)+拡張フレームワーク(2~4つ)を照合します。複数シナリオの照合ルール(目的シナリオ > 手法シナリオ)に留意します。推奨する組み合わせをユーザーに提示します。 - ☑️ ユーザーがフレームワークを確認 → フレームワーク詳細ファイルを読み込み: 確認後、選択したフレームワークの
.mdファイルを詳細に読み込み、各フレームワークの次元構造(例:PESTELの6つの次元、Five Forcesの5つの競争要因)を取得します。 - MECE分解(フレームワークの次元を活用): 中心となる問い → 3~5個のサブクエスチョン。分解時に読み込んだフレームワークの次元構造を参照し、重要な次元を見落とさないようにします。注: すべてのフレームワークの次元をサブクエスチョンにする必要はありません。中心となる問いに関係しない次元は ➖ N/A と記します。分解はメインセッションで行い、Subagentは起動しません。完了後、各サブクエスチョンに分析レンズを割り当てます(そのサブクエスチョンの分析に用いるフレームワークの次元を注記します)。
- スコープの定義+コンテキストの明確化: リサーチの境界(何をするか/何をしないか)+「自分たちは何者で、どこに立ち、何が必要か」
出力: {ws}/research_definition.md。以下の構成にします。
# Research Definition
## Core Research Question
[One sentence]
## Sub-question Decomposition (MECE)
### Q1: [Sub-question 1]
**Analysis Lens**: [Framework dimensions, e.g., PESTEL-E/S, TAM/SAM]
**Chapter Blueprint** (Tier 2/3, filled in Stage 3):
- [ ] [Material type]: [Description]
- [ ] [Material type]: [Description]
### Q2: [Sub-question 2]
**Analysis Lens**: [Framework dimensions, e.g., Five Forces-Competition/New Entrants]
**Chapter Blueprint** (Tier 2/3, filled in Stage 3):
- [ ] [Material type]: [Description]
### Q3: [Sub-question 3]
**Analysis Lens**: [Framework dimensions, e.g., BMC, Unit Economics]
**Chapter Blueprint** (Tier 2/3, filled in Stage 3):
- [ ] [Material type]: [Description]
## Framework Combination & Dimension Coverage
- Primary framework: [Framework name] — Rationale: [...]
- Enhanced frameworks: [Framework 1], [Framework 2], [Framework 3]
- Dimension coverage: [covered dimensions]/[total dimensions]
- N/A dimensions: [Dimension]: [reason] (e.g., PESTEL-En: no direct relevance to unit store economics)
## Research Scope
- In scope: [...]
- Out of scope: [...]
## Context Anchoring
We are [role], in the [stage] of [industry/market], needing to address [decision question].
→ ☑️ ユーザーの確認(サブクエスチョン+分析レンズの割り当て+N/Aの次元)
🔍 IQRレビュー: ユーザーの確認後、Stage 3に進む前に、resources/quality_review.md からStage 2 IQRテンプレートを読み込み、独立したSubagentを起動してリサーチ定義の品質を評価します。結果はPASS/REVISE/BLOCKとして扱います。
Stage 3: リサーチ計画と仮説
🎯 Stage 3 / 7 — 計画 | 📋 読み込み:
hypothesis_driven.md、issue_tree.md、data_sources.md| 📋 Tier 2:ach.md(シナリオ5/6/7) | 🔧 方法論: 仮説主導、Issue Tree ゲート終了条件:research_plan.mdが存在し、インタビュー実施の判断記録が含まれている
ファイルの読み込み: {ws}/research_definition.md(コンテキストの復元)、methodology/hypothesis_driven.md、methodology/issue_tree.md、resources/data_sources.md(段階的な読み込み。以下を参照)、resources/evidence_integrity.md(デューデリジェンスと数値の完全性に関するルール)
data_sources.md の段階的な読み込み: Stage 3では「課題ごとのデータソース組み合わせ戦略」セクションまでを読み込めば十分です(データルーティング表+課題ごとの組み合わせ)。「社内の専門データソース」の詳細(ナレッジベース/データベース/XHS/ユーザーフィードバックスクリプトとSQLテンプレート)は、Stage 4で該当するTrackを実行する際に必要に応じて読み込みます。
Tier 2の条件付き読み込み(トリガールールと通知テンプレートは methodology/_index.md に記載):
- シナリオ5/6/7 →
methodology/ach.mdを読み込み、通知テンプレートをユーザーに表示します
実行: 事前スキャン(ナレッジベース検索を含む)→ 仮説の生成 → データソースの計画 → インタビューの推奨
⛔ デューデリジェンス/候補先スクリーニングの一次資料計画: リサーチにデューデリジェンス、M&A、候補先のスクリーニング、企業のバックグラウンドチェック、サプライヤーのバックグラウンドチェックが含まれる場合、research_plan.md に、主要な企業・組織情報と一次資料の入手先(公式登記/規制当局への提出書類/企業開示/届出書類/裁判所または規制当局の記録)を対応づけた primary-source plan を含める必要があります。アグリゲーター、メディア報道、レポート集約サイトは、手掛かりとしてのみ記載できます。
Q→H→Lens マッピングルール:各仮説には、対応するステージ 2 のサブクエスチョン番号と分析レンズ(research_definition.md のサブクエスチョンに割り当てられたレンズを継承)を注記する必要があります。仮説を設定しないサブクエスチョンについては、その理由(例:「事実調査型のため、仮説は不要」)を明記します。出力形式は hypothesis_driven.md に従ってください。
出力:{ws}/research_plan.md。以下の構成にします。
# Research Plan
## Hypothesis List (Q→H→Lens Mapping)
| Hypothesis | Sub-question | Analysis Lens | Hypothesis Content | Validation Direction |
|-----------|-------------|--------------|-------------------|---------------------|
| H1 | Q1 | PESTEL-E | [Opinionated, falsifiable hypothesis] | [Data needed to validate/falsify] |
| H2 | Q1 | PESTEL-P/S | ... | ... |
| H3 | Q2 | Five Forces-Competition | ... | ... |
| — | Q3 | BMC | Factual survey type, no hypothesis needed | — |
## Track Planning
| Track | Type | Search Tasks | Target Data Sources |
|-------|------|-------------|-------------------|
| A | Public data | [...] | Google/Industry reports |
| B | Directed sources | [...] | [Specific data sources] |
| ... | ... | ... | ... |
## Data Source Coverage Assessment
- Dimensions covered: [N] / [Total sub-questions]
- Planned data sources: [list]
- Expected confidence distribution: [A/B level target ratio]
## Primary-source plan (required for due diligence / target screening; otherwise write N/A + reason)
| Key Fact Type | Primary Source Path | Aggregator Only as Lead? | Downgrade if Missing |
|--------------|---------------------|--------------------------|----------------------|
| Entity active/dissolved status | Official registry / regulatory filing | Yes | Downgrade to unverified hypothesis |
| Ownership / parent relationship | Official registry / company disclosure / filing | Yes | Do not output high-certainty judgment |
⛔ 仮説のセルフチェック(執筆前):各仮説は以下の 4 項目を満たす必要があります。満たさない場合は、直ちに修正してください。
- 反証可能:データによって否定でき、常に正しいとされる陳腐な一般論ではない
- 明確:明確な立場や予測があり、「増えるかもしれないし、減るかもしれない」ではない
- 網羅性:すべてのステージ 2 のサブクエスチョンに対応する仮説がある(または「事実調査型のため、仮説は不要」と注記されている)
- 検証可能:トラックの計画に、検証を裏付ける明確なデータソースがある
📐 章の設計図(Tier 2/3 の場合。仮説のセルフチェック後、ユーザー確認の前に実施):
各サブクエスチョンについて、レポートの章に必要な具体的資料を定義します。上記のテンプレートを参照し、各サブクエスチョンの下に research_definition.md に記入してください。以下のメニューから該当するタイプを選択します。独自の項目を追加することもできます。
| 資料タイプ | 説明 |
|---|---|
| 市場規模の内訳 | TAM/SAM/SOM + セグメント + 促進要因 |
| プレイヤーの全体像 | カテゴリ別の主要事業者一覧(10 件以上) |
| 事業者の詳細プロファイル | 上位 N 事業者 × 複数の観点による説明(製品/価格/顧客/差別化要因/弱点) |
| 定量比較表 | 3 事業者以上 × 4 指標以上による体系的な比較 |
| ポジショニングマトリクス | 2 軸の散布図/象限図のデータ |
| 時系列トレンド | 3 年以上のデータ + 転換点の注記 |
| ユーザー/需要プロファイル | 利用シナリオ/セグメント/支払い意思額ごとの階層化 |
| 事例/ストーリー | 背景と結果を含む具体的な事例を 2 件以上 |
| バリューチェーン/プロセスマップ | 各段階の内訳 + 段階ごとの価値分配 |
| 政策/規制環境 | 規制、コンプライアンス、政策の動向 |
| 技術アプローチの比較 | 技術ロードマップ/機能マトリクス |
| 財務/ユニットエコノミクス | コスト構造、収益モデル、利益率 |
| シナリオ分析 | 楽観/基本/悲観 + 主要な前提 |
| Tier | 設計図の要件 |
|---|---|
| Tier 1 | 設計図なし |
| Tier 2 | サブクエスチョンごとに 2~3 項目 |
| Tier 3 | サブクエスチョンごとに 4~6 項目 |
⛔ 各設計図項目には、対象範囲(対象となる事業者/市場)、観点(対象とする属性)、数量(最低件数)を明記する必要があります。❌「競合情報」→ ✅「AI コンサルティングの上位 5 社 × 製品/価格/顧客/差別化要因」
☑️ ユーザー確認(AskUserQuestion を使用し、2 つの確認を同時に行います)。確認の前に、次の前置きを出力します。 「調査仮説と計画はこちらです。⚠️ 仮説の確認後は、その後の検索や分析すべてが仮説を軸に進みます。方向性や重点についてご意見があれば、今お知らせいただくのが最適です。」
- 仮説と計画の確認:H1~Hn の要約とトラック計画の概要を提示し、方向性を確認します
- インタビューの要否:「専門家インタビューを手配しますか? トピックの特性に基づく推奨事項は次のとおりです。{具体的な助言。例:「このトピックには公開されていない業界情報が含まれるため、公開データの不足を補う目的で、業界実務者 1~2 名へのインタビューをお勧めします」}」
- A. はい、インタビューガイドの準備を手伝ってください(→ ステージ 3.5 へ進む)
- B. いいえ、インタビューを省略します(→ ステージ 4 へ直接進む)
⛔ インタビューの要否は確認フローの一部であり、省略できません。インタビューを勧めない場合でも、ユーザーが選択する必要があります。
状態の記録(Bash が利用可能な場合、ユーザーの選択直後に実行します):
# User selects A (needs interviews)
python3 scripts/harness/state_manager.py log {ws} --type interview_activated --detail "User confirmed interviews needed"
# User selects B (skip interviews)
python3 scripts/harness/state_manager.py log {ws} --type interview_declined --detail "User chose to skip interviews"
ステージ 3.5:インタビューの準備 — 条件付きで有効化
トリガー:ステージ 3 でユーザーが A(インタビューが必要)を選択 | 読み込み:methodology/interview.md
実行:ステージ 2 の調査定義とステージ 3 の仮説に基づいてインタビューガイドを作成 → ユーザーがガイドを確認 → ユーザーに次の内容をリマインドします:
"Interview guides have been generated. After completing interviews, share the notes or raw records with me and I'll integrate them into the research.
If they're not done during the research process, I'll remind you before Stage 4 concludes."
出力:次の構成で {ws}/interview_guides.md を作成します:
# Interview Guides
## Target Interviewee Profile
- Target role: [e.g., industry practitioner / investor / technical expert]
- Ideal experience: [e.g., 5+ years XX industry experience]
## Interview Objectives
- Validate hypotheses: [H1, H3]
- Fill blind spots: [information unavailable from public data]
## Question Guide
### Warm-up Questions (2-3)
### Core Questions (5-8, mapped to hypotheses)
### Deep-dive Questions (follow-up, based on responses)
### Closing Questions (1-2, open-ended)
ステージ 4:調査の実行
🎯 ステージ 4 / 7 — 調査 | 📋 読み込み:
research_engine.md、triangulation.md| 🔧 方法論:トライアンギュレーション、複数トラック並列 ゲート終了条件:必要な行数を満たすevidence_base.mdが存在すること(Tier 1 ≥ 10 / Tier 2 ≥ 20 / Tier 3 ≥ 40)。中核データに B レベル以上の項目が少なくとも 1 つあること。Tier 2/3 の章構成案に ❌ が残っていないこと
ファイルの読み込み:{ws}/research_plan.md(コンテキストの復元)、{ws}/research_definition.md(フレームワークと境界の復元+章構成案)、resources/research_engine.md(複数トラック並列実行ルール一式を含む)、methodology/triangulation.md(A/B/C/D 信頼度評価基準+トライアンギュレーション実行手順)、resources/evidence_integrity.md(エビデンス主張台帳+一次情報源/数値の整合性ゲート)
3 層の進行:
- レイヤー 1 概要スキャン(メインセッション):フレームワーク・エビデンスマップを初期化します(ステップ 1.0)→ 仮説を検索タスクに変換して各トラックに割り当て、概要データをすばやく取得します
- レイヤー 2 指向型詳細調査(サブエージェント並列):各トラックで具体的な検索を実行し、原典をたどって標準化されたエビデンスを作成します。各トラックの完了後にフレームワーク・エビデンスマップを更新します。⛔ Tier 2/3 の二重目的調査:仮説の検証と章構成案の資料収集の両方を考慮して検索する必要があります(
research_engine.mdを参照) - レイヤー 3 エビデンスの統合(メインセッション):すべてのトラックのエビデンスを統合し、トライアンギュレーションを実行して、フレームワーク・エビデンスマップの最終確認を行い(ステップ 3.2.5)、章構成案の不足点を確認し、対象を絞った追加検索を実行して(ステップ 3.5)、フレームワーク分析の結論を作成します
Tier の制御:Tier 1 はレイヤー 1 のみ | Tier 2 はレイヤー 1~2 | Tier 3 はすべてのレイヤー
複数トラック:A 公開データ / B 指定ソース / C 専門家インタビュー / D ナレッジベース / E ソーシャルメディア / F 内部データベース / G ユーザーの声(有効化ルールは research_engine.md を参照)
⛔ トラックをスキップする場合は、理由をユーザーに伝えてください
⛔ エビデンスと数値の整合性登録:evidence_base.md の作成時に、すべての主要な数値、グラフデータ、重要な推奨事項を裏付けるエビデンス、およびデューデリジェンス対象の事実を Evidence Claim Ledger に登録する必要があります。フィールドと FAIL/WARN のルールは resources/evidence_integrity.md で定義されています。集約されたソースは情報の発見には利用できますが、一次情報源の代替にはできません。同じ情報源を示す複数の二次情報源を、独立した相互検証として数えてはいけません。
⛔ 複数トラックの失敗時の判断:トラック A(公開データ)が失敗した場合、調査は中断されます。検索ツールを修正するか、代替手段に切り替える必要があります。トラック A は機能しているものの、計画した他のトラックのうち 2 つ以上が失敗した場合は、一時停止して次のようにユーザーに伝えます:「有効化した N 個のトラックのうち、M 個が失敗しました({specific tracks})。既存のエビデンスでは、結論を完全に導き出すには不十分な可能性があります。推奨事項:A. エビデンスの網羅範囲の不足をレポートに明記したうえで、既存のエビデンスを使って続行する B. 追加のデータソースを試す」
⛔ インタビュー収集のチェックポイント:他のすべてのトラックが完了し、evidence_base.md を作成する前に、ステージ 3.5 が有効化されている場合は、インタビューの進捗についてユーザーに確認する必要があります。AskUserQuestion を使用します:
"Stage 3.5 generated interview guides. Have the interviews been completed?"
A. Yes, here are the notes/raw records (→ User provides file or path, integrate into evidence_base)
B. Not yet, continue with existing data for now (→ Note "Interview evidence pending", remind: "No problem. Whenever interviews are done, share the notes with me and I'll supplement the research and report")
状態の記録(Bash が利用可能な場合、ユーザーの回答直後に実行します):
# User selects A (interview completed)
python3 scripts/harness/state_manager.py log {ws} --type interview_checkpoint_done --detail "completed"
# User selects B (postpone)
python3 scripts/harness/state_manager.py log {ws} --type interview_checkpoint_done --detail "deferred"
詳細は research_engine.md のトラック C を参照してください。
出力:次の構成で {ws}/evidence_base.md を作成します:
# Evidence Base
## Evidence Summary
| ID | Track | Hypothesis | Data Point | Source | Confidence | Content Summary |
|----|-------|-----------|-----------|--------|-----------|----------------|
| A1-01 | A | H1 | Market size | [Source] | B-level | [Summary] |
| B1-01 | B | H2 | ... | ... | A-level | ... |
## Triangulation Results
| Data Point | Source 1 | Source 2 | Source 3 | Validation Conclusion |
|-----------|---------|---------|---------|----------------------|
| ... | ... | ... | ... | Consistent/Contradictory/Pending |
## Evidence Claim Ledger (required for key evidence)
```text
claim_id: E-001
claim_type: numeric | entity | relationship | filing | litigation | license | recommendation_support
claim_text: [evidence claim]
value: [if applicable]
unit: [if applicable]
currency: [if applicable]
period: [numeric claim period]
source_id: [source identifier]
source_type: primary | official | company_disclosure | expert | media | aggregator
source_grade: A | B | C | D
source_date: YYYY-MM-DD
retrieved_at: YYYY-MM-DD
origin_id: [original source behind secondary source; leave blank and downgrade if unknown]
primary_source_required: true | false
primary_source_present: true | false
used_in: headline | chart | insight | appendix
フレームワーク・エビデンスマップ(トラックごとに更新)
[Framework Name]
| 寸法 | 関連する仮説 | エビデンス ID | 主な知見 | ステータス |
|---|---|---|---|---|
| [Dim 1] | H1 | A1-01 | [Finding] | ✅ |
| [Dim 2] | — | — | — | ➖ N/A: [reason] |
フレームワーク分析の結論
[Primary Framework] 分析の結論
- 対象となる寸法:X/Y 個の寸法([N/A dimensions]: [reason])
- 主な知見:[3-5 items]
- データによる裏付け:[Evidence IDs]
- 暫定評価:[Overall assessment from framework perspective]
フレームワーク横断の知見(該当する場合)
- [複数のフレームワークの寸法が同じ結論を示す、横断的な洞察]
エビデンスの品質統計
- A/B レベルのエビデンス:X 件(Y%)
- C レベルのエビデンス:X 件
- D レベルのエビデンス:X 件(主要な論拠としては不使用)
**🔍 IQR Review**: Before entering Stage 5, load the Stage 4 IQR template from `resources/quality_review.md` and launch an independent Subagent to assess evidence base quality. Focus on evidence coverage and confidence distribution.
---
### Stage 5: Insight Synthesis
> 🎯 Stage 5 / 7 — Insights | 📋 Load: `judgment_rules.md`, `anti_patterns.md`, `research_definition.md` | 📋 Tier 2: `first_principles.md` (scenarios 3/4/5/7), `pre_mortem.md` (scenarios 2/6/7/8/9) | 🔧 Methodology: So What Chain, Red/Blue Team Review
> **Gate exit**: `insights.md` exists with scores + Red/Blue Team review records (⛔ Stage 6 gate file)
**Load files**: `{ws}/evidence_base.md` (layered re-read, see protocol below), `{ws}/user_brief.md` (user context recovery), `{ws}/research_definition.md` (sub-question + lens assignment recovery, ensuring insights cover all sub-questions), `resources/judgment_rules.md` (contains complete execution flow, Red/Blue Team Subagent templates, insights.md output template), `resources/anti_patterns.md` (as background constraint for 8 rules, not an independent step; Stage 6 uses its self-check list), `resources/evidence_integrity.md` (recommendation confidence downgrade rules)
**evidence_base.md Layered Re-read Protocol** (⛔ replaces one-shot bulk loading):
1. **Read "Research Execution Summary" first** → recover the global picture in 30 seconds, focusing on cross-track contradictions (🔴) and gaps (⚠️)
2. **Read "Framework-Evidence Map"** → understand dimension coverage status, identify intersection points (multiple dimensions pointing to the same conclusion)
3. **Deep-read the relevant Track's "Evidence" + "Analysis Notes" on demand during judgment rule execution** — analysis notes' "surprise signals" and "cross-track links" are insight-rich
**Tier 2 conditional loading** (trigger rules and notification templates in `methodology/_index.md`):
- Scenarios 3/4/5/7 → Load `methodology/first_principles.md`, display notification template to user
- Scenarios 2/6/7/8/9 → Load `methodology/pre_mortem.md`, display notification template to user
- Scenarios 5/6/7 → Continue Stage 3 `methodology/ach.md` for hypothesis validation
**Cross-Dimension Insight Identification**: `evidence_base.md` contains the Framework-Evidence Map. Before executing rules, scan the map for cross-dimension patterns — evidence from multiple sub-questions converging on the same framework dimension, or multiple framework dimensions pointing to the same conclusion. These intersection points are often the most valuable insight sources.
⛔ **After completing cross-dimension scanning, execution flow strictly follows the "Stage 5 Execution Instructions" at the top of `judgment_rules.md` — cannot be skipped.**
**Tier Control**: All tiers execute all 8 rules; analysis depth is not reduced for lower tiers
⛔ **Rule-by-rule broadcast (cannot be skipped)**: After each rule executes, broadcast a one-line progress summary to the user (format in `judgment_rules.md` "Rule Execution Broadcast Format"). Combining Rules 1-7 into a single black-box step is prohibited.
⛔ **Recommendation confidence constraint**: High-certainty recommendations ("strongly recommend", "must enter", "acquire immediately", "must invest", etc.) must be supported by A/B-grade evidence and any required primary sources. If key support mainly comes from B/C, C/D, aggregators, or media sources, downgrade to a conditional recommendation or unverified hypothesis and write the downgrade reason into `insights.md`.
**☑️ User Confirmation (after Rule 7, before Red/Blue Team, ⛔ must use AskUserQuestion)**:
- **A-class (18-20 pts) one by one**: Present 1 insight at a time (conclusion + key evidence + reasoning chain), use AskUserQuestion with options (✅ Agree / ✏️ Adjust direction / ❌ Disagree). Wait for user response before presenting next.
- **B-class (16-17 pts) batch**: Present all B-class at once, AskUserQuestion to confirm.
- ⛔ User confirms insight direction before Red/Blue Team review begins, to avoid reviewing insights the user doesn't endorse.
⛔ **Red/Blue Team Feedback Triage** (after Red/Blue Team execution, cannot be skipped):
Red/Blue Team findings are not "filed and forgotten" — each must drive substantive corrections by type:
| Finding Type | Handling |
|-------------|---------|
| **Conclusion issue** (misinterpretation / logic gap) | Rewrite affected insight on the spot |
| **Scoring issue** (confidence level mismatch) | Downgrade/upgrade on the spot + corresponding rewrite |
| **Fatal gap** (evidence/direction gap from a fatal challenge) | ⛔ **Supplement immediately, do NOT ask user** — fatal challenges can overturn core logic; proceeding without supplementation means a fundamentally flawed report |
| **Non-fatal gap** (evidence/direction gap from substantive/addressable challenges) | → AskUserQuestion to let user decide whether to supplement |
> "Fatal challenge" follows the definition in `judgment_rules.md` Rule 8a: "supported by evidence, capable of overturning core logic."
**Execution flow**:
1. Red/Blue Team Round 1 execution
2. Triage each finding → conclusion/scoring corrected on the spot → fatal gaps supplemented immediately → non-fatal gaps presented to user
3. Fatal gaps + user-selected non-fatal gaps → execute ALL supplementary searches in a single S4 round, write all to evidence_base.md, then cascade to S5→S6
4. Red/Blue Team Round 2 (⛔ must re-run after supplementary search)
5. Round 2 findings: conclusion/scoring corrected on the spot; evidence gaps recorded in `insights.md` limitations section (no further cascade triggered)
**Triage checklist template** (must be output after each Red/Blue Team round):
━━━ レッド/ブルーチームのフィードバック仕分け ━━━
対応済み(その場で修正): ✅ {insight} — {correction}
重大な不足(確認不要、現在補完中): 🔴 {gap description} → 補足検索のため S4 に差し戻し 🔴 {gap description} → 調整のため S2 に差し戻し
重大ではない不足(ユーザーが判断): ❓ {gap description} → 補足検索のため S4 に差し戻しますか? 推定 {time} ❓ {gap description} → 調整のため S2 に差し戻しますか?
→ どの ❓ 項目を補完しますか? A. すべて / B. 選択した項目のみ / C. なし — レポートに留保事項を記載して続行
**Output**: `{ws}/insights.md` (⛔ Stage 6 gate file)
---
### Research Quality Overview (Before Stage 5→6 Transition, if Bash available)
Before entering Stage 6, run the Review Dashboard to generate a comprehensive research quality summary:
```bash
python3 scripts/harness/dashboard.py {ws}
品質の概要を出力どおりにユーザーへ表示し、レポート作成前に調査全体の品質を把握できるようにします。❌ または ⚠️ の項目がある場合は、差し戻して修正する必要があるか、ユーザーと相談してください。
📐 章構成案の完了確認(Tier 2/3、ダッシュボードの後):research_definition.md から章構成案のチェックボックスのステータスを読み取り、ユーザーに表示します。
📐 Chapter Blueprint Completion:
Q1 [sub-question]: ✅ 5/5
Q2 [sub-question]: ⚠️ 4/5 (⚠️ pricing info: company does not disclose)
Q3 [sub-question]: ✅ 4/4
⛔ ❌(不足)が一つでもある場合:ステージ 6 に進んではいけません。ステージ 4 に戻って補足検索するか、説明を添えて ❌ を ⚠️ に変更してください。⚠️(利用不可)の項目は、レポートの盲点セクションに記載します。
⚠️ Bash を利用できない場合のフォールバック:S2~S5 の成果物(存在の有無、主要な内容の目印)を手動で確認し、簡易的な品質概要(章構成案の完了状況を含む)を出力します。
━━━ 調査品質の概要(手動確認)━━━ 📋 調査定義(S2) ✅/❌ | {sub-question count, frameworks} 📋 調査計画(S3) ✅/❌ | {track count, hypotheses} 📋 エビデンスベース(S4) ✅/❌ | {line count, high-quality evidence ratio} 📋 洞察の統合(S5) ✅/❌ | {insight count, Red/Blue Team status} 📐 章構成案(S3→S4)✅/⚠️/❌ | {completed/total items} ⚡ 全体評価:{judgment} ━━━━━━━━━━━━━━━━━━━
ステージ 6:レポート作成
🎯 ステージ 6 / 7 — レポート | 📋 読み込み:
report_standards.md、report_template.html、anti_patterns.md、pyramid_principle.md| 🔧 方法論:ピラミッド原則 ゲート終了条件:report.htmlが存在し、5KB 以上であること + 章セクションが存在すること + 表紙/目次/フッターが完成していること
⛔ 最初に必ず insights.md を読み込みます。ファイルが存在しない場合はステージ 5 に戻ります。
ファイルを読み込む:{ws}/evidence_base.md(階層的な再読み込み。以下のプロトコルを参照)、{ws}/user_brief.md(ナラティブの軸を再確認)、references/report_standards.md、references/report_template.html、resources/anti_patterns.md、resources/evidence_integrity.md、methodology/pyramid_principle.md(結論を先に示す構成 + レポート構成のセルフチェック)
evidence_base.md の階層的な再読み込みプロトコル:
- まず「調査実行サマリー」を読む → データの全体像を把握し、ナラティブの流れの設計に活用します
- グラフの作成時に必要に応じて、特定のトラックのデータポイントを読む(一括読み込みではなく、対象を絞って取得します)
- 主要な数値、グラフデータ、重要な推奨事項を引用する際は、
claim_id、evidence_id、またはsource_idへの逆リンクを含めます。逆リンクがない場合は、ステージ 4 に戻り、エビデンス主張台帳を完成させます。 ティア制御:ティア 1 エグゼクティブサマリーのみ|ティア 2 7 セクションの簡易版(ECharts を 3 つ以上)|ティア 3 7 セクションの完全版(中核となる章が 4~5 章、それぞれ 3~5 ページ、ECharts を 6 つ以上、目標 20~35 ページ)
章構成の原則:レポートの中核となる分析章は、サブクエスチョンやフレームワークの次元ではなく、インサイトのテーマごとに構成します。多くの場合、インサイトのテーマは自然に 1 つのサブクエスチョンに対応します(1 対 1)。複数の質問にまたがるインサイトが、独立した章を構成することもあります。章のタイトルは判断や調査結果を示すものとし(例:「市場では構造的な再編が進んでいます」)、質問形式やフレームワーク名にはしません。フレームワークは「調査の背景と手法」セクションに明記し、中核となる分析章では分析ツールとして使用します。詳細は report_standards.md を参照してください。
実行手順:ナラティブの流れを設計 → 章ごとに生成(各章で report_standards.md に基づく 7 項目のセルフチェックを実施)→ 統合して出力 → ⛔ 根拠への逆リンクをセルフチェック(主要な数値とチャートデータが Evidence Claim Ledger にリンクしていることを確認)→ ⛔ アンチパターンをセルフチェック(anti_patterns.md の「Report Self-check List」に照らして項目ごとに確認し、不合格箇所は先に修正)→ 🔍 IQR レビュー(resources/quality_review.md のステージ 6 IQR テンプレートを読み込み、独立した Subagent を起動してレポートの品質を評価)→ 納品パッケージを作成
ステージ 6 の IQR で REVISE が返された場合の対応:IQR で REVISE が返された場合は、指摘の種類に応じて対応します。レポートの表現や構成上の問題は S6 で修正します。IQR で根拠不足やインサイトの不備が指摘された場合は、カスケードルールに従い、補足のため S4/S5 に戻るかどうかをユーザーに確認します。
🚨 HTML 生成方法(必須、上書き不可):
レポートの HTML は、Bash で Python スクリプトを実行してファイルに書き込む方法でのみ生成する必要があります。Write ツールを使用して HTML を出力することは、絶対に禁止されています。
これが厳格な要件である理由(検証済み):
- モデルの出力レイヤーが、ECharts の設定内にある
dataキーワードをランダムにフィルタリングします(データ URI と誤認するため)。その結果、チャートの JavaScript 構文エラーや空白表示が発生します。 - Write ツールの
contentパラメーターは、コンテキストが逼迫すると途中で切り詰められ、大きな HTML ファイルが不完全になります。 - ティア 3 のレポートを一度に生成するには、15~25K トークンの Python コードを出力する必要があり、タイムアウトや切り詰めが非常に起きやすくなります。
推奨方法:ReportBuilder による段階的な生成(パフォーマンス上のボトルネックを解消するため、こちらを推奨):
⛔ 必ず段階的に生成し、1 ステップにつき Bash の呼び出しを 1 回行い、各ステップで追加するのは 1~2 章のみにしてください。すべての章を 1 回の Bash 呼び出しで追加することは禁止されています。
# ━━━ Step 1: Initialize ━━━
import sys, os; sys.path.insert(0, 'scripts')
from report_helper import ReportBuilder
# Determine workspace absolute path (reused in all subsequent steps)
ws = os.path.join(os.getcwd(), 'workspace', '{project_slug}')
os.makedirs(ws, exist_ok=True)
b = ReportBuilder("Report Title", "Subtitle")
b.set_toc_conclusion("Core conclusion in one sentence")
b.save_state(os.path.join(ws, "_rpt_state.json"))
# ━━━ Step 2: Chapter 1 — Executive Summary ━━━
import sys; sys.path.insert(0, 'scripts')
from report_helper import ReportBuilder
b = ReportBuilder.load_state("{ws}/_rpt_state.json")
b.add_chapter(1, "Executive Summary", """
<h2>Core Conclusions</h2>
<div class="highlight-box red">
<div class="highlight-text"><strong>Conclusion text</strong></div>
</div>
<div class="stats-grid stats-grid-3">
<div class="stat-card">
<div class="stat-value">Value</div>
<div class="stat-label">Label</div>
</div>
</div>
<div class="chart-container">
<div class="chart-title">Chart Title (expresses finding)</div>
<div id="chart1" style="width:100%;height:350px;"></div>
</div>
""")
b.add_chart("chart1", {
"tooltip": {"trigger": "axis"},
"xAxis": {"type": "category", "values": ["2023", "2024", "2025E"]},
"yAxis": {"type": "value", "name": "USD (M)"},
"series": [{"name": "Series", "type": "bar", "values": [100, 200, 300],
"itemStyle": {"color": "#667EEA"}}]
}, claim_ids=["E-001"])
b.save_state("{ws}/_rpt_state.json")
# ━━━ Steps 3-N: Subsequent chapters (1-2 chapters per step) ━━━
# Same pattern: load_state → add_chapter → add_chart → save_state
# ━━━ Final Step: Assemble Output ━━━
import sys, os; sys.path.insert(0, 'scripts')
from report_helper import ReportBuilder
ws = os.path.join(os.getcwd(), 'workspace', '{project_slug}')
b = ReportBuilder.load_state(os.path.join(ws, "_rpt_state.json"))
b.build(os.path.join(ws, 'report.html'))
ReportBuilder が自動生成するパーツ(モデルによる記述は不要):
- 表紙ページ — タイトルとサブタイトルのみ指定します
- 目次ページ — 追加した章から自動生成されます
- 各章の chapter-header — num/name から自動生成されます
- フッターページ — 完全に固定されています
- ECharts の JS 初期化コード — チャートから自動生成され、values から data へのマッピングも自動的に処理されます
モデルが出力するのは以下のみです:各章の <div class="chapter-body"> 内の HTML コンテンツと、チャートの option dict。
代替方法:build_report() を直接使用(ReportBuilder を利用できない場合):
import sys; sys.path.insert(0, 'scripts')
from report_helper import build_report
body = '<div class="page cover-page">...</div>'
ws = os.path.join(os.getcwd(), 'workspace', '{project_slug}')
build_report(body=body, charts=[...], title="Title", output=os.path.join(ws, 'report.html'))
最終手段:dk を手動で連結(すべてのスクリプトを利用できない場合):
dk = "dat" + "a"
# ... manually concatenate HTML + ECharts JS ...
すべてのチャートには ECharts のみを使用します。CSS チャートは使用しません(テンプレートに CSS チャート用のスタイルがありません)。レイアウト要素(データカード、ハイライトボックス、戦略カードなど)には引き続き CSS を使用します。
出力先:{ws}/report.html
納品後の対話ガイド(レポート生成直後に出力し、言語はユーザーに合わせます):
Report is ready: {report.html absolute path}
💡 This is not the end — report quality depends on what comes next.
Please browse and tell me:
{interview_reminder}
1. **What needs deeper exploration?** — An insight worth expanding, a risk analysis that's insufficient
2. **What viewpoints to discuss?** — You have a different perspective, want to add your industry experience and judgment
3. **Anything missing?** — A key competitor omitted, a critical dimension overlooked, a trend ignored
4. **Any judgments to correct?** — Conclusions are off, logic has gaps, data interpretation is wrong
5. **Walk through together?** — If you'd like, I can host a structured walk-through of each core insight — I share my position first, you add your judgment
Your domain knowledge is an input I cannot replace — each round of feedback transforms the report from "AI analysis" to "your analysis."
ファシリテーター付きディスカッションモード(ユーザーがオプション 5 を選択した場合に開始):
A クラスのインサイトを 1 つずつ確認します。各インサイトのディスカッションは、次の構成で進めます:
- AI が最初に見解を示す:結論+主要な根拠+推論の流れ+最大の不確実性を提示します
- AI が不確実性を説明する:「最も確信が持てないのは XXX です。なぜなら、[データが限られている/情報源が単一である/根拠が矛盾している]ためです」
- ユーザーの専門分野に関する意見を求める:「業界でのご経験に照らして、これはご覧になっている状況と一致していますか? 見落としている観点はありますか?」
⛔ 質問の範囲:ユーザーが答えられることだけを尋ねてください。業界での経験、戦略上の優先事項、観察した現象などです。調査で答えるべきだったこと、つまり市場規模、競合他社がこの分野に参入するかどうか、どの技術的アプローチが優れているかは尋ねないでください。議論の中で調査が扱っていないギャップが明らかになった場合、ユーザーに答えを求めず、根拠の不足として明示し、追加調査のために Stage 4 に戻ってください。
一度に 1 つの洞察を提示します。次の洞察を示す前に、ユーザーの回答を待ってください。
{interview_reminder} は _state.json のインタビュー状況に基づきます(3 つの選択肢):
- Stage 3.5 が有効化されており、メモをまだ受け取っていない:
⚠️ **インタビューのメモ** — インタビューを予定していましたが、まだメモを受け取っていません。完了後にメモを共有していただければ、調査とレポートに自然な形で反映します - Stage 3.5 が有効化されており、メモを受け取っている:
💡 **追加のインタビュー** — 追加インタビューがある場合は、新しいメモをいつでも共有してください。自然な形で反映します - Stage 3.5 が有効化されていない:表示しない
Stage 7:反復と締めくくり
🎯 Stage 7 / 7 — 反復 | 📋 読み込み:すべての中間成果物 | 🔧 方法論:必要に応じて 終了ゲートなし(最終状態)
7A 反復:ユーザーからの変更依頼は「変更の連鎖ルール」(「中核となる行動ルール」セクションを参照)に従って実行します。早見表:表現→S6 のみ/データの補足→S4→S5→S6/洞察の調整→S5→S6/方向性の調整→S2→S3→S4→S5→S6/深掘り→データの補足と同じ/インタビューの統合→S4→S5→S6。
7B 締めくくり(ユーザーが最終版を確認した後、以下のテンプレートに従って出力します。言語はユーザーに合わせます):
━━━ Research Complete ━━━
📋 Topic: {topic}
📊 Tier: Tier {X}
📄 Report: {report.html absolute path}
🔑 Key Findings:
{Distill 2-3 sentences from insights.md core insights}
━━━━━━━━━━━━━━━
Thank you for your patience — report quality depends on your judgment and input at critical junctures.
If this research was helpful:
⭐ GitHub Star → https://github.com/Ericyoung-183/alpha-insights
📝 Issues or Suggestions → https://github.com/Ericyoung-183/alpha-insights/issues
Best of luck with your decisions.
エッジケースへの対応
| 状況 | 対応方針 |
|---|---|
| ツールの失敗 | 優先順位に従ってフォールバックします:検索エンジン → ウェブスクレイピング → 直接 URL。すべてのツールが利用できない場合はユーザーに伝えます |
| データ不足 | 検索を拡大 → 注釈のレベルを下げる → インタビューを提案 |
| データの矛盾 | 矛盾を注記 → 原因を分析 → 確率的に判断 |
| 対象範囲が広すぎる | 中核に焦点を当てる → 段階ごとに分割 → 優先順位を明確にする |
| コンテキストの圧迫 | プラットフォームが会話の初期部分を自動的に圧縮します。重要なデータと分析上の推論はすべて、段階的な書き込みによって evidence_base.md に保存されています(検索戦略、分析メモ、調査実行の概要を含む)。段階の切り替え時には、階層的な再読込プロトコルを使って復元します。それでも不十分な場合は、トピックを複数の調査セッションに分割します |
| すべての仮説が反証された | ステージ 3 に戻り、反証の証拠に基づいて仮説を再構築します |
| 途中でティアをアップグレード | _state.json の tier 値を更新 → 現在のステージから続行し、アップグレードに必要な内容を補足します:1→2:レイヤー 2 の調査と ECharts を 3 件以上補足、1→3 または 2→3:すべてのレイヤーと ECharts を 6 件以上補足し、7 つのセクションを完成させます。完了済みのステージ成果物はやり直しません。アップグレードは以降のステージにのみ反映されます |
| ユーザーがインサイトを一部受け入れる | 受け入れられたインサイトはレポートに含めます。却下されたものには「ユーザーは採用しなかった」と記し、中核的な結論から除外したうえで、参考用に付録へ残します |
| ユーザーがすべてのインサイトを却下する | ユーザーと意見の相違について話し合う → 補足データを得るためにステージ 4 に戻るか、問題を再定義するためにステージ 2 に戻ります |
| ユーザーが途中でトピックを変更する | 現在のワークスペースをアーカイブ(放棄済みと記録) → ステージ 1 から再開 → 新しいワークスペースを初期化 |
_state.json が破損または消失 | ワークスペース内の既存の成果物を検出 → 現在のステージを推定 → state_manager.py init で再構築 → advance で推定したステージへ進む |
| エージェント/サブエージェントが利用できない | サブエージェントに割り当てられていたタスクをメインセッションで順番に実行します(Track A→B の順、Red/Blue Team の順、IQR はメインセッションで実行) |
| Bash/Python が利用できない | すべてのハーネス関数をモデルによる自己チェックに切り替えます(ゲート条件テーブルに従って手動で確認)。レポートは Write ツールによる直接出力に切り替えます(データのフィルタリングリスクを受け入れ、dk 変数による回避策を使用) |
実行チェックリスト
| ステージ | 必須チェック項目 |
|---|---|
| 1 | シナリオを正しく特定 · レポートのティアを確認 · ユーザーのコンテキストを網羅 · リサーチ前に1文で共有 |
| 2 | サブ質問がMECE · フレームワークがシナリオに適合(複数シナリオへの適合を含む) · レンズの割り当て+次元の網羅性+N/Aの注記 · コンテキストへの紐付け · リサーチ範囲が明確 · IQRレビュー |
| 3 | 仮説に明確な立場があり、反証可能 · Q→H→レンズのマッピングが完了(各Hに対応するQと分析レンズを注記し、仮説のないQは理由を記載) · サブ質問に対するデータソースの網羅率が80%以上 · デューデリジェンス/対象スクリーニングの一次情報源計画 · インタビューの推奨を提示 |
| 4 | トライアンギュレーション · データの注釈が正確 · エビデンス・クレーム台帳 · 中核データがBレベル以上 · デューデリジェンスの重要事実に一次情報源がある · スキップの判断を記録 · インタビュー収集を実施(ステージ3.5を有効化した場合) · フレームワーク分析の結論を独立して導出 · IQRレビュー |
| 5 | So Whatが3層以上 · インサイトが16件以上 · 主要変数を特定 · 反対意見の検証 · SMARTテスト · プレモーテム · 優先順位付け · 推奨の確信度が情報源の評価と一致 · レッドチーム/ブルーチームレビュー · insights.mdを生成 |
| 6 | insights.mdを読む · ダッシュボードを確認 · PythonスクリプトでHTMLを生成 · EChartsでdk変数の連結を使用 · 結論を先に提示 · 見出し/グラフからエビデンスへの逆参照 · アンチパターンのセルフチェック · 章ごとのセルフチェック(report_standards.mdのリストに従う) · EChartsのグラフ(ティア2は3件以上/ティア3は6件以上) · IQRレビュー |
| 7 | 最小限の手直し範囲 · 追加注釈が明確 · まとめのテンプレートをすべて出力 |