Analyze stock
Investment-research skills for Claude Code: top-down macro-aware framework, bilingual EN/CN NL triggers, Telegram alerts (2-min cron + 1-3s webhook). For personal-finance buy-side use (swing/position/LEAPS) — not HFT. See NEXT-STEPS.md for roadmap.
npx -y skills add ssurmic/claude-investment-skills --skill analyze-stockAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Top-down deep dive analysis on a US-listed stock with macro context, valuation audit, insider check, catalysts, and 3-tier entry plan with LEAPS option. Pulls live data via yfmcp. Triggers in English ("analyze X", "is X a buy", "deep dive on X", "should I buy X", "what about X stock", "research X") or Chinese ("分析 X", "X 怎么样", "X 能买吗", "深度看一下 X", "调研 X", "X 这只股票").
SKILL.md
11.7 KB, as published. Nobody here has run it
Analyze Stock — 10-Step Top-Down Master Framework
The job: deliver a fund-manager-grade analysis that connects macro context → year theme → sector position → individual thesis → entry plan. Every claim has concrete evidence. Every recommendation has size + reason.
Prime Directive
Never analyze a stock in isolation. A great stock in a bad macro window is still a sell. Always start with macro, end with sizing.
The 10 Steps (run in order)
Step 1 — Macro backdrop & event calendar (NEW: MANDATORY)
Before touching the stock, ask:
- What's the regime today? (risk-on melt-up / chop / late-cycle / risk-off / bear)
- What macro events in the next 30 days could move this stock?
- Fed meetings, FOMC minutes, CPI, NFP
- Trade summits (Trump-Xi 5/14-15, G20)
- BOJ meetings (carry trade trigger)
- OPEC (oil/inflation)
- Major regulatory (FTC, SEC, China MOFCOM)
- Geopolitical hotspots (Taiwan, Iran/Hormuz, Russia)
Tools:
WebSearch: "[stock] macro impact [next event]" e.g., "NVDA Trump-Xi summit impact"WebSearch: "Fed meeting [next month]", "BOJ meeting [next month]"
Output: 1 paragraph naming the regime + 3 bullet macro events that affect THIS stock.
Step 2 — Year theme alignment
Identify which annual narrative this stock fits. Common 2026 themes:
- K-shape divergence (winners up, losers crushed within sectors)
- AI = factory/capex mode (hyperscalers buy compute like factories buy machines)
- Power as AI bottleneck (nuclear/gas/utilities revaluation)
- Late-cycle demand destruction risk (oil/inflation pressure)
- Yen carry trade unwind risk (BOJ rate hikes triggering JPY borrowing reversal)
Question: Does this stock benefit from this year's theme, or fight it?
Step 3 — Sector position + Industry chain mechanics
Step 3a: Sector classification
- Which sector? (Use yfmcp
get_ticker_info→sector) - Sector status: 过热 / 合理 / 未爆发 / 熊市
- Within sector, is this 龙头 / 二线 / 笨马?
- Sector ETF distance from 50DMA / 200DMA (overheated check)
Step 3b: Industry chain position (CRITICAL — different sub-sectors have different growth mechanics)
Identify which growth model this stock fits:
| Growth Model | Mechanics | Examples | Predictability |
|---|---|---|---|
| Capacity-bottlenecked downstream | Cannot grow faster than upstream allows | Optical modules tied to NVDA GPU schedule, OSAT tied to TSMC | 🔴 Low — "缺料"是常态 |
| Independent capacity expansion | Owns fabs, can scale on own timeline | Memory (MU/WDC), SiC fabs (WOLF), some semis | 🟢 High — capex visibility |
| Demand-elastic with structural growth | Demand >> supply, can raise price | NVIDIA GPUs, AI ASICs (AVGO/MRVL), ARM IP | 🟢 High — pricing power |
| Cyclical commodity | Boom-bust by macro | Memory DRAM/NAND cycle, copper, oil | 🟡 Medium — cycle visibility |
| Long-cycle infrastructure | Multi-year buildout, slow but visible | Power utilities, gas pipelines, data center REIT | 🟢 High — backlog-driven |
| Service/SaaS recurring | ARR-based, low capex sensitivity | Oracle DB, Cisco software, EDA (CDNS/SNPS) | 🟢 Highest — recurring rev |
Identify bottleneck specifically:
- What limits this stock's growth? (component shortage / fab capacity / customer demand / regulation)
- Is the bottleneck upstream or downstream of this stock?
- Does this stock have pricing power against the bottleneck?
Critical insight: A "great thesis" stock with the wrong growth model is still wrong. Example:
- Optical modules ride AI capex BUT are capacity-bottlenecked by GPU schedules
- Memory rides AI capex AND can expand independently
- Same upside narrative, very different earnings trajectory
Tools:
mcp__yfmcp__yfinance_get_ticker_infofor sectorWebSearch: "[sector] supply chain bottleneck", "[ticker] capacity expansion", "[ticker] supply constraints"
Step 4 — Price snapshot + technicals
Pull live data via mcp__yfmcp__yfinance_get_ticker_info:
- Current price, day range, 52W range, ATH/ATL
- 50DMA, 200DMA — calculate % distance from each
- 6mo, 1Y change
- Beta, average volume
Red flags:
- 现价 +30%+ above 50DMA = 抛物线
- 现价 +50%+ above 200DMA = 极端透支
- 1Y >+200% = 概率回调
Step 5 — Full valuation audit + sub-sector value ranking
Compute via yfmcp:
- Forward P/E (most important)
- PEG (Forward P/E / EPS growth %)
- P/S, P/B
- EV/EBITDA, EV/Revenue
- OPM, Net margin, ROE, ROA
- FCF (TTM), Operating CF, Total Debt, Cash
- D/E ratio
Compare to 2-3 peers (same sub-sector, similar size). Use WebSearch if unclear who peers are.
Output table with cost-benefit ranking: | Metric | This Stock | Peer 1 | Peer 2 | Peer 3 | Verdict | | Forward P/E | X | Y | Z | W | Cheapest / Mid / Most expensive | | PEG | X | Y | Z | W | | | 1Y % | X | Y | Z | W | Most laggard / leader | | Distance from ATH | X | Y | Z | W | | | Capacity model | (from Step 3b) | | | | |
Rank within sub-sector:
- 🟢 Best value: Cheapest PE/PEG + clean capacity model + lagging price
- 🟡 Fair value: Middle of pack
- 🔴 Stretched: Most expensive in sub-sector at ATH
Sub-sector cost-benefit examples (showing why peer ranking matters):
- Memory: MU PE 5.3 vs WDC PE 24.8 — both AI memory but very different value
- Optical: COHR PE 43 vs LITE PE 59 — same sub-sector, COHR cheaper
- AI Power: EQT PE 12.6 vs AEP PE 19.9 vs ETR PE 23.3 — tier by valuation
- Hyperscaler: ORCL PE 21 vs MSFT PE 33 — similar AI thesis, different valuations
Step 6 — Concrete catalysts (last 30 days + next 30 days)
Past 30 days:
- Last earnings results (beat/miss, guidance)
- New contracts/customer wins
- Analyst upgrades/downgrades with specific targets
- M&A activity
Next 30 days:
- Earnings date + implied move from straddle
- Conferences (e.g., Computex, GTC, Investor Day)
- Product launches
- Macro events from Step 1
Tools:
WebSearch: "[ticker] earnings [last quarter]"WebSearch: "[ticker] news [current month]"WebSearch: "[ticker] analyst price target [current month]"
Step 7 — Insider trading (MANDATORY — use insider_ratio.py v3, openinsider primary)
Never trust yfinance "Net Shares Purchased" headline — it counts RSU as buys. Form 4 code "P" is the only real-buy signal; A/M/F/G are compensation flows. Verify any "cluster buy" claim at openinsider.com/[TICKER] — news routinely mislabels DSU/RSU grants as cluster buys.
Run (uses openinsider as primary source, 90-day default window, code-aware):
uv run --with yfinance python $(ls ~/.claude/{skills,plugins/claude-investment-skills}/review-investment-screenshot/scripts/insider_ratio.py 2>/dev/null | head -1) "TICKER" --window 90
For high-stakes calls add --source both to cross-verify against yfinance.
Verdict ladder:
| Buy/Sell ratio | Verdict |
|---|---|
| Buy ≥ 2× Sell | 🟢 STRONG BUY |
| Buy ≥ Sell | 🟡 Mild buy |
| Buy 0.1×-1× Sell | 🟡 Mixed |
| Buy < 10% Sell | 🔴 DISTRIBUTION |
| Buy = 0, Sell > 0 | 🔴 INSIDERS ONLY SELLING |
Always report seniority: CEO > CFO > Director > Officer. CEO buying $1M >> 5 directors selling $5M.
Step 8 — Risk dissection (bear/base/bull)
For each, give specific price target + assumption:
| Scenario | Probability | 12mo target | Trigger |
|---|---|---|---|
| 🟢 Bull | X% | $Y | What needs to happen |
| 🟡 Base | X% | $Y | What needs to happen |
| 🔴 Bear | X% | $Y | What needs to happen |
| 💀 Black swan | X% | $Y | E.g., yen carry, war |
Calculate weighted average price = Σ(probability × target).
Step 9 — Entry plan (3 tiers)
| 价位 | 性质 | 仓位 % |
|---|---|---|
| 现价 | 试仓 | 30% |
| 50DMA | 健康回调 | 30% |
| 200DMA | 库重 | 40% |
Position size cap: any single stock max 8-10% of portfolio, max 5% for high beta/parabolic names.
Step 10 — LEAPS recommendation (if applicable)
For each stock, also check:
mcp__yfmcp__yfinance_get_option_dates- For 2027/1 and 2028/1 expiries: pull option chain
- Filter: OI > 1000, IV < 80%, ATM to +20% OTM
Recommend 1-2 strikes with:
- Mid price
- Breakeven
- 2x scenario
- Max loss (premium)
LEAPS over stock when: high conviction + want leverage + IV reasonable. Stock over LEAPS when: dividend yield matters + tax efficiency + uncertain timeline.
Output format
# [TICKER] Deep Dive — [Date]
## TL;DR (Verdict)
[One paragraph: action + size + reason]
## Step 1 — Macro Context
- Regime: [tag]
- Macro events 30d: [list with dates]
## Step 2 — Year Theme Fit
[Which 2026 narrative? Yes/No fit?]
## Step 3 — Sector Position
[Sector / leader-laggard / overheated?]
## Step 4 — Price + Technicals
| Metric | Value | Signal |
## Step 5 — Valuation
[Table vs peers]
## Step 6 — Catalysts
- Past 30d: [list]
- Next 30d: [list with dates]
## Step 7 — Insider
[Run insider_ratio.py output + verdict]
## Step 8 — Scenarios
[Bear/base/bull table]
## Step 9 — Entry Plan
[3-tier table with $ and %]
## Step 10 — LEAPS
[Recommended strikes + R/R]
## What I'd do today
[Specific action: buy X shares at $Y / wait for Z / hedge with W]
Hard rules
- Always start with macro. A perfectly priced stock in a bad regime is still wrong.
- Never skip insider check. Use insider_ratio.py — yfinance summary is RSU-polluted.
- Concrete evidence over narrative. "AI is good" ≠ thesis. "Microsoft signed $19.4B 5-year contract on 9/22/2025" = thesis.
- Position size has a CAP. No single stock >10%, no high-beta name >5%.
- 3-tier entry mandatory. No "buy at market" recommendations.
- If insider distribution + parabolic price → 🔴 even if business is great. ADI/TER pattern.
- Report what's NOT priced in. ORCL pattern: China=0 in NVDA case = pure upside.
- Always check 30-day macro events. Trump-Xi, BOJ, FOMC, OPEC.
Common patterns to recognize
| Pattern | Example | Signal |
|---|---|---|
| 已涨爆 + 内部人卖 + 距 ATH < 5% | ADI, TER, AVGO 4/2026 | 🔴 顶部分发 |
| 估值便宜 + 大跌 -50% + 反转早期 | ORCL 5/2026, NOK 2024 | 🟢 narrative reversal |
| 1Y 落后 + PE 低 + 真 thesis | EQT, AEP, HBM 2026 | 🟢 未爆发 |
| 业绩好 + 但指引平 | TER 4/2026, AMD 2/2026 | 🔴 priced in,跌 |
| Insider 集中买 (3+ 高管 1 周内) | CEVA 2026, COHR 2024 | 🟢 STRONG BUY signal |
| 高 beta + 客户集中 | APLD (CRWV 60%) | 🔴 单点失败风险 |
When user asks "is X a buy?"
Run all 10 steps. Don't shortcut. The user is asking for a full analysis, not an opinion.
Tool cheat-sheet
| Need | Tool |
|---|---|
| Live price + valuation | mcp__yfmcp__yfinance_get_ticker_info |
| Historical prices | mcp__yfmcp__yfinance_get_price_history |
| Option chain | mcp__yfmcp__yfinance_get_option_chain |
| News | mcp__yfmcp__yfinance_get_ticker_news + WebSearch |
| Insider | `$(ls ~/.claude/{skills,plugins/claude-investment-skills}/review-investment-screenshot/scripts/insider_ratio.py 2>/dev/null |
| Max pain | `$(ls ~/.claude/{skills,plugins/claude-investment-skills}/review-investment-screenshot/scripts/max_pain.py 2>/dev/null |
| Option walls | `$(ls ~/.claude/{skills,plugins/claude-investment-skills}/review-investment-screenshot/scripts/option_walls.py 2>/dev/null |
| Macro events | WebSearch |