SKILL.md
$29
Do NOT use this skill when:
- User asks about individual stock analysis (use
us-stock-analysisskill instead)
- User needs sector rotation analysis without breadth charts (use
sector-analystskill instead)
- User wants news-based market analysis (use
market-news-analystskill 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:
- CSV data retrieved successfully
- 200-Day MA value recorded
- 8-Day MA value recorded
- Dead cross status determined (8MA < 200MA = dead cross)
- Uptrend Ratio value + color + trend recorded
- Use these CSV values as the authoritative source for all subsequent analysis
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: assets/SP500_Breadth_Index_200MA_8MA.jpeg
View: 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:
- Is the 8MA currently moving UP or DOWN at the rightmost edge?
- If there was a recent trough, has the 8MA sustained the upward move, or has it rolled over?
- Count consecutive periods of increase: How many consecutive periods has 8MA risen? (Need 2-3 for confirmation)
- Count consecutive periods of decrease: How many consecutive periods has 8MA fallen? (Indicates failed reversal if declining after trough)
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:
- Did the 8MA rise for only 1-2 periods and then turn back down?
- Did the 8MA fail to reach 60% before turning down?
- Is the 8MA currently declining again after the bounce?
- If YES to any: This is a FAILED REVERSAL - DO NOT ENTER, signal is INVALID
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:
- "If I claimed 8MA is RISING, but it's actually been FALLING for weeks, what would that look like?"
- Answer: The rightmost data points would be LOWER than previous points (confirming FALLING)
- "Does my analysis match the visual slope of the orange line at the rightmost edge?"
- If orange line visually slopes DOWN at the right edge → It's FALLING
- If orange line visually slopes UP at the right edge → It's RISING
- "Is there any pink background shading (downtrend) near the rightmost edge?"
- If YES → This confirms downtrend conditions, 8MA is likely FALLING
- "Are the 8MA and 200MA converging (getting closer) or diverging?"
- Converging from below → Potential death cross forming → BEARISH
- Converging from above → Potential golden cross forming → BULLISH
#### 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.
python3 skills/breadth-chart-analyst/scripts/detect_uptrend_ratio.py <image_path> [--debug]
#### 5.1 Extract Current Readings
From the chart image, identify:
- Current uptrend stock ratio: Specific percentage
- Current color: Green (uptrend) or Red (downtrend)
- Ratio slope: Rising, falling, or flat
- Distance from 10% threshold: How close to extreme oversold
- Distance from 40% threshold: How close to overbought
- Most recent date visible on the chart
#### 5.2 Identify Trend Transitions
Look for and document:
- Most recent red-to-green transition: Date and ratio level at transition
- Most recent green-to-red transition: Date and ratio level at transition
- Duration of current color phase: How long in current trend
- Days/weeks since most recent transition
#### 5.3 Assess Market Condition
Based on current ratio and color, classify as:
- Extreme Oversold (<10%)
- Moderate Bearish (10-20%, red)
- Neutral/Transitional (20-30%)
- Moderate Bullish (30-37%, green)
- Extreme Overbought (>37-40%)
Support the classification with specific evidence from the chart.
#### 5.4 Determine Trading Position
Apply the swing trading strategy rules:
Check for ENTER LONG signal:
- Has color changed from red to green?
- Was the transition from an oversold level (<15%)?
- Is the transition confirmed (2-3 days of green)?
Check for EXIT LONG signal:
- Has color changed from green to red?
- Was the transition from an overbought level (>35%)?
- Is momentum weakening?
Current position: Long, Flat, Preparing to Enter, or Preparing to Exit
#### 5.5 Develop Scenarios
Create 2-3 scenarios with probability estimates:
- Base case scenario (highest probability)
- Alternative scenario(s)
- Each scenario includes: description, supporting factors, trading implications, key levels
Step 6: Combined Analysis (When Both Charts Provided)
If both charts are provided, integrate the strategic and tactical perspectives:
#### 6.1 Alignment Assessment
Create a positioning matrix:
- Chart 1 (Strategic): Bullish / Bearish / Neutral + signal status
- Chart 2 (Tactical): Bullish / Bearish / Neutral + signal status
- Combined Implication: How do they align or conflict?
#### 6.2 Scenario Classification
Determine which of the four scenarios applies:
Scenario 1: Both Bullish
- Chart 1: 8MA rising, 200MA not yet peaked
- Chart 2: Green (uptrend), ratio rising from oversold
- Implication: Maximum bullish stance, aggressive positioning
Scenario 2: Strategic Bullish, Tactical Bearish
- Chart 1: 8MA rising, 200MA not yet peaked
- Chart 2: Red (downtrend), ratio falling or elevated
- Implication: Hold core long positions, wait for tactical entry
Scenario 3: Strategic Bearish, Tactical Bullish
- Chart 1: 200MA peaked or declining
- Chart 2: Green (uptrend), ratio rising
- Implication: Short-term tactical trades only, tight stops
Scenario 4: Both Bearish
- Chart 1: Both MAs declining
- Chart 2: Red (downtrend), ratio falling
- Implication: Defensive positioning, cash or shorts
#### 6.3 Unified Recommendation
Provide integrated positioning guidance for:
- Long-term investors (based primarily on Chart 1)
- Swing traders (based primarily on Chart 2)
- Active tactical traders (based on combination)
Address any conflicts between charts and explain resolution.
Step 7: Generate Analysis Report in English
Create a comprehensive markdown report using the template structure:
Read and use as template: assets/breadth_analysis_template.md
IMPORTANT: All analysis and output must be in English.
The report structure varies based on which chart(s) are analyzed:
If Chart 1 only:
- Executive Summary
- Chart 1 full analysis sections
- Summary and Conclusion
- Omit Chart 2 and Combined Analysis sections
If Chart 2 only:
- Executive Summary
- Chart 2 full analysis sections
- Summary and Conclusion
- Omit Chart 1 and Combined Analysis sections
If Both Charts:
- Executive Summary
- Chart 1 full analysis sections
- Chart 2 full analysis sections
- Combined Analysis section (mandatory)
- Summary and Conclusion
File Naming Convention: Save each analysis as:
- 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
Step 8: Quality Assurance
Before finalizing the report, verify:
- ✓ Language: All content is in English (thinking and output)
- ✓ Line Color Verification: Explicitly confirmed 8MA = ORANGE, 200MA = GREEN before trend analysis
- ✓ Latest Data Trend Analysis: Step 4.1.5 was thoroughly completed - the most recent 3-5 data points were analyzed to determine CURRENT trend direction
- ✓ Trend Direction Accuracy: The stated 8MA slope (Rising/Falling/Flat) accurately reflects the RIGHTMOST data points, not historical movement
- ✓ Cross-Check Completed: MANDATORY CROSS-CHECK questions were answered to confirm trend direction matches visual slope
- ✓ Death/Golden Cross Check: If 8MA and 200MA are converging, explicitly identified whether death cross or golden cross is forming
- ✓ Failed Reversal Check: If a trough was identified, explicitly verified whether the reversal sustained or failed by analyzing latest trajectory
- ✓ Specific Values: All readings include specific percentages/levels, not vague descriptions
- ✓ Signal Status: Clear identification of active signals (CONFIRMED BUY / DEVELOPING / FAILED / SELL / WAIT)
- ✓ Strategy Alignment: Recommendations align with backtested strategies and confirmation requirements
- ✓ Probabilities: Scenario probabilities sum to 100%
- ✓ Actionable: Clear positioning recommendations for different trader types
- ✓ Context: Historical comparison and reference to similar past situations
- ✓ Risk Management: Invalidation levels and risk factors clearly stated
FINAL SANITY CHECK:
- If report claims "BUY signal" or "8MA rising", confirm this doesn't contradict user's chart showing death cross or downtrend
- If report claims "bullish", confirm there's no pink background shading or death cross visible
- If unsure about ANY trend direction, explicitly state uncertainty rather than guessing
Quality Standards
Objectivity Requirements
- Base all analysis strictly on observable chart data
- Do not incorporate external information (news, fundamentals) unless specifically relevant
- Use precise technical terminology consistently
- Distinguish clearly between factual observations and probabilistic forecasts
- Acknowledge uncertainty when signals are ambiguous
Completeness Requirements
- Address all relevant sections of the analysis template
- Provide specific numerical values for all key metrics
- Justify probability estimates with technical factors
- Include invalidation levels for each scenario
- Compare current readings to historical patterns visible on the charts
Clarity Requirements
- Write in professional, analytical English
- Use clear section headings and structure
- Present information in tables where appropriate
- Make recommendations specific and actionable
- Avoid jargon without explanation
Strategy Adherence Requirements
- Apply backtested strategy rules correctly
- Distinguish between strategic (Chart 1) and tactical (Chart 2) signals
- Provide clear position status (Long/Flat/Entering/Exiting)
- Include specific entry/exit levels when applicable
- Address risk management (stop losses, position sizing)
Common Analysis Errors and How to Avoid Them
Error 1: Confusing 8MA with 200MA
Symptom: Report claims 8MA is rising when it's actually the 200MA that's rising
Prevention:
- ALWAYS verify: 8MA = ORANGE, 200MA = GREEN
- Check line volatility: 8MA moves faster with more volatility
- If unsure, state: "Based on line color, I identify the [orange/green] line as [8MA/200MA]"
Error 2: Reading Historical Trends Instead of Current Direction
Symptom: Report describes what happened 1-2 months ago, not what's happening NOW
Prevention:
- Focus ONLY on rightmost 3-5 data points
- Explicitly write: "At the CURRENT rightmost edge, 8MA is at X% and is [rising/falling]"
- Ignore what happened in September if we're analyzing November
Error 3: Missing Death Cross or Golden Cross Formation
Symptom: Report is bullish when 8MA and 200MA are about to death cross (bearish)
Prevention:
- ALWAYS check: "Are 8MA and 200MA getting closer (converging) or further apart (diverging)?"
- If converging with 8MA above 200MA → Potential death cross → BEARISH
- If converging with 8MA below 200MA → Potential golden cross → BULLISH
- Explicitly state: "8MA is currently [above/below] 200MA, and they are [converging/diverging]"
Error 4: Ignoring Pink Background Shading
Symptom: Report claims bullish setup when chart shows pink downtrend background
Prevention:
- Check for pink shading at the rightmost edge
- Pink background = Downtrend period = Bearish conditions
- If pink shading present, report MUST acknowledge bearish conditions
Error 5: Claiming Reversal Too Early
Symptom: Report says "BUY signal confirmed" after only 1 week of increase
Prevention:
- Require 2-3 CONSECUTIVE weeks of 8MA increase for confirmation
- If only 1 week: Signal is "DEVELOPING", not "CONFIRMED"
- If 8MA rises then falls again: Signal is "FAILED", not valid
Example Usage Scenarios
Example 1: CSV-Only Analysis (No Charts)
User: "breadth分析して" (Analyze breadth)
[No chart images provided]
Breadth Analyst:
1. Executes fetch_breadth_csv.py to get latest CSV data
2. Reads breadth_chart_methodology.md
3. Analyzes CSV data:
- 200MA: 62.26% (healthy)
- 8MA: 67.56% (healthy_bullish)
- 8MA vs 200MA: +5.30pt (NO dead cross)
- Uptrend Ratio: 33.03% GREEN (neutral_bullish)
- Sector summary with overbought/oversold sectors
4. Assesses market regime based on CSV values
5. Generates report: breadth_combined_analysis_2026-03-16.md
Example 2: Strategic Breadth Analysis (Chart 1 Only)
User: "Please analyze this S&P 500 breadth chart and tell me where we are in the market cycle."
[Provides Chart 1 image: 200MA Breadth Index]
Breadth Analyst (thinking in English):
1. Executes CSV fetch for authoritative numerical values
2. Confirms receipt of Chart 1 (200MA-based breadth index)
3. Reads breadth_chart_methodology.md for Chart 1 guidance
4. Two-stage analysis: full chart → right edge extraction
5. Cross-checks CSV values with chart readings
6. Generates comprehensive report in English
Example 3: Combined Strategic + Tactical Analysis (Both Charts)
User: "Analyze both of these breadth charts and give me your overall market view."
[Provides both Chart 1 and Chart 2 images]
Breadth Analyst (thinking in English):
1. Executes CSV fetch as PRIMARY source
2. Confirms receipt of both charts
3. Reads full breadth_chart_methodology.md
4. Two-stage analysis for each chart
5. Cross-checks all values against CSV data
6. Combined assessment and unified recommendation
7. Generates comprehensive combined report
Resources
This skill includes the following bundled resources:
references/breadth_chart_methodology.md
Comprehensive methodology covering:
- Chart 1 (200MA Breadth): Components, interpretation, market regimes, backtested strategy, analysis checklist
- Chart 2 (Uptrend Ratio): Components, interpretation, market conditions, swing trading strategy, analysis checklist
- Combined Analysis: Alignment scenarios, integrated decision-making
- Common Pitfalls: Mistakes to avoid for each chart type
Usage: Read this file before conducting any breadth chart analysis to ensure systematic, accurate interpretation.
assets/breadth_analysis_template.md
Structured template for breadth analysis reports in English.
Usage: Use this template structure for every analysis report.
assets/SP500_Breadth_Index_200MA_8MA.jpeg
Sample Chart 1 image for format reference.
assets/US_Stock_Market_Uptrend_Ratio.jpeg
Sample Chart 2 image for format reference.
scripts/fetch_breadth_csv.py
PRIMARY data source. Fetches market breadth, uptrend ratio, and sector summary data from public CSV sources. Uses only stdlib (urllib + csv) -- no external dependencies.
python3 skills/breadth-chart-analyst/scripts/fetch_breadth_csv.py # Human-readable
python3 skills/breadth-chart-analyst/scripts/fetch_breadth_csv.py --json # JSON output
scripts/extract_chart_right_edge.py
Extracts the rightmost portion of chart images to help focus on latest data points. Requires PIL/Pillow.
python3 skills/breadth-chart-analyst/scripts/extract_chart_right_edge.py <image_path> --percent 25
scripts/detect_uptrend_ratio.py (DEPRECATED)
OpenCV-based uptrend ratio detection. Superseded by CSV fetch. Requires opencv-python + numpy.
scripts/detect_breadth_values.py (DEPRECATED)
OpenCV-based breadth value detection. Superseded by CSV fetch. Requires opencv-python + numpy.
Special Notes
Language Requirement
CRITICAL: All analysis, thinking, and output MUST be in English. This includes:
- Internal analysis and reasoning
- Report generation
- Tables and data presentation
- Scenario descriptions
- Recommendations
Do not translate or use any other language. The user expects English output exclusively.
Strategy Focus
This skill emphasizes backtested, systematic strategies rather than discretionary interpretation. Always:
- Apply the strategy rules as documented
- Reference historical performance patterns
- Provide specific entry/exit criteria
- Include risk management guidance
Practical Application
The goal is actionable intelligence. Every analysis should answer:
- Strategic: Should I be long, flat, or short the market over the medium term?
- Tactical: Should I enter or exit positions in the short term?
- Timing: When should I act, and at what levels?
- Risk: What would invalidate this view, and where should stops be?