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-name technical briefing — composite trend regime, RSI momentum, MACD cross, key MAs (20/50/200), Bollinger position, ATR as % of price, ADV-bucketed liquidity context — in a sell-side-quality block. Use when the user asks "what does the chart say on NVDA right now?" or
$ npx -y skills add rgourley/quant-garage --skill technical-briefing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/technical-briefingContext preview
The summary Claude sees to decide when to auto-load this skill.
Single-name technical briefing — composite trend regime, RSI momentum, MACD cross, key MAs (20/50/200), Bollinger position, ATR as % of price, ADV-bucketed liquidity context — in a sell-side-quality block. Use when the user asks "what does the chart say on NVDA right now?" or
name: technical-briefing description: Single-name technical briefing — composite trend regime, RSI momentum, MACD cross, key MAs (20/50/200), Bollinger position, ATR as % of price, ADV-bucketed liquidity context — in a sell-side-quality block. Use when the user asks "what does the chart say on NVDA right now?" or "give me a technical read on TSLA." Doesn't predict direction; reads textbook indicators and labels the regime. Requires Stocks Starter.
One ticker in, one analyst-grade technical read out. The most-asked first question on a single name — "what does the chart look like right now?" — answered with the standard indicator suite (Wilder RSI 14, MACD 12/26/9, Bollinger 20/2σ, ATR 14, SMAs 20/50/200) and a composite trend-regime label that combines them honestly.
This is NOT a prediction. The script reads textbook indicators on the last 252 trading days, labels the trend regime (`bullish_strong`, `bullish_weak`, `bearish_strong`, `bearish_weak`, `neutral`) with explicit reasons, and writes a Take from the actual readings. No hidden alpha, no proprietary model.
Optional:
Two output layers from one run.
**Layer 1: canonical JSON** matching [`output-schema.json`](./output-schema.json). Trend regime + reasons, RSI latest + 5-day average + bucket read, MACD line/signal/histogram + cross status, every MA value + price-vs- MA percent, Bollinger upper/mid/lower + position label + band-width percentile, ATR + ATR/price percent, 30-day ADV + bucket + current spread bps when available.
**Layer 2: rendered briefing block.** Sell-side morning-note voice. Header (ticker + as-of + price + liquidity), trend regime section, momentum section, MACD section, Bollinger section, volatility section, the Take, and the caveats. The Take is computed adaptively from the actual readings — never a hardcoded narrative.
1. **Pull daily aggs** for the lookback window via `/v2/aggs/ticker/{T}/range/1/day/{from}/{to}?adjusted=true`. Overshoots calendar days by 1.6x to cover weekends/holidays, then trims to the last `lookback_days` sessions. 2. **Pull a snapshot** via `/v2/snapshot/locale/us/markets/stocks/tickers/{T}` for current bid/ask/spread. Failure here is non-fatal — spread is optional. 3. **Compute indicators** with the shared `lib.quant_garage.technicals` helpers. No reimplementation: `sma`, `ema`, `rsi`, `macd`, `bollinger`, `atr` all come from one place so a methodology change in one helper updates every skill that reads them. 4. **Classify the trend regime** as a composite read of stacked-MA structure, MACD sign, and RSI bucket. See [`references/trend-regime.md`](./references/trend-regime.md). 5. **Classify momentum** from the RSI bucket (oversold / weak / neutral / firm / overbought). 6. **Classify Bollinger position** by the price's percentile within the band (above_upper, near_upper, mid_range, near_lower, below_lower). 7. **Bucket liquidity** by 30-day average dollar volume (thin <$1M, medium <$50M, liquid <$500M, mega ≥$500M). 8. **Build the Take adaptively.** A small `(regime, momentum)` map provides the closing sentence; the rest reads the actual numbers. See [`references/rendering.md`](./references/rendering.md).
the snapshot-resolution conventions.
A sell-side morning-note block is the right canvas for "tell me what the chart says on this name." Section headers, indicator values, a two-sentence read per indicator, the Take. No table — one ticker doesn't warrant rows.
Daily aggregates over the lookback window. One call per run.
Current bid/ask for the spread read. One call per run. Optional.
Verify endpoint paths against current docs at massive.com/docs before shipping; field names and versions shift.
would slot in cleanly: same indicator code, swap the aggregate resolution.
timeframe read. A higher-timeframe overlay (weekly trend + daily momentum) is the natural v2.
earnings prints, FDA decisions, or macro releases. Flagged in `tier_caveats`; pair with `earnings-drilldown` for catalyst-aware vol.
Standard indicator-only read. Pattern recognition is a separate problem; the methodology references explain why we don't pretend otherwise.
These are clean PR extensions. The output schema reserves space for each so adding them later doesn't break consumers.
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…
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…
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…