Breadth Chart Analyst
Overview
This skill enables specialized analysis of two complementary market breadth charts that provide strategic (medium to long-term) and tactical (short-term) market perspectives. Analyze breadth chart images to assess market health, identify trading signals based on backtested strategies, and develop positioning recommendations. All thinking and output are conducted exclusively in English.
When to Use
Use this skill when:
- User provides S&P 500 Breadth Index (200-Day MA based) chart images for analysis
- User provides US Stock Market Uptrend Stock Ratio chart images for analysis
- User requests market breadth assessment or market health evaluation
- User asks about medium-term strategic positioning based on breadth indicators
- User needs short-term tactical timing signals for swing trading
- User wants combined strategic and tactical market outlook
- User requests breadth analysis WITHOUT providing chart images (CSV data mode)
Do NOT use this skill when:
- User asks about individual stock analysis (use
us-stock-analysis skill instead)
- User needs sector rotation analysis without breadth charts (use
sector-analyst skill instead)
- User wants news-based market analysis (use
market-news-analyst skill instead)
Prerequisites
- Chart Images Optional: CSV data from public sources is the PRIMARY data source; chart images provide supplementary visual context
- No API Keys Required: CSV data is fetched from public GitHub Pages; no external API subscriptions needed
- Language: All analysis and output conducted in English
Output
This skill generates markdown analysis reports saved to the reports/ directory:
- Chart 1 only:
breadth_200ma_analysis_[YYYY-MM-DD].md
- Chart 2 only:
uptrend_ratio_analysis_[YYYY-MM-DD].md
- Both charts:
breadth_combined_analysis_[YYYY-MM-DD].md
Reports include executive summaries, current readings, signal identification, scenario analysis with probabilities, and actionable positioning recommendations for different trader types.
Core Principles
- Dual-Timeframe Analysis: Combine strategic (Chart 1: 200MA Breadth) and tactical (Chart 2: Uptrend Ratio) perspectives
- Backtested Strategy Focus: Apply proven systematic strategies based on historical patterns
- Objective Signal Identification: Focus on clearly defined thresholds, transitions, and markers
- English Communication: Conduct all analysis and generate all reports in English
- Actionable Recommendations: Provide specific positioning guidance for different investor types
Chart Types and Purposes
Chart 1: S&P 500 Breadth Index (200-Day MA Based)
Purpose: Medium to long-term strategic market positioning
Key Elements:
- 8-Day MA (Orange Line): Short-term breadth trend, primary entry signal generator
- 200-Day MA (Green Line): Long-term breadth trend, primary exit signal generator
- Red Dashed Line (73%): Average peak level - market overheating threshold
- Blue Dashed Line (23%): Average 8MA trough level - extreme oversold, excellent buying opportunity
- Triangles:
- Purple βΌ = 8MA troughs (buy signal when reverses)
- Blue βΌ = 200MA troughs (major cycle lows)
- Red β² = 200MA peaks (sell signal)
- Pink Background: Downtrend periods
Backtested Strategy:
- BUY: When 8MA reverses from a trough (especially below 23%)
- SELL: When 200MA forms a peak (typically near/above 73%)
- Result: Historically high performance, avoids bear markets
Chart 2: US Stock Market - Uptrend Stock Ratio
Purpose: Short-term tactical timing and swing trading
Key Elements:
- Uptrend Stock Definition: Stocks above 200MA/50MA/20MA with positive 1-month performance
- Green Regions: Market in uptrend phase
- Red Regions: Market in downtrend phase
- ~10% Level (Lower Orange Dashed): Short-term bottom, extreme oversold
- ~40% Level (Upper Orange Dashed): Short-term top, market overheating
Swing Trading Strategy:
- ENTER LONG: When color changes from red to green (especially from <10-15% levels)
- EXIT LONG: When color changes from green to red (especially from >35-40% levels)
- Timeframe: Days to weeks
Analysis Workflow
Step 0: Fetch CSV Data (PRIMARY SOURCE - MANDATORY)
CRITICAL: CSV data is the PRIMARY source for all Breadth values. This step MUST be executed BEFORE any image analysis.
python3 skills/breadth-chart-analyst/scripts/fetch_breadth_csv.py
Why CSV is PRIMARY:
- OpenCV image detection is fragile -- chart format changes cause catastrophic failures (Issue #7)
- CSV provides exact numerical values directly from the data source
- Image analysis is SUPPLEMENTARY only (for visual trend context)
Data Sources:
- Market Breadth:
tradermonty.github.io/market-breadth-analysis/market_breadth_data.csv
- Provides: 200-Day MA, 8-Day MA, Trend, Dead Cross status
- Uptrend Ratio:
tradermonty/uptrend-dashboard/data/uptrend_ratio_timeseries.csv
- Provides: Current ratio, 10MA, slope, trend (UP/DOWN), color (GREEN/RED)
- Sector Summary:
tradermonty/uptrend-dashboard/data/sector_summary.csv
- Provides: Per-sector ratio, trend, status (overbought/oversold)
Data Source Priority:
| Priority |
Source |
Use For |
Reliability |
| 1 (PRIMARY) |
CSV Data |
All numerical values, dead cross status, color |
HIGH |
| 2 (SUPPLEMENTARY) |
Chart Image |
Visual trend context, pattern confirmation |
MEDIUM |
| 3 (DEPRECATED) |
OpenCV detect_breadth_values.py |
Breadth detection |
UNRELIABLE |
| 4 (LAST RESORT) |
LLM visual reading |
Emergency only |
LOW |
Expected Output:
============================================================
Breadth Data (CSV) - 2026-02-13
============================================================
--- Market Breadth (S&P 500) ---
200-Day MA: 62.26% (healthy (>=60%))
8-Day MA: 67.56% (healthy_bullish (60-73%))
8MA vs 200MA: +5.30pt (8MA ABOVE -- NO dead cross)
Trend: UPTREND
--- Uptrend Ratio (All Markets) ---
Current: 33.03% GREEN (neutral_bullish)
10MA: 32.65%, Slope: +0.0055, Trend: UP
--- Sector Summary ---
...
============================================================
Validation: After running CSV fetch, verify:
Step 1: Receive Chart Images and Prepare Analysis
When the user provides breadth chart images for analysis:
- Confirm receipt of chart image(s)
- Identify which chart(s) are provided:
- Chart 1 only (200MA Breadth)
- Chart 2 only (Uptrend Ratio)
- Both charts
- Note any specific focus areas or questions from the user
- CRITICAL: Extract right edge of chart images before analysis (Step 1.5)
If NO chart images are provided: Skip Steps 1, 1.5, and image-based analysis. Use CSV data from Step 0 as the sole data source and proceed directly to the analysis and report generation steps.
Language Note: All subsequent thinking, analysis, and output will be in English.
Step 1.5: Two-Stage Chart Analysis (MANDATORY when charts provided)
CRITICAL: Use a two-stage analysis approach to prevent misreading historical data as current values.
Stage 1: Full Chart Analysis (Historical Context)
First, analyze the FULL chart image to understand:
- Overall historical trend and cycles
- Key historical events (troughs, peaks, recoveries)
- Long-term patterns and context
Stage 2: Right Edge Focused Analysis (Current Values)
Then, extract and analyze the rightmost 25% of the chart to accurately determine CURRENT values.
Execute the Python script to extract the right edge:
python3 skills/breadth-chart-analyst/scripts/extract_chart_right_edge.py <image_path> --percent 25
Why Two-Stage Analysis is Mandatory
| Stage |
Purpose |
What to Extract |
| Stage 1 (Full) |
Historical context, trend cycles |
Overall patterns, past troughs/peaks |
| Stage 2 (Right Edge) |
Current values (CRITICAL) |
8MA value, 200MA value, current color, current slope |
Common Error This Prevents:
- LLM reads 2025 mid-year dip (8MA ~25-30%) instead of current value (8MA ~60-65%)
- By isolating the right edge, the "current" data is unambiguous
Analysis Protocol
- Read full chart β Document historical context
- Run extraction script β Generate right edge image
- Read right edge image β Document current values with HIGH CONFIDENCE
- Cross-check: If Stage 1 and Stage 2 values differ significantly, Stage 2 (right edge) takes precedence
- Report both: Include Stage 1 context AND Stage 2 current values in analysis
Step 2: Load Breadth Chart Methodology
Before beginning analysis, read the comprehensive breadth chart methodology:
Read: references/breadth_chart_methodology.md
This reference contains detailed guidance on:
- Chart 1: 200MA-based breadth index interpretation and strategy
- Chart 2: Uptrend stock ratio interpretation and strategy
- Signal identification and threshold significance
- Strategy rules and risk management
- Combining both charts for optimal decision-making
- Common pitfalls to avoid
Step 3: Examine Sample Charts (First Time or for Reference)
To understand the chart format and visual elements, review the sample charts included in this skill:
View: skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg
View: skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg
These samples demonstrate:
- Visual appearance and structure of each chart type
- How signals and thresholds are displayed
- Color coding and marker systems
- Historical patterns and cycles
Step 4: Analyze Chart 1 (200MA-Based Breadth Index)
If Chart 1 is provided, conduct systematic analysis:
4.1 Extract Current Readings
From the chart image, identify:
- Current 8MA level (orange line): Specific percentage
- Current 200MA level (green line): Specific percentage
- 8MA slope: Rising, falling, or flat
- 200MA slope: Rising, falling, or flat
- Distance from 73% threshold: How close to overheating
- Distance from 23% threshold: How close to extreme oversold
- Most recent date visible on the chart
4.1.5 CRITICAL: Latest Data Point Detailed Trend Analysis
This step is MANDATORY to avoid misreading recent trend changes.
CRITICAL WARNING: Charts can be deceptive. The MAJORITY of analysis errors occur because the analyst:
- Confuses the 8MA (orange) with the 200MA (green)
- Reads historical trends instead of the CURRENT rightmost data points
- Misidentifies which line is rising vs falling
BEFORE analyzing trend direction, FIRST confirm line colors:
- β 8MA = ORANGE line (fast-moving, more volatile)
- β 200MA = GREEN line (slow-moving, smoother)
- If unsure which is which, STOP and re-examine the chart legend/colors
Focus intensively on the rightmost 3-5 data points of the chart (most recent weeks):
For 8MA (Orange Line) - Analyze the very latest trajectory:
- Identify the absolute latest position: Where is the 8MA at the rightmost edge of the chart?
- Trace back 3-5 data points (approximately 3-5 weeks):
- What was the 8MA level 1 week ago?
- What was the 8MA level 2 weeks ago?
- What was the 8MA level 3 weeks ago?
- Calculate the directional change:
- Is the latest value HIGHER or LOWER than 1 week ago?
- Is the latest value HIGHER or LOWER than 2 weeks ago?
- What is the trend: consistently rising, consistently falling, or mixed?
- Determine the CURRENT slope (not historical slope):
- Rising: Latest data point is higher than previous 2-3 points AND shows upward curvature
- Falling: Latest data point is lower than previous 2-3 points AND shows downward curvature
- Flat: Latest data point is approximately equal to previous points (within 2-3%)
Critical Questions to Answer:
For 200MA (Green Line) - Analyze the very latest trajectory:
- Identify the absolute latest position: Where is the 200MA at the rightmost edge?
- Trace back 4-6 weeks:
- What was the 200MA level 2 weeks ago?
- What was the 200MA level 4 weeks ago?
- Determine the CURRENT slope:
- Is it rising, falling, or flat in the most recent period?
Failed Reversal Detection (CRITICAL):
If an 8MA trough (purple βΌ) was recently identified:
Example Analysis Format:
Latest 8MA Data Points (rightmost to left):
- Current (Week 0): 48%
- 1 week ago: 52%
- 2 weeks ago: 55%
- 3 weeks ago: 50%
Analysis: 8MA is FALLING. It rose from 50% to 55% (weeks 3-2), but has since declined to 48%.
This shows a failed reversal pattern - bounce was temporary, downtrend has resumed.
SLOPE: Falling (not rising!)
MANDATORY CROSS-CHECK (to catch misreadings):
After determining the trend, ask yourself:
4.2 Identify Signal Markers
Look for and document:
- Most recent 8MA trough (purple βΌ): Date and level
- Most recent 200MA trough (blue βΌ): Date and level (if visible in timeframe)
- Most recent 200MA peak (red β²): Date and level
- Days/weeks since most recent signals
- Any pink background shading (downtrend periods)
4.3 Assess Market Regime
Based on readings and patterns, classify the current market as:
- Healthy Bull Market
- Overheated Bull Market
- Market Top/Distribution Phase
- Bear Market/Correction
- Capitulation/Extreme Oversold
- Early Recovery
Support the classification with specific evidence from the chart.
4.4 Determine Strategy Position
Apply the backtested strategy rules with STRICT confirmation requirements:
Check for BUY signal (ALL criteria must be met):
- β Trough Formation: Has 8MA formed a clear trough (purple βΌ)?
- β Reversal Initiated: Has 8MA begun to move upward from the trough?
- β Confirmation Achieved: Has 8MA risen for 2-3 CONSECUTIVE periods after the trough?
- β No Recent Reversal: Based on Step 4.1.5 analysis, is 8MA CURRENTLY rising (not falling)?
- β Sustained Move: Has 8MA maintained the upward trajectory without rolling over?
- β Optional but Strong: Is 8MA below or near 23% (extreme oversold) at trough?
BUY Signal Status:
- CONFIRMED: All 5 required criteria met β ENTER LONG
- DEVELOPING: Trough formed, but < 2-3 consecutive increases β WAIT, MONITOR
- FAILED: Trough formed, but 8MA has rolled over and is declining β DO NOT ENTER, WAIT FOR NEXT TROUGH
- NO SIGNAL: No trough formed β WAIT
Check for SELL signal:
- Has 200MA formed a peak (red β²)?
- Is 200MA near or above 73%?
- Is this an active sell signal requiring position exit?
Current position determination:
- Long: BUY signal confirmed, position entered and held
- Preparing to Enter: BUY signal developing (trough formed, watching for confirmation)
- WAIT / Flat: No valid signal OR failed reversal detected
- Preparing to Exit: SELL signal developing (200MA approaching peak)
4.5 Develop Scenarios
Create 2-3 scenarios with probability estimates:
- Base case scenario (highest probability)
- Alternative scenario(s)
- Each scenario includes: description, supporting factors, strategy implications, key levels
Step 5: Analyze Chart 2 (Uptrend Stock Ratio)
If Chart 2 is provided, conduct systematic analysis:
5.0 MANDATORY DEPRECATED: Uptrend Ratio Detection Script (Superseded by Step 0 CSV Fetch)
NOTE (Issue #7): This OpenCV detection step is DEPRECATED. Use CSV data from Step 0 as the PRIMARY source. The OpenCV script may be run for supplementary validation only, but CSV values take precedence in all cases.