skills/market-breadth-analyzer/SKILL.md
Quantifies market breadth health using TraderMonty's public CSV data. Generates a 0-100 composite score across 6 components (100 = healthy). No API key required. Use when user asks about market breadth, participation rate, advance-decline health, whether the rally is broad-based, or general market health assessment.
npx skillsauth add kavi-lin/stock market-breadth-analyzerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Quantify market breadth health using a data-driven 6-component scoring system (0-100). Uses TraderMonty's publicly available CSV data to measure how broadly the market is participating in a rally or decline.
Score direction: 100 = Maximum health (broad participation), 0 = Critical weakness.
No API key required - uses freely available CSV data from GitHub Pages.
English:
Japanese:
requests library (for fetching CSV data)| Aspect | Market Breadth Analyzer | Breadth Chart Analyst | |--------|------------------------|----------------------| | Data Source | CSV (automated) | Chart images (manual) | | API Required | None | None | | Output | Quantitative 0-100 score | Qualitative chart analysis | | Components | 6 scored dimensions | Visual pattern recognition | | Repeatability | Fully reproducible | Analyst-dependent |
To support Dashboard integration, the following JSON fields must be output in Traditional Chinese (zh-TW):
composite.guidancecomposite.actions (array of strings)Technical terms (e.g., FTD, RSI, MA) may remain in English. All other analysis and documentation remain in English.
Run the analysis script:
python3 skills/market-breadth-analyzer/scripts/market_breadth_analyzer.py \
--detail-url "https://tradermonty.github.io/market-breadth-analysis/market_breadth_data.csv" \
--summary-url "https://tradermonty.github.io/market-breadth-analysis/market_breadth_summary.csv"
The script will:
Present the generated Markdown report to the user, highlighting:
| # | Component | Weight | Key Signal | |---|-----------|--------|------------| | 1 | Breadth Level & Trend | 25% | Current 8MA level + 200MA trend direction + 8MA direction modifier | | 2 | 8MA vs 200MA Crossover | 20% | Momentum via MA gap and direction | | 3 | Peak/Trough Cycle | 20% | Position in breadth cycle | | 4 | Bearish Signal | 15% | Backtested bearish signal flag | | 5 | Historical Percentile | 10% | Current vs full history distribution | | 6 | S&P 500 Divergence | 10% | Multi-window (20d + 60d) price vs breadth divergence |
Weight Redistribution: If any component lacks sufficient data (e.g., no peak/trough markers detected), it is excluded and its weight is proportionally redistributed among the remaining components. The report shows both original and effective weights.
Score History: Composite scores are persisted across runs (keyed by data date). The report includes a trend summary (improving/deteriorating/stable) when multiple observations are available.
| Score | Zone | Equity Exposure | Action | |-------|------|-----------------|--------| | 80-100 | Strong | 90-100% | Full position, growth/momentum favored | | 60-79 | Healthy | 75-90% | Normal operations | | 40-59 | Neutral | 60-75% | Selective positioning, tighten stops | | 20-39 | Weakening | 40-60% | Profit-taking, raise cash | | 0-19 | Critical | 25-40% | Capital preservation, watch for trough |
Detail CSV: market_breadth_data.csv
Summary CSV: market_breadth_summary.csv
Both are publicly hosted on GitHub Pages - no authentication required.
market_breadth_YYYY-MM-DD_HHMMSS.jsonmarket_breadth_YYYY-MM-DD_HHMMSS.mdmarket_breadth_history.json (persists across runs, max 20 entries)references/breadth_analysis_methodology.mddevelopment
# earnings-analyst — 個股財報深度分析 > **Trigger**: `財報 [TICKER]` > **Version**: V1.0 > **Data Source**: FMP HTTP REST(`$FMP_API_KEY`) ## 目的 針對單一個股產出**深度財報分析報告**(逐季趨勢、品質指標、估值、分析師共識),涵蓋 sector V1.4 與 `分析 [TICKER]` 既有 protocol **沒有**的「財報層級」深潛內容。 ## 與既有 skill 的差異 | Skill | 重點 | 觸發 | |---|---|---| | `us-stock-analysis` | 估值/技術/情緒 snapshot(yfinance + FMP partial) | Phase 2 fundamentals lane | | `earnings-valuation-forecaster` | 12M 目標價 3×3 敏感度 | ad-hoc / earnings 前 14 天 | | `earnings-trade-analyzer` |
testing
Daily Top N hot themes × Top M short-term movers per theme. Combines theme-detector heat scoring (medium-term) with short-term-target predictions (1d/5d/15d) into a "Tactical Opportunity Radar" recommendation log. Tags concentration WARNING when ≥2 picks share theme. Records FRED + market regime snapshot at recommendation time for future backtest cross-tabs. Standalone — not auto-wired into investment_protocol. Use for daily watchlist refresh / Dashboard推薦面板feed / batch screening across hot themes.
testing
Short-term (1d / 5d / 15d) directional projection for a US stock — "Tactical Opportunity Radar". Outputs target range + confidence breakdown + benchmark-relative alpha + trading meta (stop / position size hint / exit trigger). Each horizon uses independent weights from config/weights.yaml. Refuses to project when source data is stale (returns insufficient_data with reasons). Hard-clamped to prevent cold-start absurd predictions. Use when caller wants short-term directional bias on a specific ticker, NOT for long-term valuation (use earnings-valuation-forecaster for 12-month). Standalone — not auto-wired into investment_protocol.
tools
Shared Finnhub API client used by other skills. Provides rate-limited (60/min), cached, retry-aware access to 17 Finnhub endpoints covering quotes, OHLCV, fundamentals, earnings calendar, earnings surprises, insider transactions, recommendation history, price targets, upgrades/downgrades, dividends, splits, IPOs, and SEC filings. Also exports adapters that normalize Finnhub raw responses into FMP-compatible shapes so that downstream code can swap providers without changing call sites. Use when another skill needs Finnhub data or when building a unified provider layer.