Skip to content
Data
Skill

/corporate-actions-scanner

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, private placements, splits, spin-offs, buybacks, M&A, restatements), cross-references Massive news for the headline, and

From plugin
quant-garage
761 skills

Claude Code

$ npx -y skills add rgourley/quant-garage --skill corporate-actions-scanner --agent claude-code

SKILL.md

corporate-actions-scanner.SKILL.md
name: corporate-actions-scanner
description: 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, private placements, splits, spin-offs, buybacks, M&A, restatements), cross-references Massive news for the headline, and computes T+1 and T+5 price reactions. Complements news-scanner (general) and earnings-drilldown (item 2.02 only) by giving material corporate actions a dedicated surface. Use when running a portfolio review, sanity-checking why a name moved months ago, or asking "what happened to this stock?" that news-scanner's 24-hour default missed.

corporate-actions-scanner

You hand over a ticker or watchlist and a lookback window (default 180 days). The skill pulls every 8-K filing from SEC EDGAR in the window, classifies each into a materiality bucket, cross-references Massive news for the headline, and computes the T+1 and T+5 price reactions.

Motivated by a live portfolio review that missed an ALLO public offering (87.5M shares at $2, 34% dilution) because news-scanner defaulted to a 24-hour window and the offering was 78 days old. Nothing else in the toolkit surfaced it.

When to invoke

  • The operator is running a portfolio review and wants retrospective

corporate-action coverage across the book

  • "Why did X move" for an unexplained gap that predates the news-

scanner default window

  • Pre-trade hygiene on a name: is there a pending offering, spin-off,

or M&A announcement in the last quarter that changes the setup

  • The user says "material events", "corporate actions", "8-K scan",

"offerings", "buybacks", "M&A on my book"

What you need

  • `MASSIVE_API_KEY` for news + reactions (Stocks Basic is sufficient)
  • SEC EDGAR is public and requires no key

What you get back

**Layer 1 canonical JSON** matching [`output-schema.json`](./output-schema.json). Per-event: filing date, 8-K items, materiality buckets, matched news headline (when found), T+1 and T+5 close-to-close reactions.

**Layer 2 rendered stream** ranked by |T+5 reaction|. Header per event with ticker + date + items + buckets, headline underneath when matched, reaction line, optional URL to the source article. See [`references/rendering.md`](./references/rendering.md).

How it works

1. **Fetch ticker metadata** for the CIK (SEC EDGAR is CIK-indexed). 2. **Pull 8-K filings** from `data.sec.gov/submissions/CIK{CIK}.json`, filter to the lookback window, drop non-material items. 3. **Fetch news window** via `/v2/reference/news` for the same window, used to cross-reference the 8-K with a headline. 4. **Pull daily aggs** covering the filing dates + a T+5 buffer. 5. **Match news to filing** within +/- 2 days, preferring same-day and the article with the most flavor-keyword hits. 6. **Detect flavor** (public_offering, atm_offering, private_placement, share_repurchase, special_dividend, stock_split, spin_off, acquisition_announcement, acquisition_target, restatement) via a curated keyword list in the news title + description. 7. **Compute T+1 and T+5 reactions** close-to-close from the filing date. 8. **Dedupe** filings with the same ticker, date, and item-bucket set (SEC sometimes emits duplicate 8-Ks for the same corporate action).

Item taxonomy

Material items surfaced by default (see `ITEM_TAXONOMY` in the implementation): 1.01, 1.02, 1.03, 2.01, 2.03, 2.04, 2.05, 2.06, 3.01, 3.02, 3.03, 4.01, 4.02, 5.01, 5.03, 7.01, 8.01.

Excluded from default surface (routine 8-Ks that outnumber material ones ~10:1): 2.02 (earnings — earnings-drilldown handles), 5.02 (officer/director change), 5.05 (ethics code), 5.07 (vote results), 5.08 (shareholder nomination). Pass `material_only=False` to include these.

Endpoints used

  • `GET https://data.sec.gov/submissions/CIK{CIK}.json` (SEC EDGAR)
  • `GET /v2/reference/news?ticker={T}&published_utc.gte={from}` (Massive)
  • `GET /v2/aggs/ticker/{T}/range/1/day/{from}/{to}` (Massive)
  • `GET /v3/reference/tickers/{T}` (Massive, for CIK)

Doesn't handle (yet)

  • **Match ambiguity on multi-hit windows.** When multiple news articles

hit within the +/- 2 day window and all contain flavor keywords, the match picks the closest by date. Rare but real.

  • **Private-placement lag.** Some material actions surface in 8-K days

or weeks after they happened; the tool reports the filing date, not the effective date.

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 corporate-actions-scanner.

Which coding agents can use corporate-actions-scanner?
corporate-actions-scanner 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.