8-k-scanner
Scan SEC 8-K disclosures across a single ticker or a watchlist using Massive's pre-parsed disclosure taxonomy. Groups the underlying rows by filing (one 8-K…
Single-commodity macro read. Answers "is this commodity in a winning or losing macro setup right now" and names the macro driver that dominates it. Pulls one commodity ETF (default GLD; accepts SLV, USO, DBC, or any commodity ETF) plus the macro context it needs (UUP for the
$ npx -y skills add rgourley/quant-garage --skill commodity-cycle --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/commodity-cycleContext preview
The summary Claude sees to decide when to auto-load this skill.
Single-commodity macro read. Answers "is this commodity in a winning or losing macro setup right now" and names the macro driver that dominates it. Pulls one commodity ETF (default GLD; accepts SLV, USO, DBC, or any commodity ETF) plus the macro context it needs (UUP for the
name: commodity-cycle
description: Single-commodity macro read. Answers "is this commodity in a winning or losing macro setup right now" and names the macro driver that dominates it. Pulls one commodity ETF (default GLD; accepts SLV, USO, DBC, or any commodity ETF) plus the macro context it needs (UUP for the dollar, TIP and IEF for a real-yield proxy, and GDX/SLV for gold's miner and silver co-move set) and computes the drivers that push the commodity around: rolling DXY correlation, real-yield correlation (vs the TIP-minus-IEF spread), miner divergence (gold only), silver co-movement (gold only), and a momentum quintile. The take reads constructive / neutral / headwind and names the dominant variable. It would have flagged a gold drawdown two weeks early via the dollar and real-yield readings. Use when the question is about one commodity specifically ("is gold in trouble", "what's driving crude", "is the dollar the problem for gold"). Runs on any stocks tier (Free Basic works with --sleep 13).macro-basket paints the whole cross-asset tape. commodity-cycle zooms in on a single commodity and answers one question: is it in a winning or losing macro setup right now, and which driver dominates it.
You give it a commodity ETF (default GLD) and it pulls the macro context that commodity actually responds to: the dollar (UUP), a real-yield proxy (TIP minus IEF), and for gold the miner and silver co-move set (GDX, SLV). It reads the rolling correlations of the commodity to each driver, folds in its own momentum, and states a one-line take: constructive, neutral, or headwind, naming the dominant macro variable.
This is descriptive, not a forecast. It grounds the read in real ETF prices so an LLM does not have to guess whether the dollar or real yields are the thing hurting gold. It would have flagged a gold drawdown two weeks early: a strengthening dollar plus rising real yields against a commodity that is inversely correlated to both is a headwind before price confirms.
trouble", "what's driving crude", "is the dollar the problem for gold", "is silver set up well"
dollar or real yields"
gold", "why is gold lagging its miners"
For the full cross-asset dashboard (rates, credit, the dollar, gold, and broad commodities ranked together), use [`macro-basket`](../macro-basket). commodity-cycle is the single-name drill-down; macro-basket is the whole tape. For the equity side use [`market-regime`](../market-regime).
`--sleep 13` so the pull stays under the 5-calls/min cap.
Optional:
rolling correlations
Two output layers from one run.
**Layer 1: canonical JSON** matching [`output-schema.json`](./output-schema.json). A `signals` block (dxy_correlation, real_yield_correlation, momentum_quintile, plus miner_divergence and silver_comovement for gold or broad_commodity_comovement for others), a `setup` label, and the composed `take`. UIs and downstream agents consume this.
**Layer 2: rendered note**: the setup label, a drivers block, then the take. See [`references/rendering.md`](./references/rendering.md).
1. **Pull daily aggregates** for the target commodity plus UUP, TIP, IEF, and the co-move partners (GDX and SLV for gold, DBC for others) over `max(window, 252) * 1.6` calendar days, via `/v2/aggs/ticker/{T}/range/1/day/{from}/{to}?adjusted=true`. 2. **Rolling correlations** over the window: commodity vs UUP (the dollar), and commodity vs the TIP-minus-IEF daily return spread (real yields). 3. **Gold-specific reads** (skipped gracefully otherwise): GLD vs GDX relative return (miner divergence) and rolling GLD vs SLV correlation (silver co-movement). 4. **Momentum quintile**: the commodity's own window return ranked into a quintile 1..5 against its trailing-year window returns. 5. **Compose the take**: score each driver by its directional effect (correlation times the driver's own move) plus momentum and miner confirmation into constructive / neutral / headwind, naming the dominant variable. Methodology in [`references/methodology.md`](./references/methodology.md).
rate-limit handling, and the `/v2/aggs` daily endpoint conventions.
The deliverable is a single-commodity read with a headline setup and a short drivers block. A note (setup label, drivers, take) fits it better than a wide table; the ranking view is macro-basket's job.
Daily closes per instrument. One call for the target plus the macro context and co-move set.
return spread, not the actual real yield in basis points. Directionally right, not a cash-market substitute.
FX. Queued.
silver co-move reads; other commodities fall back to a broad-commodity (DBC) correlation. Oil-services or ags co-move sets are queued.
These are clean PR extensions. The output schema
Trade like a pro. Without the terminal. View the full landing page → Quant and equity research tools that run inside Claude, or behind your own UI.
Scan SEC 8-K disclosures across a single ticker or a watchlist using Massive's pre-parsed disclosure taxonomy. Groups the underlying rows by filing (one 8-K…
Track sell-side analyst positioning on a name via Benzinga Analyst Ratings. Pulls every rating event over the lookback window, classifies each as upgrade /…
Build a clean, point-in-time, ready-to-backtest OHLCV dataset for a US equity universe across an arbitrary date window. Emits parquet plus a manifest plus an…
Bayesian Online Change-Point Detection (BOCPD) on a ticker's daily log returns. Detects points in time where the return-generating distribution changed (regime…
Reconcile a position file against splits, dividends, and spinoffs to catch breaks before they hit P&L or T+1 settlement. Use when an operator hands over a CSV…
Scan for material 8-K corporate actions over a lookback window. For a ticker or watchlist, pulls SEC EDGAR 8-K filings, filters to material items (offerings,…