MCPcopy
hub / github.com/wbh604/UZI-Skill

github.com/wbh604/UZI-Skill @v3.9.1 sqlite

repository ↗ · DeepWiki ↗ · release v3.9.1 ↗
1,546 symbols 5,360 edges 196 files 862 documented · 56%
README

游资 (UZI) Skills

"51 legendary investors review your stock picks — Buffett and a Chinese day-trader finally sit at the same table."

License: MIT Python 3.9+ Claude Code Dimensions Investors Methods Self-Review

A-share / HK / US deep-analysis engine — with first-class Chinese-market coverage Western terminals don't touch. v3.4.4: data-quality banner UX (ETF "17% coverage" no longer reads as data failure · WCAG-compliant contrast on orange) · v3.4.3: open-end mutual fund classification + field-level basic fallback · v3.4.2: Windows + Clash Schannel TLS compat · v3.4.1: verdict granularity refinement. 397 pytest pass.

Install · Usage · Why Western Investors Should Care · Jury Panel · Methods · Self-Review Gate 🆕 · Screenshots · FAQ

English | 中文


🌏 Why Western Investors Should Care

If you've ever tried to research a Chinese A-share from outside China, you know the pain: - Bloomberg covers HK and ADRs, but A-share data is thin and the context is missing. - Reuters / FT give you macro headlines, not per-company fundamentals. - Anthropic's financial-services-plugins ships great institutional models (DCF / LBO / Comps) — US-only, and gated behind paid FactSet / S&P feeds. - You end up copy-pasting from Eastmoney through Google Translate, and by the time you've built a DCF in Excel, the name's already moved 8%.

This plugin fixes the Chinese half of that problem. It reads A-share / H-share / US markets with the same interface, speaks to 20+ free Chinese data sources (akshare / Eastmoney / XueQiu / CNInfo / HKEXNews / mx妙想 API), and hands Claude enough context to actually reason about a Chinese company — not just translate its ticker.

It's also why this exists: if legends get Chinese stocks wrong, ordinary investors need every analytical advantage they can get. Charlie Munger famously loaded up on Alibaba (BABA) through Daily Journal Corp in 2021, then had to cut the position in half in 2022 after a ~70% drawdown. At the 2022 DJCO meeting, Munger called it "one of the worst mistakes I ever made" — an estimated nine-figure hit. Even one of the greatest investors of all time underestimated how differently the Chinese regulatory and competitive landscape behaves.

So yes — this plugin helps you understand Chinese names like Alibaba (BABA / 09988.HK), Tencent (00700.HK), Kweichow Moutai (600519.SH), CATL (300750.SZ), BYD (002594.SZ), Pop Mart (09992.HK), Pinduoduo (PDD) — the same names that keep showing up in Western portfolios and keep surprising their owners 😉


What It Does

One sentence: give it a ticker, Claude becomes your analyst — pulls 22 dimensions of data, runs 17 Wall-Street analysis models, has 52 investors with distinct methodologies score the stock, and produces a 600 KB Bloomberg-style HTML report.

/stock-deep-analyzer:analyze-stock 600519         # Kweichow Moutai (A-share)
/stock-deep-analyzer:analyze-stock 00700.HK       # Tencent (HK)
/stock-deep-analyzer:analyze-stock BABA           # Alibaba ADR
/stock-deep-analyzer:analyze-stock AAPL           # Apple

After 5-8 minutes you get: - A self-contained HTML report — opens in any browser, works offline - A portrait share card (1080×1920) for social media - A landscape war-report card (1920×1080) - A one-line summary for chat / Slack / Telegram


💬 Test Group & Feedback

This is early-stage; forum reports plenty of bugs. If you want to help test or just trade notes, WeChat group QR below (primarily Chinese-speaking — if you prefer English, file issues on GitHub and we'll reply). For the latest features, track the develop branch.

WeChat group QR code


Install

No matter which agent you use, one line does it:

Claude Code

/plugin marketplace add wbh604/UZI-Skill
/plugin install stock-deep-analyzer@uzi-skill

Then say /stock-deep-analyzer:analyze-stock Tencent or /stock-deep-analyzer:analyze-stock 00700.HK.

⚠️ Always use the stock-deep-analyzer: namespace prefix

After install, all skills/commands live under stock-deep-analyzer:<name>. Short names (/analyze-stock) don't always resolve in every environment — to be safe, always use the full name: - /stock-deep-analyzer:analyze-stock <ticker> - /stock-deep-analyzer:quick-scan <ticker> - /stock-deep-analyzer:scan-trap <ticker> - /stock-deep-analyzer:dcf <ticker> / :ic-memo / :investor-panel / :trap-detector / ...

Cursor / Gemini CLI / Codex behave the same way — use the full prefixed name.

Codex

Just tell Codex:

Please follow https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.codex/INSTALL.md to install UZI-Skill, then deep-analyze Alibaba (BABA).

OpenClaw / 龙虾

Install https://github.com/wbh604/UZI-Skill and analyze Tencent (00700.HK) for me.

Cursor

/add-plugin stock-deep-analyzer

Then say "analyze BABA".

Gemini CLI

gemini extensions install https://github.com/wbh604/UZI-Skill

OpenCode

Follow https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.opencode/INSTALL.md and analyze Pop Mart (09992.HK).

Windsurf / Devin / Any Other Agent

Paste this:

Clone https://github.com/wbh604/UZI-Skill, read AGENTS.md, then deep-analyze Alibaba (09988.HK).

CLI Only

git clone https://github.com/wbh604/UZI-Skill.git
cd UZI-Skill && pip install -r requirements.txt
python skills/deep-analysis/scripts/run_real_test.py BABA

📱 Not at your desk?

Tell any agent:

Analyze 00700.HK in remote mode — generate a public link so I can view it on my phone.

The agent spins up a Cloudflare Tunnel and gives you a https://xxx.trycloudflare.com URL.


Usage

Full deep analysis (5-8 minutes)

/stock-deep-analyzer:analyze-stock 600519          # A-share by ticker
/stock-deep-analyzer:analyze-stock 00700.HK        # HK
/stock-deep-analyzer:analyze-stock BABA            # US ADR
/stock-deep-analyzer:analyze-stock AAPL            # US

Ticker format tips for English users: - A-share: 6-digit + .SH (Shanghai) or .SZ (Shenzhen) — e.g. 600519.SH, 002594.SZ. Bare 6-digit like 600519 also works. - HK: 5-digit + .HK — e.g. 00700.HK, 09988.HK. - US: plain symbol — AAPL, BABA, PDD, NVDA. - Chinese names also resolve: 贵州茅台, 腾讯控股. For English input, prefer ticker codes over company names (name-resolution is tuned for Chinese).

Single-purpose commands

All commands require the /stock-deep-analyzer: prefix for reliable dispatch across environments.

Command What It Does
/stock-deep-analyzer:dcf 600519 DCF valuation · WACC + 5×5 sensitivity table
/stock-deep-analyzer:comps 002273 Peer comparison · PE / PB percentile ranking
/stock-deep-analyzer:lbo 600519 LBO stress test · PE-buyer IRR perspective
/stock-deep-analyzer:initiate BABA Initiating-coverage report · JPM / GS format
/stock-deep-analyzer:ic-memo BABA Investment-committee memo · 3-scenario returns
/stock-deep-analyzer:earnings AAPL Earnings beat/miss analysis
/stock-deep-analyzer:catalysts 300750 Catalyst calendar · next 60 days
/stock-deep-analyzer:thesis 600519 Investment-thesis tracker · 5 pillars
/stock-deep-analyzer:screen AAPL 5 quant screens · value / growth / quality / GARP / short
/stock-deep-analyzer:dd BABA Due-diligence checklist · 21 items across 5 workstreams
/stock-deep-analyzer:quick-scan 00700.HK 30-second sanity check
/stock-deep-analyzer:panel-only 600519 Just run the 51-investor jury — no HTML report
/stock-deep-analyzer:scan-trap 600519 Pump-and-dump / trap detection (8 signals)
/stock-deep-analyzer:segmental-model 300308 🆕 Bottom-up segmental revenue model · 3-scenario × 3-year projection · cross-checks top-down DCF

🎚️ Three Analysis Depths (new in v2.10.3)

Let users pick how much thinking they want — quick / standard / deep-dive:

python run.py 600519 --depth lite     # ⚡ Quick read (1-2 min)
python run.py 600519                    # 📊 Standard (5-8 min) · default
python run.py 600519 --depth deep       # 🔬 Institutional (15-20 min)

Or via env var:

export UZI_DEPTH=lite       # or medium / deep
python run.py 600519

Differences

Aspect lite 📊 medium 🔬 deep
Runtime 1-2 min 5-8 min 15-20 min
Fetchers Core 7 dims All 22 dims All 22 + reinforced fallback
Investors 10 representatives 51 full panel 51 + Bull-Bear structured debate
Institutional methods DCF only All 17 All 17 + Segmental Build-Up
ddgs qualitative queries all skipped (saves tokens) on-demand · budget 30 full throttle · budget 60
fund_holders Top 5 with full 5Y stats Top 20 full + rest as listing Top 100 full
Self-review gate critical blocks critical blocks · warning ack-able both block
Token cost (Codex) minimal moderate maximum
Use case Quick glance · boss just asked · preview ETF holdings Daily deep analysis · writing research Investment committee memo · pre-position deep dive

Auto-downgrade

  • First install / empty .cache/_global → auto-switches to lite (saves cold-start time)
  • Network preflight 3+ domains unreachable → auto lite (prevents hanging)
  • Manual --depth always overrides auto-detection

Picking the right depth

Question Recommended
"Can I buy this stock?" medium (default)
"Give me a verdict in 15 minutes" lite
"Prepping for investment committee tomorrow" deep (includes Bull-Bear debate + bottom-up segmental)
"I typed an ETF code — system asked me to pick a holding" lite (quick verdict on component)
"Codex environment / first install" Don't worry — auto lite

Implicit depth per command

Command Implicit depth
/stock-deep-analyzer:quick-scan 600519 lite
/stock-deep-analyzer:panel-only 600519 lite
/stock-deep-analyzer:analyze-stock 600519 medium (default)
/stock-deep-analyzer:ic-memo 600519 deep
/stock-deep-analyzer:initiate 600519 deep

🎭 51 Investor Jury

Not template phrases. Each investor has their own quantified rule set (180 rules total) + their own real quoted voice + their own authentic decision profile (time horizon / position sizing / what-would-change-my-mind).

Group Style Count Representatives
A Classic Value 6 Buffett · Graham · Munger · Fisher · Templeton · Klarman
B Growth 4 Lynch · O'Neil · Thiel · Cathie Wood
C Macro / Hedge 5 Soros · Dalio · Howard Marks · Druckenmiller · Julian Robertson
D Technical 4 Livermore · Minervini · Darvas · Gann
E China Value 6 Duan Yongping (段永平) · Zhang Kun · Zhu Shaoxing · Xie Zhiyu · Feng Liu · Deng Xiaofeng
F A-Share Day Traders (游资) 23 Zhang Mengzhu · Zhao Laoge · Foshan Shadowless Kick · Beijing Trader · Xin Duoduo …
G Quant 3 Simons · Thorp · David Shaw

Every verdict cites the specific rule it hit. And each investor answers three questions in their own voice:

Investor Time Horizon What Would Change My Mind
Buffett 10+ years / forever ROE below 12% for 2 consecutive years · CEO change + strategic pivot
Zhao Laoge (赵老哥) T+2 to T+5 Leader breaks the limit-up · volume doesn't confirm
Simons Avg holding < 2 days Signal Sharpe drops below 0.5 · factor decay
Lynch Until the story plays out, typically 3-5 years PEG > 2 · inventory growing faster than revenue
Soros One reflexivity cycle, weeks to months, flip anytime Market stops validating my narrative

Their quotes are sourced from real public materials — Berkshire annual letters, Oaktree memos, Principles, Margin of Safety, Lost Tree Club speeches, XueQiu / Zhihu columns — each citation links to the original source.


📐 17 Institutional Methods

Ported from anthropics/financial-services-plugins, adapted with A-share / H-share parameters.

Valuation (6): DCF · Comps · 3-Statement · LBO · Merger Model · Unit Economics

Research (7): Initiating Coverage · Earnings Analysis · Catalyst Calendar · Thesis Tracker · Morning Note · Quant Screen · Sector Overview

Decision (6): IC Memo · Porter 5 Forces + BCG · DD Checklist · Value Creation Plan · Portfolio Rebalance · Trap Detection (unique to this plugin)


📸 What The Report Looks Like

All screenshots from a real analysis of Crystal Optech (002273.SZ).

Score dashboard

The Great Divide — Bull vs Bear

<img src="docs/screenshots/great-divide.

Core symbols most depended-on inside this repo

_f
called by 82
skills/deep-analysis/scripts/lib/stock_features.py
parse_ticker
called by 62
skills/deep-analysis/scripts/lib/market_router.py
to_dict
called by 54
skills/deep-analysis/scripts/lib/hottrend.py
_v
called by 50
skills/deep-analysis/scripts/lib/pipeline/score_fns.py
_safe
called by 40
skills/deep-analysis/scripts/assemble_report.py
evaluate
called by 37
skills/deep-analysis/scripts/lib/investor_evaluator.py
_num
called by 32
skills/deep-analysis/scripts/lib/fin_models.py
cached
called by 26
skills/deep-analysis/scripts/lib/cache.py

Shape

Function 1,386
Method 98
Class 62

Languages

Python100%

Modules by API surface

skills/deep-analysis/scripts/tests/test_no_regressions.py68 symbols
skills/deep-analysis/scripts/lib/data_sources.py39 symbols
skills/deep-analysis/scripts/tests/test_v2_13_playwright_strategy.py31 symbols
skills/deep-analysis/scripts/tests/test_providers_chain.py25 symbols
skills/deep-analysis/scripts/lib/report/dim_viz.py25 symbols
skills/deep-analysis/scripts/lib/playwright_fallback.py24 symbols
skills/deep-analysis/scripts/lib/self_review.py22 symbols
skills/deep-analysis/scripts/tests/test_v2_12_hottrend.py20 symbols
skills/deep-analysis/scripts/lib/report/svg_primitives.py20 symbols
skills/deep-analysis/scripts/tests/test_v3_7_0_new_tech_investors.py18 symbols
skills/deep-analysis/scripts/tests/test_v2_10_4_fixes.py18 symbols
skills/deep-analysis/scripts/lib/hottrend.py18 symbols

Dependencies from manifests, versioned

akshare1.14.0 · 1×
baostock0.9.1 · 1×
ddgs9.0.0 · 1×
mplfinance0.12.10b0 · 1×
pandas2.0.0 · 1×
playwright1.42.0 · 1×
requests2.31.0 · 1×
rich13.0.0 · 1×
yfinance0.2.40 · 1×

For agents

$ claude mcp add UZI-Skill \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact