Skip to content
Data
Skill

/earnings-blackout

Lightweight watchlist scanner. Takes a comma-separated list of tickers plus a forward window and returns each ticker's earnings status (blackout_imminent, blackout_soon, blackout_extended, just_printed, recent_print, clear, unresolved) with the next/most-recent print date and

From plugin
quant-garage
761 skills

Claude Code

$ npx -y skills add rgourley/quant-garage --skill earnings-blackout --agent claude-code

SKILL.md

earnings-blackout.SKILL.md
name: earnings-blackout
description: Lightweight watchlist scanner. Takes a comma-separated list of tickers plus a forward window and returns each ticker's earnings status (blackout_imminent, blackout_soon, blackout_extended, just_printed, recent_print, clear, unresolved) with the next/most-recent print date and consensus EPS where available. Use before a trading day to spot which positions are about to print. Earnings-drilldown is the deep dive; this is the batch scan.

earnings-blackout

You have a watchlist of 20 names. Which print this week? Which printed yesterday and might gap on follow-up news? Which are clear to trade without earnings-event risk? Run the scanner. One pass per ticker over Benzinga (or SEC EDGAR as fallback), one classification per ticker, one grouped exception report at the end.

This is the pre-trade hygiene check, not a full preview. For a single name's full sell-side preview (implied move, beat/miss history, peer reaction, drift), use [`earnings-drilldown`](../earnings-drilldown/). For the per-event windowing study, use [`event-study`](../event-study/).

When to invoke

  • Morning watchlist scan before the market opens
  • Position-sizing check: which names in the book have earnings risk

in the next N days

  • Post-mortem: which name in the watchlist already printed and might

have residual gap risk

What you need

  • A watchlist (`--watchlist NVDA,TSLA,AMZN,GOOGL,META,AAPL,MSFT`)
  • `MASSIVE_API_KEY` exported in the environment
  • Optional: Benzinga earnings add-on for forward dates + consensus EPS

(Tier A). Without it, the skill falls back to SEC EDGAR 8-K filings (Tier B, past-only).

Quick start

python3 examples/run-earnings-blackout.py \
  --watchlist NVDA,TSLA,AMZN,GOOGL,META,AAPL,MSFT \
  --window-days 7

Status buckets

Seven, returned in `results[].status`:

  • `blackout_imminent` — earnings 0-3 days forward. Position-sizing

decisions need to be locked in NOW.

  • `blackout_soon` — earnings 4-7 days forward. Watching for IV ramp,

positioning unwind.

  • `blackout_extended` — earnings 8+ days forward. Only surfaces when

`--window-days > 7`.

  • `just_printed` — earnings 0-3 days past. Watch for analyst-day

follow-on, guidance digestion, gap fill.

  • `recent_print` — earnings 4-7 days past. Less relevant, ranked low

in render.

  • `clear` — no earnings in either the forward or past window.
  • `unresolved` — the resolver returned nothing from Benzinga AND the

SEC EDGAR fallback. Could mean the ticker has no 8-K with items 2.02 / 7.01 / 8.01 in the window, or that the CIK lookup failed. Surfaced explicitly rather than silently dropped.

Tiers

  • **Tier A (Benzinga):** True forward calendar dates, consensus EPS,

consensus revenue, expected release time (BMO/AMC/DMH).

  • **Tier B (SEC EDGAR only):** Past prints only. No forward calendar

(EDGAR is filing-based). No consensus EPS. Surfaces `item_code` and `signal_strength` (strong=2.02, soft=7.01/8.01) so consumers can weight conservatively.

The skill returns `tier: "A"` if any ticker resolved via Benzinga. `tier_caveats[]` lists what the user is missing.

Output

Always emits canonical JSON matching [`output-schema.json`](./output-schema.json) and a rendered exception report grouped by status (imminent first). See [`references/rendering.md`](./references/rendering.md) for the rules and [`references/methodology.md`](./references/methodology.md) for the two-tier resolver chain.

Reading

  • [`references/methodology.md`](./references/methodology.md) — Benzinga

primary, SEC EDGAR 8-K fallback, item-code interpretation, CIK chain

  • [`references/rendering.md`](./references/rendering.md) — exception-

report grouping rules

Read more
@rgourley
Ships withquant-garage

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.

Stars on GitHub

Momentum

stars in total
7
Star history of rgourley/quant-garage on GitHub, a chart by star-history.com

Other skills on quant-garage.

8-k-scanner

8-k-scanner

Scan SEC 8-K disclosures across a single ticker or a watchlist using Massive's pre-parsed disclosure taxonomy. Groups the…

analyst-tracker

analyst-tracker

Track sell-side analyst positioning on a name via Benzinga Analyst Ratings. Pulls every rating event over the lookback window,…

backtest-data-prep

backtest-data-prep

Build a clean, point-in-time, ready-to-backtest OHLCV dataset for a US equity universe across an arbitrary date window. Emits…

commodity-cycle

commodity-cycle

Single-commodity macro read. Answers "is this commodity in a winning or losing macro setup right now" and names the macro driver…

More skills from other plugins.

context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,…

mem05d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and an…

posthog12d41k
@posthog@posthogInstall Skill

Questions about earnings-blackout.

Which coding agents can use earnings-blackout?
earnings-blackout installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.