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
Install
$ npx -y skills add rgourley/quant-garage --skill earnings-blackout --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/earnings-blackout

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

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
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.

Get the whole plugin
Stats
7
Stars
0
Forks
Active
Maintenance
Python
Language
6d ago
Last commit
2mo ago
Created

Repo: rgourley/quant-garage

Other skills on quant-garage.