Codex adapter note
This skill is generated from skills/bottleneck-hunter.md so Claude Code and Codex users share one canonical workflow.
- Treat
$ARGUMENTSas the user's request in the current Codex thread. - 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
tools/in this repository. Prefer running commands from the repository root with paths likepython3 tools/financial_rigor.py ...; if the current thread starts outside the repo, locate the actual checkout path first instead of assuming a fixed home-directory path. - Before starting research, run the
datecommand 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. - Preserve the research quality rules from
AGENTS.md: cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.
Execute supply chain bottleneck scanning and arbitrage opportunity discovery for the $ARGUMENTS supertrend.
Core Philosophy
Don't ask "what stocks does AI recommend," ask "if this trend continues to expand, which link will run short first?"
Traditional investment research watches leaders and known tracks. This system does the opposite:Start from the choke points of the physical supply chain, and find those companies that no one notices but that, once out of stock, the entire industry has to stop and wait for。
Source of excess returns: the first-layer bottlenecks (GPU, HBM, power) are already fully priced in. The real alpha is inthe second and third layers— optical modules, lasers, InP substrates, SOI wafers, epitaxy equipment, wafer-level testing, IC substrates, specialty glass fiber, etc.
Step One: Supertrend Confirmation
1.1 Trend Screening Criteria
Don't look for illusions in small fads; only pursue supertrends that meet all of the following conditions:
| Criterion | Requirement | Verification Method |
|---|---|---|
| Durability | At least 3-5 years of certain growth | Search industry forecasts, capex plans |
| Physicality | Requires actual hardware/material/equipment construction | Distinguish "software upgrades" from "physical expansion" |
| Scale | Global capex > $50 billion/year | Search capex guidance from leading players |
| Acceleration | Demand growth > supply expansion speed | Compare demand growth rate vs capacity expansion plans |
1.2 List of Supertrends Currently Tracked
Updated on each run, initial list:
- AI infrastructure construction — data centers, GPU clusters, network interconnection, power
- Energy transition — nuclear power restarts, grid upgrades, energy storage
- Defense modernization — rising Western military spending cycle, supply chain restructuring
- Semiconductor reindustrialization — US/EU/Japan subsidized factory construction, equipment/material bottlenecks
- Space economy — satellite internet, surging launch frequency
If the user specifies a particular trend (such as "AI infrastructure"), focus only on that trend.
1.3 Trend Verification Output
趋势名称:
核心驱动力:(一句话)
已发生的验证事件(至少3个):
1. [日期] [事件] [来源]
2.
3.
资本开支规模:全球约 $XX 亿/年,增速 YY%
供需缺口判断:需求增速 > 供给扩产速度?是/否/不确定
趋势确认:✅ 可追踪 / ❌ 证据不足,暂不追踪
Step Two: Physical Supply Chain Decomposition
2.1 Layered Decomposition Framework
Don't stop at the conceptual level; decompose down to physical entities。
Layer 0(终端):最终产品/服务
│
Layer 1(核心组件):已被市场充分关注的核心硬件
│ ⬆ 定价充分,alpha有限
│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
│ ⬇ 关注度低,alpha集中区
│
Layer 2(子组件/材料):支撑核心组件的零部件和材料
│
Layer 3(上游设备/原料):制造子组件所需的设备和原材料
│
Layer 4(基础设施):电力、冷却、土地、人才、认证
2.2 Decomposition Template Using AI Infrastructure as an Example
Layer 0:AI模型训练/推理服务
Layer 1:GPU/加速器、HBM内存、服务器、数据中心
Layer 2(重点扫描区):
├─ 网络互联:光模块、光纤、交换芯片、铜缆
├─ 光通信核心:激光器(EML/VCSEL/CW)、调制器、光探测器
├─ 半导体材料:InP衬底、GaAs衬底、SOI晶圆、SiC衬底
├─ 先进封装:CoWoS载板、HBM TSV、ABF基板膜
├─ PCB/载板:高频高速PCB、IC载板、特殊玻纤布
├─ 测试:晶圆级测试(Probe Card)、老化测试、ATE
├─ 散热/冷却:液冷系统、CDU、浸没式冷却液
└─ 电力连接:母线槽、UPS、配电柜、变压器
Layer 3:
├─ 外延设备:MOCVD、MBE
├─ 光刻/刻蚀:特殊波长光刻、InP刻蚀
├─ 原材料:高纯金属(铟、镓、锗)、特气、靶材
└─ 认证/标准:MSA标准、Telcordia认证
Layer 4:
├─ 电力:核电、天然气发电、输变电
├─ 冷却水/散热基础设施
└─ 数据中心土地/许可
2.3 Decomposition of Other Trends
Perform similar decomposition for each confirmed supertrend. Use WebSearch to search:
- "{trend} supply chain bottleneck 2026"
- "{trend} shortage critical component"
- "{trend} capacity constraint"
- "{trend} sole source supplier"
Step Three: Bottleneck Identification — Finding the "Choke Points"
3.1 Six Criteria for Bottleneck Determination
For each link in Layer 2-3, evaluate one by one:
| # | Criterion | Question | Score |
|---|---|---|---|
| 1 | Supply concentration | Fewer than or equal to 3 global suppliers? | 🔴 ≤2 / 🟡 3-5 / 🟢 >5 |
| 2 | Capacity expansion cycle | How long does it take to add new capacity? | 🔴 >2 years / 🟡 1-2 years / 🟢 <1 year |
| 3 | Substitutability difficulty | Can it be replaced by other technologies/materials? | 🔴 Non-substitutable / 🟡 Partially substitutable / 🟢 Easily substitutable |
| 4 | Capacity utilization | Current capacity utilization? | 🔴 >90% / 🟡 70-90% / 🟢 <70% |
| 5 | Demand growth rate | Downstream demand growth rate? | 🔴 >50%/year / 🟡 20-50% / 🟢 <20% |
| 6 | Customer validation cycle | How long does validation take for a new supplier to enter? | 🔴 >1 year / 🟡 6-12 months / 🟢 <6 months |
Bottleneck rating:
- 🔴🔴🔴 ≥4 → S-tier bottleneck(single point of failure level, highest priority)
- 🔴🔴 3 → A-tier bottleneck(severely constrained)
- 🔴 1-2 → B-tier bottleneck(under pressure but manageable)
- No 🔴 → not a bottleneck, skip
3.2 Bottleneck map output
供应链瓶颈地图 — {趋势名称}
更新日期:YYYY-MM-DD
S级瓶颈(单点故障):
1. [环节名] — [原因一句话] — 供应商:[公司列表]
2.
A级瓶颈(严重受限):
1.
2.
B级瓶颈(有压力):
1.
2.
最近变化(vs上次扫描):
- [新增/升级/降级/解除] [环节名] — [原因]
Step 4: Company screening — from bottlenecks to targets
4.1 For each S-tier and A-tier bottleneck, identify all relevant listed companies
Search methods:
- WebSearch "{bottleneck segment} supplier listed company"
- WebSearch "{bottleneck segment} manufacturer stock"
- WebSearch "{bottleneck product} market share company"
4.2 Preliminary screening criteria (quick filter)
| Criteria | Requirement | Rationale |
|---|---|---|
| Listing status | Already listed (A/HK/US/Japan/Taiwan/Europe) | Tradable |
| Share of bottleneck business | >30% of revenue from the bottleneck segment | Purity |
| Market cap | Preferably <$10 billion | Large market caps are already fully priced in |
| Liquidity | Average daily turnover >$1 million | Can enter and exit |
4.2.1 Valuation check (mandatory, cannot be skipped)
A real bottleneck ≠ an investment opportunity. PS and PE must be calculated for each company and noted in the report. The following combined conditions are used to judge whether valuation has run ahead:
Valuation red flag (if any one is met → signal strength capped at ★★, marked "⚠️ valuation overextended")
- Market cap > 20% of TAM: The company's market cap already exceeds 20% of its addressable market size, indicating that growth expectations have been over-internalized
- PS > 30x and revenue growth < 100%: High valuation but growth is insufficient to support it. Companies with growth >100% may be exempt from the PS red line, but must still be marked "⚠️ high valuation requires sustained high growth verification"
- Market cap > 10x the 5-year optimistic revenue forecast: Even if the most optimistic assumptions are fully realized, current pricing is still too high
- Stock price doubles within 60 days after equity issuance: Sentiment-driven characteristics are obvious, signal strength is downgraded by one level
Valuation yellow flag (requires additional explanation, otherwise downgraded)
- Loss-making + PS > 15x: Allowed to enter ★★★ but must explain the profit path and timeline
- PS is more than 5 times that of profitable peers: Must explain the source of the premium (market share, growth differential, moat differences)
- PE > 80x: Need to calculate PEG and explain whether the growth rate supports it
Valuation green light (bonus item)
- PS < 10x and revenue is growing → signal strength can be raised by one level
- PE < 30x and has a moat → label "valuation has a margin of safety"
Valuation reasonableness check (mandatory)
For each target, answer: "If you buy at the current market cap, assume the most optimistic scenario fully materializes, and exit at 25x PE after 10 years, what is the annualized return?" Annualized return < 10% → label "the current price does not have a margin of safety".
Note: The purpose of the valuation check is to prevent obviously wrong recommendations like "a loss-making company at 100x PS", not to exclude all high-valuation early-stage companies. The key is whether growth, TAM, and the competitive landscape can support the current valuation; this requires specific analysis rather than a one-size-fits-all approach.
Taiwan stock data retrieval: Supply chain scans often hit Taiwan stocks (4-digit numeric codes, such as 2330, 3661), and their quotes/PER/market cap/monthly revenue uniformly use python3 tools/twstock_data.py(FinMind data source, usage see skills/financial-data.md Taiwan stock section). Taiwan stocks are required to disclose the previous month's revenue before the 10th of each month, and year-over-year monthly revenue is the fastest public signal for verifying bottleneck "rising volume and price".
4.3 In-depth screening dimensions
For companies that pass the initial screening, evaluate each one:
## {公司名}({代码})
**瓶颈定位**:
- 在供应链中的具体位置
- 市场份额:全球第X,占比XX%
- 客户名单(已知的)
**产能与扩张**:
- 当前产能 / 利用率
- 扩产计划 / 时间表
- 扩产所需资金 vs 现有现金
**财务快照**:
- 市值 / 收入 / 利润 / 增速
- 瓶颈业务收入占比
- 毛利率趋势(瓶颈越紧,毛利率应上升)
**风险检查清单**:
- [ ] 替代技术风险:能否被绕过?
- [ ] 稀释风险:有无大量增发/可转债?
- [ ] 地缘风险:是否在敏感地区/受出口管制?
- [ ] 管理层风险:有无不良记录?
- [ ] 客户集中风险:是否过度依赖单一客户?
- [ ] 估值透支:当前估值是否已反映3年增长?
**瓶颈持续性判断**:
- 这个瓶颈什么时候会被解除?
- 解除后这家公司还有什么?
- 是一次性还是持续的?
Step 5: Cross-validation — do not just listen to one story
5.1 Positive validation
| Validation item | Question | Search method |
|---|---|---|
| Customer validation | Have leading customers already signed/onboarded? | Search company announcements and mentions in customer financial reports |
| Revenue validation | Has the bottleneck already shown up in revenue growth? | Search the most recent 2-3 quarterly financial reports |
| Price validation | Are products raising prices? | Search industry quotes and analyst reports |
| Capacity validation | Is capacity really tight? | Search lead time data and customer complaints |
| Capital validation | Is there capex for capacity expansion? | Search company capex guidance |
5.2 Reverse validation (Munger-style negation)
| Reverse question | Significance |
|---|---|
| Why don't smart people buy this stock? | Look for known bearish arguments |
| Can this bottleneck be bypassed? What alternative routes are there? | Technology route risk |
| Can China/other players quickly replicate the capacity? | Supply shock risk |
| If end demand slows by 50%, what happens to this company? | Downside sensitivity |
| Has management previously issued shares at highs and diluted shareholders? | Management trustworthiness |
| What growth assumptions are implied by the current valuation? | Valuation reasonableness |
5.3 Signal cross-validation
- Are multiple companies in the same bottleneck all rising? (industry validation)
- Do downstream customers mention supply tightness in their financial reports? (customer validation)
- Do industry associations/research institutions have relevant data? (third-party validation)
Step 6: Output — Bottleneck Opportunity Dashboard
6.1 Bottleneck Opportunity Ranking Table
| Rank | Company | Ticker | Market Cap | Annual Revenue | PS | PE | Bottleneck Segment | Bottleneck Rating | Market Share | Revenue Growth | Signal Strength | Valuation Assessment |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | x | x | S/A | ★1-5 | Reasonable/High/Overextended |
Required Fields: Market cap, annual revenue, PS, and PE are required fields and cannot be skipped with "to be verified." If financial data cannot be obtained, signal strength must not exceed ★★.
Signal Strength Rating (valuation check results directly affect the rating):
- ★★★★★ Multiple cross-validations, customers have adopted it, revenue has reflected it, valuation green light (reasonable PS + profitable or near profitable)
- ★★★★ Most validations passed, valuation green light or yellow light (explanation required)
- ★★★ Logic holds but partially pending verification, valuation yellow light acceptable (e.g., high-growth early-stage company)
- ★★ Early signal, or bottleneck logic holds but valuation red light (market cap > 20% of TAM, PS > 30x with insufficient growth, market cap far exceeding 5-year forecast, etc.)
- ★ Pure concept, unverified
6.2 One-Page Summary for Each Opportunity
🎯 {公司名}({代码})— {一句话瓶颈定位}
为什么是瓶颈:
(2-3句话解释这个环节为什么卡脖子)
为什么是这家公司:
(2-3句话解释为什么是这家而不是别家)
催化剂时间线:
- 近期(1-3月):[具体事件,如财报、产能投产、客户验证]
- 中期(3-12月):[行业趋势、扩产节点]
主要风险:
1.
2.
关键数据:市值 $XX / 年收入 $XX / PS Xx / PE Xx / 收入增速 XX% / 瓶颈业务占比 XX%
估值安全边际检验:以当前市值买入、10年后25x PE退出,需要净利润达到$XX,对应年收入$XX(是今天的X倍),年化回报XX%。结论:有/无安全边际。
交叉验证状态:✅ 客户验证 / ✅ 收入验证 / ✅ 估值合理 / ⚠️ 估值透支 / ❌ 未验证项
结论:值得深入研究 / 加入观察名单 / 暂不追踪
6.3 Action Recommendations
| Target | Recommended Action | Rationale |
|---|---|---|
| A | Execute /investment-team in-depth research |
S-tier bottleneck + multiple validations |
| B | Add to watchlist, wait for next quarter's earnings | Logic holds but revenue has not reflected it |
| C | Do not track for now | Replacement technology risk is too high |
Step 7: Stock Update — Dynamic Maintenance of the Bottleneck Map
7.1 Incremental Update on Each Run
-
Check whether identified bottlenecks still hold
- Have any new suppliers entered?
- Has capacity been expanded enough to relieve the bottleneck?
- Have there been breakthroughs in replacement technologies?
-
Scan for newly emerging bottlenecks
- Search supply chain / shortage / bottleneck news from the last 7 days
- Check supply chain-related disclosure during earnings season
-
Update bottleneck ratings (upgrade/downgrade/resolve)
7.2 Status Files
In the reports/bottleneck-map/ directory, maintain:
master-map.md— Master bottleneck map (continuously updated)watchlist.md— Watchlist (continuously updated)YYYY-MM-DD/— One folder per day, containing all scan reports for that daydeep-dive/— Create separate files for companies analyzed in depth
Hourly Scanning Mode (used for scheduled tasks)
Run once per hour, using the "only report when there is something worthwhile" mode:
Scanning Process (Hourly)
- News Scan: Search for supply chain-related news from the past 1-2 hours
- Keywords: supply chain bottleneck, shortage, capacity constraint, allocation, lead time, sole source, bottleneck, stockout, capacity, price increase
- Coverage: English + Chinese sources
- Market signals: Check stock price changes of tracked companies (especially abnormal fluctuations >5%)
- Earnings/announcements: Check whether bottleneck-related companies have released earnings or major announcements
- Valuation opportunities: Check whether companies on the watchlist have entered the buy zone due to market declines or other reasons
- Determine whether to issue a report:
- There are new bottleneck signals, clear target opportunities, or major status changes → Issue a report
- No new findings → Do not issue a report, and only record "no new signals this round" in the log
Report output rules
One folder per day:reports/bottleneck-map/YYYY-MM-DD/
File naming rules(see at a glance from the filename whether there is a target):
| Situation | Filename format | Example |
|---|---|---|
| Clear target found | HH-MM-标的代码1-标的代码2.md |
09-00-FORM-IBDN.md |
| Bottleneck signal but no clear target | HH-MM-信号扫描.md |
14-00-信号扫描.md |
| No new findings | No file generated | — |
The target code in the filename = a company that passes the valuation check and is worth in-depth research. Companies that appear only in the signal scanning stage but fail valuation are not included in the filename.
Report template (when there is a target)
# 瓶颈猎手 — YYYY-MM-DD HH:MM
## 明确标的
### {公司名}({代码})— {一句话瓶颈定位}
**为什么现在值得关注**:(触发本次关注的具体事件/数据变化)
**瓶颈定位**:Layer X,{环节名},瓶颈评级 S/A/B
**财务快照**:市值 $XX / 年收入 $XX / PS Xx / PE Xx / 收入增速 XX%
**估值检查**:红灯/黄灯/绿灯(具体说明)
**估值安全边际**:10年25xPE退出法,年化回报XX%
**看多逻辑**(2-3条):
1.
2.
**看空逻辑**(2-3条):
1.
2.
**建议**:执行深入研究 / 加入观察 / 等待更好价格
---
## 其他信号(无明确标的)
| 环节 | 信号 | 来源 | 初步判断 |
|------|------|------|---------|
## 观察名单状态变化
(升级/降级/新增/移除,无变化则写"无变化")
Report template (signal scanning only)
# 瓶颈猎手信号扫描 — YYYY-MM-DD HH:MM
## 新信号
| 环节 | 信号描述 | 来源 | 是否有可投资标的 | 下一步 |
|------|---------|------|----------------|-------|
## 观察名单状态
无变化 / 有变化(列出)
AI research bias awareness
| Bias | Manifestation | Countermeasure |
|---|---|---|
| Leader preference | Search results are dominated by large-cap companies | Deliberately search for small-cap suppliers, add the "small cap" keyword |
| English preference | Missing Japanese, Korean, and Taiwanese companies | Must search suppliers in the Japanese/Korean/Taiwanese markets |
| Narrative preference | Being attracted by the "AI concept" label | Only look at the actual supply chain position, not market labels |
| Confirmation bias | After finding a bottleneck, only look for supporting evidence | Enforce reverse verification (step five) |
| Recency bias | Relying on outdated information | Prioritize searching data from the last 30 days |
Core principles (highest priority)
- Do not let AI recommend stocks, let AI break down the supply chain — questions are more important than answers
- Physics first — only focus on links that require actual physical products/materials/equipment
- Second layer, third layer — do not chase leaders that have already been fully priced in
- Cross-validation — each conclusion requires at least 2 independent sources
- Honestly face uncertainty — if data cannot be found, write "insufficient data"; do not fill it in with speculation
- Bottlenecks are time-sensitive — every bottleneck will be resolved; the key is to judge the time window
- Small market cap ≠ good opportunity — a small market cap can also be a bad company; it must pass the financial quality gate
- A real bottleneck ≠ an investment opportunity — a company can sit on the tightest bottleneck, but if PS>30x or it is still losing money, the current price is not a buy point.Valuation is a hard threshold and cannot be overridden by bottleneck purity, signal strength, or narrative appeal. Better to miss a bottleneck stock that went up than to buy a loss-making company at 100x PS
- Follow the objectivity principle of CLAUDE.md — do not presume a bullish view; data first, conclusions later
Output requirements
- Report location:
- Full scan:
reports/bottleneck-map/{趋势名}-bottleneck-{YYYYMMDD}.md - Daily scan:
reports/bottleneck-map/daily/{YYYY-MM-DD}-{am/pm}.md - Bottleneck master map:
reports/bottleneck-map/master-map.md - Watchlist:
reports/bottleneck-map/watchlist.md
- Full scan:
- Language: Chinese
- Style: Direct, sharp, no nonsense
- Data: All data must cite sources; estimated values marked "estimate"
- Do not presume a position: Present data first → reason through the logic → draw conclusions
- Both sides: Each core judgment must include counterarguments