investment-team
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCodex adapter note
Codex adapter note
This skill is generated from so Claude Code and Codex users share one canonical workflow.
skills/investment-team.md- Treat as the user's request in the current Codex thread.
$ARGUMENTS - When the source mentions Claude-only surfaces such as Task, Agent, WebSearch, Bash, Read, or Write, use the closest Codex capability available in this session: subagents when available, web search when needed, shell commands for local tools, and normal file edits for workspace files.
- Use shared project tools from in this repository. Prefer running commands from the repository root with paths like
tools/; if the current thread starts outside the repo, locate the actual checkout path first instead of assuming a fixed home-directory path.python3 tools/financial_rigor.py ... - Before starting research, run the command to confirm today's date; treat it as the baseline for "latest" data and state the data cutoff date in the report header. Never assume the current date from training data.
date - Preserve the research quality rules from : cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.
AGENTS.md
This skill is generated from so Claude Code and Codex users share one canonical workflow.
skills/investment-team.md- Treat as the user's request in the current Codex thread.
$ARGUMENTS - When the source mentions Claude-only surfaces such as Task, Agent, WebSearch, Bash, Read, or Write, use the closest Codex capability available in this session: subagents when available, web search when needed, shell commands for local tools, and normal file edits for workspace files.
- Use shared project tools from in this repository. Prefer running commands from the repository root with paths like
tools/; if the current thread starts outside the repo, locate the actual checkout path first instead of assuming a fixed home-directory path.python3 tools/financial_rigor.py ... - Before starting research, run the command to confirm today's date; treat it as the baseline for "latest" data and state the data cutoff date in the report header. Never assume the current date from training data.
date - Preserve the research quality rules from : cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.
AGENTS.md
投研团队:四角色并行分析框架
Investment Research Team: Four-Role Parallel Analysis Framework
对 $ARGUMENTS 进行团队化投资研究分析。使用 Team 工具创建真正的多Agent并行研究团队。
Conduct team-based investment research and analysis on $ARGUMENTS. Use the Team tool to create a true multi-Agent parallel research team.
执行流程
Execution Process
第一步:展示团队框架
Step 1: Present Team Framework
向用户展示以下团队结构,确认后启动:
| 角色 | 职责 | 分析框架 |
|---|---|---|
| team-lead(你自己) | 统筹协调、汇总研判、输出最终报告 | 四大师综合框架 |
| business-analyst | 商业模式 & 护城河分析 | 段永平视角 |
| financial-analyst | 财务报表 & 估值分析 | 巴菲特视角 |
| industry-researcher | 行业格局 & 竞争态势 | 芒格视角 |
| risk-assessor | 风险评估 & 管理层研判 | 李录视角 |
Present the following team structure to the user and start after confirmation:
| Role | Responsibilities | Analysis Framework |
|---|---|---|
| team-lead (yourself) | Overall coordination, summary and research, output final report | Synthesis Framework of Four Masters |
| business-analyst | Business model & moat analysis | Perspective of Duan Yongping |
| financial-analyst | Financial statement & valuation analysis | Perspective of Warren Buffett |
| industry-researcher | Industry structure & competitive landscape | Perspective of Charlie Munger |
| risk-assessor | Risk assessment & management research | Perspective of Li Lu |
第一步半:AI研究偏见评估
Step 1.5: AI Research Bias Assessment
在创建团队前,先向用户展示该公司的"AI可研究性"评估:
信息丰富度评级(决定研究策略):
| 等级 | 特征 | 研究策略调整 |
|---|---|---|
| A级(信息充裕) | 上市多年、券商覆盖广 | 团队重点放在反面检验和非共识视角,避免输出与市场一致的"正确的废话" |
| B级(信息适中) | 上市不久、覆盖有限 | 每个Agent的推算数据必须标注置信度,team-lead汇总时标注"数据充分度" |
| C级(信息稀缺) | 冷门/新上市/新兴市场 | 团队转为"第一性原理模式":不追求报告完整性,聚焦商业本质的几个核心问题 |
关键提醒:资料多≠确定性高,资料少≠确定性低。AI能输出的置信度 ≠ 投资的真实确定性。确定性来自商业模式本身,不来自资料数量。
将评级结果告知每个Agent,影响其研究方式。
Before creating the team, present the "AI Research Feasibility" assessment of the company to the user:
Information Abundance Rating (determines research strategy):
| Rating | Characteristics | Research Strategy Adjustment |
|---|---|---|
| Grade A (Ample Information) | Listed for many years, extensive brokerage coverage | The team focuses on reverse verification and non-consensus perspectives, avoiding "correct nonsense" consistent with the market |
| Grade B (Moderate Information) | Recently listed, limited coverage | All calculated data by each Agent must be marked with confidence level, and the team-lead must mark "data sufficiency" during summary |
| Grade C (Scarce Information) | Niche/ newly listed/ emerging market | The team switches to "First Principles Mode": do not pursue report completeness, focus on several core issues of business essence |
Key Reminder: More information ≠ higher certainty, less information ≠ lower certainty. The confidence level AI can output ≠ the actual investment certainty. Certainty comes from the business model itself, not from the quantity of information.
Inform each Agent of the rating result to influence their research methods.
第一步¾:WebSearch 权限预检(关键 · 避免 Agent 静默退化)
Step 1.75: WebSearch Permission Pre-check (Critical · Avoid Agent Silent Degradation)
在创建团队、启动任何后台 Agent 之前,必须先确认 WebSearch 权限已放行。
为什么必须预检:本 skill 用 启动 4 个后台子 Agent,而后台 Agent 无法向用户弹出交互式权限确认。若 未在 的 白名单中,子 Agent 的联网搜索会被静默拦截,导致其退化为仅凭训练知识(有知识截止日期)作答,却仍按框架输出一份"看起来完整、实则未联网"的伪研究——这是本 skill 最危险的失败模式(见 issue #58)。
run_in_background: trueWebSearch.claude/settings.local.jsonpermissions.allow预检步骤:
- 用 Bash 检查白名单是否含 WebSearch:
bash
grep -l '"WebSearch"' .claude/settings.local.json ~/.claude/settings.local.json 2>/dev/null - 若两处都未命中(即未放行)→ 停下来,不要启动 Agent,提示用户:
⚠️ 检测到 WebSearch 未在权限白名单中。后台研究 Agent 无法联网,会退化成仅凭训练知识作答。请先在的
.claude/settings.local.json加入permissions.allow(或运行"WebSearch"勾选),再重跑本命令。/permissions - 命中 → 正常继续。
Before creating the team and starting any background Agents, must first confirm that WebSearch permission is granted.
Why Pre-check is Necessary: This skill uses to start 4 background sub-Agents, and background Agents cannot pop up interactive permission confirmation to users. If is not in the whitelist of , the sub-Agents' web search will be silently blocked, causing them to degenerate into answering based solely on training knowledge (with knowledge cutoff date), yet still output a "seemingly complete but actually unconnected" pseudo-research according to the framework — this is the most dangerous failure mode of this skill (see issue #58).
run_in_background: trueWebSearchpermissions.allow.claude/settings.local.jsonPre-check Steps:
- Use Bash to check if the whitelist includes WebSearch:
bash
grep -l '"WebSearch"' .claude/settings.local.json ~/.claude/settings.local.json 2>/dev/null - If neither location hits (i.e., not granted) → Stop, do not start Agents, prompt the user:
⚠️ Detected that WebSearch is not in the permission whitelist. Background research Agents cannot access the internet and will degenerate into answering based solely on training knowledge. Please addto
"WebSearch"inpermissions.allow(or run.claude/settings.local.jsonand check the box), then re-run this command./permissions - If hits → Proceed normally.
第二步:创建团队
Step 2: Create Team
使用 TeamCreate 创建团队:
- team_name: (英文小写,如
{公司名}-research)meituan-research - agent_type:
team-lead
Use TeamCreate to create the team:
- team_name: (lowercase English, e.g.,
{company-name}-research)meituan-research - agent_type:
team-lead
第三步:创建4个任务
Step 3: Create 4 Tasks
使用 TaskCreate 创建以下4个任务(每个都要有 subject、description、activeForm):
Use TaskCreate to create the following 4 tasks (each must have subject, description, activeForm):
任务1:商业模式分析
Task 1: Business Model Analysis
- subject:
分析{公司名}商业模式、护城河与用户价值 - description 包含:
- 商业模式本质:核心生意定义、收入结构拆解
- 平台/产品飞轮效应如何运转
- 护城河分析:品牌/转换成本/网络效应/规模效应/技术壁垒,逐一验证
- 用户/客户价值:为各方创造了什么独特价值
- 业务矩阵与协同效应
- 段永平"好生意"标准评估:差异化、定价权、可持续竞争优势
- 要求搜索最新财报、行业报告等公开信息
- subject:
Analyze {company-name}'s business model, moat and user value - description includes:
- Essence of business model: core business definition, revenue structure breakdown
- How platform/product flywheel effect operates
- Moat analysis: brand/switching cost/network effect/scale effect/technical barrier, verify one by one
- User/customer value: what unique value is created for all parties
- Business matrix and synergistic effect
- Assessment against Duan Yongping's "good business" standards: differentiation, pricing power, sustainable competitive advantage
- Require searching latest financial reports, industry reports and other public information
任务2:财务与估值分析
Task 2: Financial and Valuation Analysis
- subject:
分析{公司名}财务数据、盈利能力与估值 - description 包含:
- 近3-5年营收、净利润、经营利润趋势
- 盈利能力指标:ROE、ROA、毛利率、经营利润率
- 现金流分析:经营性现金流、自由现金流、资本开支
- 资产负债表健康度:现金储备、负债率、流动性
- 估值分析:PE/PS/PB/EV等,与历史及同业对比
- 安全边际评估:内在价值 vs 当前股价
- 金融严谨性验证(必须使用Bash调用工具,禁止心算):
- 市值验算:
python3 tools/financial_rigor.py verify-market-cap --price {价格} --shares {股本} --reported {报告市值} --currency {币种} - 估值验算:
python3 tools/financial_rigor.py verify-valuation --price {价格} --eps {EPS} --bvps {每股净资产} - 关键数据交叉验证:
python3 tools/financial_rigor.py cross-validate --field {字段} --values '{JSON}' --unit {单位} - 三情景估值:
python3 tools/financial_rigor.py three-scenario --price {价格} --eps {EPS} --shares {股本亿} --growth {乐观} {中性} {悲观} --pe {乐观PE} {中性PE} {悲观PE} - 将工具输出结果直接嵌入报告中作为验证记录
- 市值验算:
- subject:
Analyze {company-name}'s financial data, profitability and valuation - description includes:
- Trends of revenue, net profit, operating profit in the past 3-5 years
- Profitability indicators: ROE, ROA, gross margin, operating profit margin
- Cash flow analysis: operating cash flow, free cash flow, capital expenditure
- Balance sheet health: cash reserves, debt ratio, liquidity
- Valuation analysis: PE/PS/PB/EV, comparison with historical and peer data
- Margin of safety assessment: intrinsic value vs current stock price
- Financial Rigor Verification (Must use Bash to call tools, no mental calculation allowed):
- Market capitalization verification:
python3 tools/financial_rigor.py verify-market-cap --price {price} --shares {shares} --reported {reported-market-cap} --currency {currency} - Valuation verification:
python3 tools/financial_rigor.py verify-valuation --price {price} --eps {EPS} --bvps {book-value-per-share} - Key data cross-validation:
python3 tools/financial_rigor.py cross-validate --field {field} --values '{JSON}' --unit {unit} - Three-scenario valuation:
python3 tools/financial_rigor.py three-scenario --price {price} --eps {EPS} --shares {shares-in-billions} --growth {optimistic} {neutral} {pessimistic} --pe {optimistic-PE} {neutral-PE} {pessimistic-PE} - Directly embed tool output results into the report as verification records
- Market capitalization verification:
任务3:行业与竞争分析
Task 3: Industry and Competition Analysis
- subject:
分析{行业}行业格局与{公司名}竞争态势 - description 包含:
- 行业规模与增长:市场规模、增速、渗透率
- 竞争格局:主要对手市场份额、竞争策略对比
- 核心竞争者威胁评估:逐个分析主要竞争对手
- 各细分赛道格局
- 行业趋势:技术变革、政策影响、新进入者
- 产业链分析:上中下游价值分配
- 要求搜索最新行业数据和竞争动态
- subject:
Analyze {industry}'s structure and {company-name}'s competitive landscape - description includes:
- Industry scale and growth: market size, growth rate, penetration rate
- Competitive landscape: market share of major competitors, comparison of competitive strategies
- Core competitor threat assessment: analyze major competitors one by one
- Structure of each segmented track
- Industry trends: technological changes, policy impacts, new entrants
- Industry chain analysis: value distribution in upstream, midstream and downstream
- Require searching latest industry data and competitive dynamics
任务4:风险与管理层评估
Task 4: Risk and Management Assessment
- subject:
评估{公司名}投资风险与管理层质量 - description 包含:
- 管理层评估:CEO能力圈、诚信度、战略眼光、资本配置能力、历史决策质量
- 监管风险:当前及潜在监管影响
- 竞争风险:各竞争对手威胁程度评估
- 业务风险:新业务亏损、扩张不确定性
- 宏观风险:经济周期、行业周期影响
- 治理结构:股权结构、关联交易、股东回报政策
- 长期确定性:10年后公司会怎样?什么可能颠覆其商业模式?
- 要求搜索最新监管动态、管理层言论等
- subject:
Assess {company-name}'s investment risks and management quality - description includes:
- Management assessment: CEO's circle of competence, integrity, strategic vision, capital allocation ability, quality of historical decisions
- Regulatory risk: current and potential regulatory impacts
- Competitive risk: assessment of threat levels from various competitors
- Business risk: losses from new businesses, expansion uncertainty
- Macro risk: impacts of economic cycle, industry cycle
- Governance structure: ownership structure, related party transactions, shareholder return policies
- Long-term certainty: What will the company be like in 10 years? What might disrupt its business model?
- Require searching latest regulatory dynamics, management statements, etc.
第四步:启动4个并行Agent
Step 4: Launch 4 Parallel Agents
使用 Task 工具同时启动4个Agent(必须在同一条消息中并行调用):
每个Agent的配置:
- :
subagent_typegeneral-purpose - :
run_in_backgroundtrue - : 对应团队名
team_name - : 对应角色名(business-analyst / financial-analyst / industry-researcher / risk-assessor)
name
每个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")Use the Task tool to launch 4 Agents simultaneously (must call the Task tool 4 times in the same message):
Configuration for each Agent:
- :
subagent_typegeneral-purpose - :
run_in_backgroundtrue - : Corresponding team name
team_name - : Corresponding role name (business-analyst / financial-analyst / industry-researcher / risk-assessor)
name
Prompt template for each Agent:
You are the "{Chinese-role-name}" in the {company-name} investment research team, responsible for analyzing {company-name} from the investment perspective of {master-name}.
Please complete Task #{task-number}: {task-subject}
Specific requirements:
{content-of-task-description}
**Research Methods**:
- Use WebSearch to search for the latest public information (financial reports, industry reports, news)
- **Financial data must come from two independent sources**, follow the specifications in `skills/financial-data.md` (US stocks: macrotrends+stockanalysis; Hong Kong stocks: aastocks+macrotrends; A-shares: East Money+CNINFO; Taiwan stocks: FinMind `tools/twstock_data.py`+Goodinfo), mark if the error between the two sources exceeds 1%
- Ensure data accuracy, mark sources for key data
- Conduct in-depth analysis, avoid superficial content
- **Forbidden to fake network failure**: If WebSearch is blocked/unavailable, forbidden to pretend to have network results using training knowledge. Must prominently mark "⚠️ This report failed to access the internet, based on training knowledge (cutoff date X), confidence level downgraded" at the top of the report, and truthfully inform the team-lead, who will decide whether to terminate the research
**Output Requirements**:
- The report must be detailed, use Markdown tables to present key data
- Each analysis dimension must have clear conclusions and ratings
- Include an overall conclusion for this dimension at the end of the report
**After Completion**:
1. Use TaskUpdate to mark Task #{task-number} as completed
2. Send the complete analysis report to the team-lead via SendMessage (type: "message", recipient: "team-lead")第五步:接收报告并跟踪进度
Step 5: Receive Reports and Track Progress
- 向用户实时展示进度表(哪些Agent已完成、哪些仍在研究中)
- 每收到一份报告,更新进度并展示该报告的核心要点(3-5条)
- 等待全部4份报告到齐
- Display a real-time progress table to the user (which Agents have completed, which are still researching)
- Update progress and display 3-5 core key points of the report each time a report is received
- Wait for all 4 reports to arrive
第六步:关闭团队成员
Step 6: Shut Down Team Members
全部报告收到后,向4个Agent发送 shutdown_request(使用 SendMessage,type: "shutdown_request")。
After receiving all reports, send a shutdown_request to the 4 Agents (using SendMessage, type: "shutdown_request").
第七步:汇总最终报告
Step 7: Summarize Final Report
综合4份分析报告,输出以下结构的最终报告:
Synthesize the 4 analysis reports and output the final report with the following structure:
1. 一句话结论
1. One-Sentence Conclusion
用一段话(50-100字)概括是否值得投资及核心逻辑
Summarize whether it is worth investing and the core logic in a paragraph (50-100 words)
2. 四维评分总表
2. Four-Dimension Rating Summary Table
| 维度 | 框架 | 评分(1-5星) | 核心判断 |
|---|
综合评分:X / 5
| Dimension | Framework | Rating (1-5 stars) | Core Judgment |
|---|
Overall Rating: X / 5
3. 核心数据速览
3. Core Data Overview
关键财务和经营指标表格(近2年对比)
Table of key financial and operating indicators (comparison of the past 2 years)
4. 各维度分析摘要
4. Analysis Summary by Dimension
每个维度摘取3-5条最重要的发现
Extract 3-5 most important findings from each dimension
5. 投资论点(Bull vs Bear)
5. Investment Arguments (Bull vs Bear)
- 🟢 看多逻辑(5-7条)
- 🔴 看空逻辑(5-7条)
- 🟢 Bull Case (5-7 points)
- 🔴 Bear Case (5-7 points)
6. 巴菲特买入前Checklist
6. Buffett's Pre-Buy Checklist
| # | 检查项 | 通过? | 说明 |
10个核心检查项,逐一评估
| # | Checklist Item | Pass? | Explanation |
10 core checklist items, evaluate one by one
7. 最终投资建议
7. Final Investment Recommendation
- 定性判断表(生意质量/管理层/估值/时机)
- 分层操作建议表(激进型/稳健型/保守型 → 建议+价格区间)
- 关键催化剂(加仓信号/减仓信号各3-5条)
- Qualitative judgment table (business quality/management/valuation/timing)
- Tiered operation recommendation table (aggressive/conservative/very conservative → recommendation + price range)
- Key catalysts (3-5 points each for buy signals/sell signals)
8. 总结段落
8. Summary Paragraph
100-200字的最终总结
Final summary of 100-200 words
第八步:保存报告
Step 8: Save Report
将完整最终报告写入 (日期格式 YYYYMMDD)。
~/{公司名}投资研究报告_{日期}.mdWrite the complete final report to (date format YYYYMMDD).
~/{company-name}_Investment_Research_Report_{date}.md第九步:数据抽检(准出流程)
Step 9: Data Sampling Inspection (Exit Process)
bash
undefinedbash
undefinedStep 1 — 提取抽检清单(15%随机抽样)
Step 1 — Extract inspection list (15% random sampling)
python3 tools/report_audit.py extract
--report <报告文件路径>
--report <报告文件路径>
python3 tools/report_audit.py extract
--report <report-file-path>
--report <report-file-path>
Step 2 — 对清单每项从可靠信源取数(参见 skills/financial-data.md)
Step 2 — Fetch data for each item in the list from reliable sources (refer to skills/financial-data.md)
Step 3 — 输出准出/打回判决
Step 3 — Output approval/rejection verdict
python3 tools/report_audit.py verdict
--results '<填好的JSON>'
--report <报告文件名>
--results '<填好的JSON>'
--report <报告文件名>
**【准出】** 全部通过 → 报告可发布;**【打回】** 有不通过 → 修正后重审。python3 tools/report_audit.py verdict
--results '<filled-JSON>'
--report <report-file-name>
--results '<filled-JSON>'
--report <report-file-name>
**【Approval】** All passed → Report can be published; **【Rejection】** Any failed → Revise and re-review.第十步:清理团队
Step 10: Clean Up Team
使用 TeamDelete 清理团队资源。
Use TeamDelete to clean up team resources.
重要注意事项
Important Notes
- 4个Agent必须并行启动——在同一条消息中调用4次Task工具
- Agent通过SendMessage汇报——不是文件协作,是消息通信
- 数据准确性——要求Agent使用WebSearch搜索最新数据,关键数据交叉验证
- 结论要明确——不回避给出买入/观望/回避建议和具体价格区间
- 所有分析必须有数据支撑——附数据来源
- 耐心等待——4个Agent研究需要几分钟,实时向用户更新进度
- 反偏见意识——team-lead在汇总时必须评估:各Agent的分析是否受限于资料充裕度?是否与市场共识过度趋同?最终报告需包含"信息丰富度评级"和"AI研究局限性声明"
- 信息稀缺时的诚实原则——宁可在报告中留白标注"数据不足",也不要用推测填满框架伪装确定性
- 4 Agents must be launched in parallel — Call the Task tool 4 times in the same message
- Agents report via SendMessage — Not file collaboration, but message communication
- Data Accuracy — Require Agents to use WebSearch to search for the latest data, cross-validate key data
- Clear Conclusions — Do not avoid giving buy/hold/avoid recommendations and specific price ranges
- All analysis must be supported by data — Attach data sources
- Be Patient — 4 Agents need a few minutes for research, update progress to the user in real-time
- Anti-Bias Awareness — When summarizing, the team-lead must evaluate: Are the analyses of each Agent limited by information abundance? Are they excessively convergent with market consensus? The final report must include "Information Abundance Rating" and "AI Research Limitation Statement"
- Honesty Principle When Information is Scarce — It is better to leave blank and mark "insufficient data" in the report than to fill the framework with speculation to fake certainty