regime-scanlisted
Install: claude install-skill mthli/skills
# regime-scan
A **market-level** daily read β the layer above the four name-level scans. It answers three questions that move at different speeds:
1. **Trend** β where is the primary trend? (slow: weeksβmonths)
2. **Breadth** β is the trend healthy or narrowing? (the early-warning layer β divergences show up here first)
3. **Sentiment / Credit** β is fear/greed stretched, is positioning fragile? (fast: days)
The core insight it encodes: **a turn almost always shows up as "internals deteriorate while the index still prints highs."** So beyond a snapshot, it raises explicit **divergence flags** (breadth not confirming, equal-weight lagging, credit rolling over, defensive rotation, vol-curve inversion) β and because each US market day is logged once to `state/history.csv`, the **slope** of breadth / VIX / credit across days (the real turn signal) is visible, not just today's number.
This formalizes the "regime gate + cohort dashboard" idea already scattered through `methodology.md` (2026-06-03) and the breadth/narrowing observations in `macro.md` into one daily action.
## What it pulls (all yfinance, ~516 tickers, one batched download)
- **Indices**: SPY, QQQ vs 50/200DMA + 200DMA slope; RSP/SPY (equal- vs cap-weight = the narrowing proxy)
- **Breadth**: % of the **S&P 500 universe** (`state/breadth_universe.txt`, ~500 names across all 11 sectors, regenerated quarterly by `build_universe.py`) above their 50/200DMA, plus 52-week new-highs β new-lows
- **Vol / sentiment**: ^