English · 简体中文
Macro Dashboard
A skill that makes macro monitoring structured, weekly-refreshable and reproducible. It does not
forecast price levels — it tracks the four variables that drive the pricing of risk assets and outputs
an attack/defend switch. This is the top-down switch layer above valuation-comps and
dcf-quick: those two answer "what to buy and what it's worth", this one answers "should you be
buying at full size right now".
Run scripts/score_snapshot.py for the regime call: the agent fetches the latest values and the
status of each variable, while the script computes the aggregate and applies the hard rules — so nobody
"optimistically adjusts" the stance.
The four variables (the transmission chain)
- Rates: the direction of real rates (nominal rate − inflation expectations). Rising compresses
long-duration assets; falling repairs risk appetite. Watch real rates, not what the Fed says.
- Credit: whether the system suddenly runs short of money. High-yield spreads, commercial paper
spreads, offshore dollar liquidity — any of them widening quickly is the pre-symptom of a margin call.
- Earnings expectations: whether the story can be cashed in. The breadth of revisions (number
upgraded versus downgraded) leads EPS growth rates.
- Liquidity: whether the pool is filling or draining. Central bank balance sheets, reverse repos,
broad money growth.
Five steps (same slot every week)
- Fetch at a fixed slot: pull the latest value of each variable at the same time each week
(e.g. Sunday). Sources below.
- Three-state call: rate each variable friendly / neutral / alert, with the signal and the number
(the script can classify automatically against thresholds — see
references/indicators.md).
- Aggregate: green-light count maps to the attack stance. The script applies the rules (see
references/regime_rules.md).
- Output the panel: a table plus a one-line conclusion (attack or defend, with the reason).
No price forecasts.
- Keep a trace: append to the
macro-dashboard.md snapshot so you can look back at where signals
turned.
Data sources (in priority order; never fabricate)
westock-data / macro-monitor skill: rates, spreads, liquidity indicators.
WebSearch / WebFetch: Federal Reserve, central banks, consensus sources.
- Fallback: quote pages / financial terminals. Mark missing items
N/A with a note.
Output format
macro-dashboard.md: a four-variable table (variable / latest value / status light / signal) plus the
attack-or-defend conclusion plus the triggers to watch next week. Structure in
examples/sample-dashboard.md. Append the scripts/score_snapshot.py output as a trace.
Checks and red lines (reliability floor)
- Credit or liquidity at alert = forced defence, overriding the green-light count (a hard rule —
"I think it can hold" is not permitted).
- When any variable is
N/A, it doesn't count toward the green lights, but the conclusion must state
explicitly that "X is unknown, confidence is reduced".
- The stance gives directional guidance only, never price levels; pair it with the
dcf-quick downside
floor to get "how much to buy".
Boundaries and disclaimer
- The four variables are a switch, not a scorecard. Credit and liquidity both alerting means defend,
without hesitation.
- Consistent with sizing from the worst case: confirm the environment permits attack, then use
dcf-quick to decide what and how much, then valuation-comps to check whether it's cheap or dear.
- Conclusions support judgement; decisions belong to a human.
Layout
macro-dashboard/
SKILL.md # this file (English)
SKILL_CN.md # 简体中文版
README.md
references/
indicators.md # concrete indicators, sources and thresholds for the four variables
regime_rules.md # attack/defend rules, credit & liquidity hard override
scripts/
score_snapshot.py # regime call (hard rules included)
score_snapshot_test.py
examples/
sample-dashboard.md
1---2name: macro-dashboard3title: Macro Dashboard — Weekly Four-Variable Regime Panel4summary: Refresh four driving variables weekly (rates / credit / earnings expectations / liquidity) and output an attack-or-defend switch rather than a price forecast. Turns the discipline of sizing from the worst case into a panel you can update every week.5read_when:6 - user wants a weekly or periodic review of how the macro environment affects risk assets7 - user asks "should I be attacking or defending right now"8 - user mentions "macro" "risk-on risk-off" "position switch" "four variables" "risk asset environment"9---101112> **English** · [简体中文](SKILL_CN.md)1314# Macro Dashboard1516A skill that makes macro monitoring **structured, weekly-refreshable and reproducible**. It does not17forecast price levels — it tracks the four variables that drive the pricing of risk assets and outputs18an **attack/defend switch**. This is the top-down switch layer above `valuation-comps` and19`dcf-quick`: those two answer "what to buy and what it's worth", this one answers "should you be20buying at full size right now".2122**Run `scripts/score_snapshot.py` for the regime call**: the agent fetches the latest values and the23status of each variable, while the script computes the aggregate and applies the hard rules — so nobody24"optimistically adjusts" the stance.2526## The four variables (the transmission chain)271. **Rates**: the direction of *real* rates (nominal rate − inflation expectations). Rising compresses28 long-duration assets; falling repairs risk appetite. Watch real rates, not what the Fed says.292. **Credit**: whether the system suddenly runs short of money. High-yield spreads, commercial paper30 spreads, offshore dollar liquidity — any of them widening quickly is the pre-symptom of a margin call.313. **Earnings expectations**: whether the story can be cashed in. The breadth of revisions (number32 upgraded versus downgraded) leads EPS growth rates.334. **Liquidity**: whether the pool is filling or draining. Central bank balance sheets, reverse repos,34 broad money growth.3536## Five steps (same slot every week)371. **Fetch at a fixed slot**: pull the latest value of each variable at the same time each week38 (e.g. Sunday). Sources below.392. **Three-state call**: rate each variable friendly / neutral / alert, with the signal and the number40 (the script can classify automatically against thresholds — see `references/indicators.md`).413. **Aggregate**: green-light count maps to the attack stance. The script applies the rules (see42 `references/regime_rules.md`).434. **Output the panel**: a table plus a one-line conclusion (attack or defend, with the reason).44 **No price forecasts.**455. **Keep a trace**: append to the `macro-dashboard.md` snapshot so you can look back at where signals46 turned.4748## Data sources (in priority order; never fabricate)49- `westock-data` / `macro-monitor` skill: rates, spreads, liquidity indicators.50- `WebSearch` / `WebFetch`: Federal Reserve, central banks, consensus sources.51- Fallback: quote pages / financial terminals. Mark missing items `N/A` with a note.5253## Output format54`macro-dashboard.md`: a four-variable table (variable / latest value / status light / signal) plus the55attack-or-defend conclusion plus the triggers to watch next week. Structure in56`examples/sample-dashboard.md`. Append the `scripts/score_snapshot.py` output as a trace.5758## Checks and red lines (reliability floor)59- **Credit or liquidity at alert = forced defence**, overriding the green-light count (a hard rule —60 "I think it can hold" is not permitted).61- When any variable is `N/A`, it doesn't count toward the green lights, but the conclusion must state62 explicitly that "X is unknown, confidence is reduced".63- The stance gives directional guidance only, never price levels; pair it with the `dcf-quick` downside64 floor to get "how much to buy".6566## Boundaries and disclaimer67- The four variables are a switch, not a scorecard. Credit and liquidity both alerting means defend,68 without hesitation.69- Consistent with sizing from the worst case: confirm the environment permits attack, then use70 `dcf-quick` to decide what and how much, then `valuation-comps` to check whether it's cheap or dear.71- Conclusions support judgement; decisions belong to a human.7273## Layout74```75macro-dashboard/76 SKILL.md # this file (English)77 SKILL_CN.md # 简体中文版78 README.md79 references/80 indicators.md # concrete indicators, sources and thresholds for the four variables81 regime_rules.md # attack/defend rules, credit & liquidity hard override82 scripts/83 score_snapshot.py # regime call (hard rules included)84 score_snapshot_test.py85 examples/86 sample-dashboard.md87```