investment-team について
企業調査を事業、財務、業界、リスクの4役に分けて並行実施する、マルチエージェント型の投資調査スキルです。各分析を統合して投資レポートを作成し、Web検索権限とデータ品質も確認します。
主な機能
- 014役の並行調査チームを作成
- 02専門別に企業分析を分担
- 03バックグラウンド調査前にWeb権限を確認
- 04分析結果と投資判断を統合
- 05最終レポートの保存と監査
活用シーン
- 01企業の事業、財務、業界を並行して調査
- 02強気・弱気の論点を比較
- 03複数の分析を投資メモにまとめる
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ xbtlin/ ai-berkshire --skill investment-teamインストール後、Claude Code で/investment-teamを入力して読み込まれたか確認します。
詳細
Codex アダプターに関する注記
このスキルは skills/investment-team.md から生成されており、Claude Code と Codex のユーザーが単一の標準ワークフローを共有できるようにしています。
$ARGUMENTSは、現在の Codex スレッドにおけるユーザーのリクエストとして扱います。- ソースに Task、Agent、WebSearch、Bash、Read、Write など Claude 専用の機能が記載されている場合は、このセッションで利用できる最も近い Codex の機能を使います。利用可能な場合はサブエージェントを、必要に応じてウェブ検索を、ローカルツールにはシェルコマンドを、ワークスペースのファイルには通常のファイル編集を使用します。
- このリポジトリの
tools/にある共通プロジェクトツールを使用します。python3 tools/financial_rigor.py ...のように、リポジトリのルートからコマンドを実行することを推奨します。現在のスレッドがリポジトリ外から始まる場合は、固定のホームディレクトリパスを想定せず、実際のチェックアウトパスを先に特定します。 - 調査を始める前に
dateコマンドを実行して今日の日付を確認し、「最新」データの基準とします。レポートのヘッダーにはデータの基準日を記載します。トレーニングデータから現在の日付を推測してはいけません。 AGENTS.mdの調査品質に関するルールを守ります。財務データを複数の情報源で照合し、評価や計算には正確な算術ツールを使用し、不確実性や情報源の不足を明確に示します。
投資調査チーム:4役割の並行分析フレームワーク
$ARGUMENTS について、チームで投資調査・分析を行います。Team ツールを使用して、実際に並行して調査するマルチエージェントチームを作成します。
実行手順
第1ステップ:チームの枠組みを提示
以下のチーム構成をユーザーに提示し、確認を得てから開始します。
| 役割 | 職務 | 分析フレームワーク |
|---|---|---|
| team-lead(あなた自身) | 全体調整、判断の集約、最終レポートの作成 | 4人の投資家の総合フレームワーク |
| business-analyst | ビジネスモデルと堀の分析 | 段永平の視点 |
| financial-analyst | 財務諸表とバリュエーションの分析 | バフェットの視点 |
| industry-researcher | 業界構造と競争状況 | マンガーの視点 |
| risk-assessor | リスク評価と経営陣の見極め | 李録の視点 |
第1.5ステップ:AIによる調査可能性の評価
チームを作成する前に、対象企業の「AIによる調査可能性」の評価をユーザーに提示します。
情報の充実度評価(調査方針を決定):
| レベル | 特徴 | 調査方針の調整 |
|---|---|---|
| レベルA(情報が豊富) | 上場から年数が経過し、証券会社のカバレッジが広い | チームは反証の検証とコンセンサスに反する視点を重視し、市場と同じ「正しいだけで役に立たない話」の出力を避けます |
| レベルB(情報が中程度) | 上場後間もなく、カバレッジが限られている | 各エージェントの推計データには信頼度を明記し、team-lead は集約時に「データの充実度」を記載します |
| レベルC(情報が乏しい) | 知名度が低い企業/新規上場企業/新興市場 | チームは「第一原理モード」に切り替えます。レポートの網羅性を追わず、事業の本質に関するいくつかの重要な問いに焦点を当てます |
重要な注意点:情報が多いことは確実性が高いことを意味せず、情報が少ないことは確実性が低いことを意味しません。AIが出力できる信頼度と、投資の実際の確実性は同じではありません。確実性は事業モデルそのものから生まれるものであり、情報量から生まれるものではありません。
評価結果を各エージェントに伝え、調査方法に反映させます。
第1.75ステップ:WebSearch 権限の事前確認(重要・エージェントの暗黙の機能低下を防止)
チームの作成やバックグラウンドエージェントの起動前に、WebSearch の権限が許可されていることを必ず確認します。
事前確認が必須の理由:このスキルは run_in_background: true で4つのバックグラウンドサブエージェントを起動します。しかし、バックグラウンドエージェントはユーザーに対して対話的な権限確認を表示できません。.claude/settings.local.json の permissions.allow ホワイトリストに WebSearch がない場合、サブエージェントのウェブ検索は通知なく遮断されます。その結果、知識のカットオフ日があるトレーニング知識だけで回答する状態に陥るにもかかわらず、フレームワークに沿って「一見完全だが、実際にはネット検索をしていない」偽の調査レポートを出力します。これはこのスキルで最も危険な失敗パターンです(issue #58 を参照)。
事前確認の手順:
- Bash を使って、ホワイトリストに WebSearch が含まれているか確認します。
grep -l '"WebSearch"' .claude/settings.local.json ~/.claude/settings.local.json 2>/dev/null - どちらにも該当しない場合(つまり許可されていない場合)→ 停止して、エージェントを起動しないでください。次のメッセージをユーザーに表示します。
⚠️ WebSearch が権限ホワイトリストにないことを検出しました。バックグラウンド調査エージェントはウェブ検索できず、トレーニング知識だけで回答する状態になります。まず
.claude/settings.local.jsonのpermissions.allowに"WebSearch"を追加するか、/permissionsを実行して選択してから、このコマンドを再実行してください。 - 該当する場合 → 通常どおり続行します。
第2ステップ:チームを作成
TeamCreate を使ってチームを作成します。
- team_name:
{会社名}-research(英語の小文字。例:meituan-research) - agent_type:
team-lead
第3ステップ:4つのタスクを作成
TaskCreate を使って、次の4つのタスクを作成します(それぞれ subject、description、activeForm が必要です)。
タスク1:ビジネスモデル分析
- subject:
{会社名}のビジネスモデル、堀、顧客価値を分析 - description に以下を含めます。
- ビジネスモデルの本質:中核事業の定義、収益構造の内訳
- プラットフォーム/製品のフライホイール効果がどのように機能するか
- 堀の分析:ブランド/乗り換えコスト/ネットワーク効果/規模の効果/技術的障壁をそれぞれ検証
- ユーザー/顧客価値:各関係者にどのような独自の価値を提供しているか
- 事業ポートフォリオとシナジー効果
- 段永平の「良いビジネス」の基準による評価:差別化、価格決定力、持続可能な競争優位性
- 最新の財務報告書、業界レポートなどの公開情報を検索すること
タスク2:財務・バリュエーション分析
- subject:
{会社名}の財務データ、収益性、バリュエーションを分析 - description に以下を含めます。
- 過去3~5年間の売上高、純利益、営業利益の推移
- 収益性指標:ROE、ROA、粗利益率、営業利益率
- キャッシュフロー分析:営業キャッシュフロー、フリーキャッシュフロー、設備投資
- 貸借対照表の健全性:現金準備、負債比率、流動性
- バリュエーション分析:PE/PS/PB/EV などを過去および同業他社と比較
- 安全域の評価:本質的価値と現在の株価の比較
- 金融面の厳密性の検証(Bash でツールを呼び出すこと。暗算は禁止):
- 時価総額の検算:
python3 tools/financial_rigor.py verify-market-cap --price {価格} --shares {株式数} --reported {報告された時価総額} --currency {通貨} - バリュエーションの検算:
python3 tools/financial_rigor.py verify-valuation --price {価格} --eps {EPS} --bvps {1株当たり純資産} - 重要データの相互検証:
python3 tools/financial_rigor.py cross-validate --field {項目} --values '{JSON}' --unit {単位} - 3シナリオ・バリュエーション:
python3 tools/financial_rigor.py three-scenario --price {価格} --eps {EPS} --shares {株式数_億} --growth {強気} {中立} {弱気} --pe {強気PE} {中立PE} {弱気PE} - ツールの出力結果を検証記録としてレポートにそのまま含めること
- 時価総額の検算:
任务3:行业与竞争分析
- subject:
分析{行业}行业格局与{公司名}竞争态势 - description 包含:
- 行业规模与增长:市场规模、增速、渗透率
- 竞争格局:主要对手市场份额、竞争策略对比
- 核心竞争者威胁评估:逐个分析主要竞争对手
- 各细分赛道格局
- 行业趋势:技术变革、政策影响、新进入者
- 产业链分析:上中下游价值分配
- 要求搜索最新行业数据和竞争动态
任务4:风险与管理层评估
- subject:
评估{公司名}投资风险与管理层质量 - description 包含:
- 管理层评估:CEO能力圈、诚信度、战略眼光、资本配置能力、历史决策质量
- 监管风险:当前及潜在监管影响
- 竞争风险:各竞争对手威胁程度评估
- 业务风险:新业务亏损、扩张不确定性
- 宏观风险:经济周期、行业周期影响
- 治理结构:股权结构、关联交易、股东回报政策
- 长期确定性:10年后公司会怎样?什么可能颠覆其商业模式?
- 要求搜索最新监管动态、管理层言论等
第四步:启动4个并行Agent
使用 Task 工具同时启动4个Agent(必须在同一条消息中并行调用):
每个Agent的配置:
subagent_type:general-purposerun_in_background:trueteam_name: 对应团队名name: 对应角色名(business-analyst / financial-analyst / industry-researcher / risk-assessor)
每个Agent的prompt模板:
你是{公司名}投研团队中的"{角色中文名}",负责从{大师名}投资视角分析{公司名}。
请完成任务 #{任务编号}:{任务subject}
具体要求:
{任务description的内容}
**研究方法**:
- 使用 WebSearch 搜索最新公开信息(财报、行业报告、新闻)
- **财务数据必须来自两个独立来源**,按 `skills/financial-data.md` 规范执行(美股:macrotrends+stockanalysis;港股:aastocks+macrotrends;A股:东方财富+巨潮资讯;台股:FinMind `tools/twstock_data.py`+Goodinfo),两源误差>1%须标记
- 确保数据准确,关键数据标注来源
- 分析要深入,不流于表面
- **联网失败禁止伪装**:若 WebSearch 被拦截/不可用,禁止用训练知识冒充联网结果。必须在报告顶部醒目标注「⚠️ 本报告未能联网,基于训练知识(截止日期 X),置信度降级」,并如实告知 team-lead,由其决定是否中止研究
**输出要求**:
- 报告要详尽,使用Markdown表格呈现关键数据
- 每个分析维度要有明确结论和评分
- 报告末尾要有该维度的总体结论
**完成后**:
1. 使用 TaskUpdate 将任务 #{任务编号} 标记为 completed
2. 通过 SendMessage 把完整分析报告发送给 team-lead(type: "message", recipient: "team-lead")
第五步:接收报告并跟踪进度
- 向用户实时展示进度表(哪些Agent已完成、哪些仍在研究中)
- 每收到一份报告,更新进度并展示该报告的核心要点(3-5条)
- 等待全部4份报告到齐
第六步:关闭团队成员
全部报告收到后,向4个Agent发送 shutdown_request(使用 SendMessage,type: "shutdown_request")。
第七步:汇总最终报告
综合4份分析报告,输出以下结构的最终报告:
1. 一句话结论
用一段话(50-100字)概括是否值得投资及核心逻辑
2. 四维评分总表
| 维度 | 框架 | 评分(1-5星) | 核心判断 |
|---|
综合评分:X / 5
3. 核心数据速览
关键财务和经营指标表格(近2年对比)
4. 各维度分析摘要
每个维度摘取3-5条最重要的发现
5. 投资论点(Bull vs Bear)
- 🟢 看多逻辑(5-7条)
- 🔴 看空逻辑(5-7条)
6. 巴菲特买入前Checklist
| # | 检查项 | 通过? | 说明 | 10个核心检查项,逐一评估
7. 最终投资建议
- 定性判断表(生意质量/管理层/估值/时机)
- 分层操作建议表(激进型/稳健型/保守型 → 建议+价格区间)
- 关键催化剂(加仓信号/减仓信号各3-5条)
8. 总结段落
100-200字的最终总结
第八步:保存报告
将完整最终报告写入 ~/{公司名}投资研究报告_{日期}.md(日期格式 YYYYMMDD)。
第九步:数据抽检(准出流程)
# Step 1 — 提取抽检清单(15%随机抽样)
python3 tools/report_audit.py extract \
--report <报告文件路径>
# Step 2 — 对清单每项从可靠信源取数(参见 skills/financial-data.md)
# Step 3 — 输出准出/打回判决
python3 tools/report_audit.py verdict \
--results '<填好的JSON>' \
--report <报告文件名>
【准出】 全部通过 → 报告可发布;【打回】 有不通过 → 修正后重审。
第十步:清理团队
使用 TeamDelete 清理团队资源。
重要注意事项
- 4个Agent必须并行启动——在同一条消息中调用4次Task工具
- Agent通过SendMessage汇报——不是文件协作,是消息通信
- 数据准确性——要求Agent使用WebSearch搜索最新数据,关键数据交叉验证
- 结论要明确——不回避给出买入/观望/回避建议和具体价格区间
- 所有分析必须有数据支撑——附数据来源
- 耐心等待——4个Agent研究需要几分钟,实时向用户更新进度
- 反偏见意识——team-lead在汇总时必须评估:各Agent的分析是否受限于资料充裕度?是否与市场共识过度趋同?最终报告需包含"信息丰富度评级"和"AI研究局限性声明"
- 信息稀缺时的诚实原则——宁可在报告中留白标注"数据不足",也不要用推测填满框架伪装确定性