agentsclimarketplace

8 k scanner

Skill rgourley/quant-garage/skills/8-k-scanner

Analyst workflows as Claude skills. 62+ tools and 8 workflows spanning earnings, comps, valuation, options flow, factor research, sizing, risk, TCA, and ops. Built in the garage, not the trading floor.

Install
npx -y skills add rgourley/quant-garage --skill 8-k-scanner

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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 carries N tagged Items), ranks by signal bucket (M&A / Restatement / Material agreement / Regulatory / Leadership change / Capital / Earnings / Corporate housekeeping / Other), and surfaces the highest-signal filings at the top with the supporting text quoted. Use when a PM or analyst asks "what material events hit my names this week?" Requires Stocks Basic. Runs on the free tier.

SKILL.md

5.9 KB, as published. Nobody here has run it

8-k-scanner

You hand over a ticker or a watchlist. The skill pulls every 8-K disclosure filed against those issuers over the lookback window, groups the taxonomy rows into filings (one 8-K = many tagged Items, one accession number), ranks by signal bucket (M&A / Restatement / Material agreement / Regulatory / Leadership change / Capital / Earnings / Corporate housekeeping / Other), and surfaces the high-signal filings first with the supporting text quoted.

This is the "what materially happened this week" read a PM does by skimming SEC filings each morning. It works because Massive already parses and taxonomically classifies every Item in every 8-K into a three-tier taxonomy (primary, secondary, tertiary). No text NLP on our side.

When to invoke

  • A PM asks "any material 8-Ks on my watchlist this week?"
  • A trader wants a Monday-morning M&A scan across a sector basket
  • A credit analyst wants to catch restatements, going-concern disclosures, or debt-covenant events across a portfolio
  • The user says "8-K scan", "material events", "any deals or leadership changes", "did anyone in my book file an 8-K"

Not for: single-item drill-down on one specific 8-K (use the underlying /8-K/vX/text endpoint or read the filing on EDGAR). Not for the full 8-K narrative (this quotes supporting text at ~220 chars per Item).

What you need

  • A ticker or watchlist (--tickers, required, comma-separated)
  • MASSIVE_API_KEY exported in the environment
  • Stocks Basic plan minimum. The /stocks/filings/8-K/vX/disclosures endpoint is included on every Stocks plan.

Optional:

  • --lookback-days (default 30): calendar-day window back from today.
  • --categories: comma-separated primary_category values to filter to (e.g. strategic_transactions,leadership_and_governance).

What you get back

Two output layers from one run.

Layer 1: canonical JSON matching output-schema.json. Per-filing block includes accession_number, filing_date, tickers, filing_url, and every tagged categories[] tuple (primary, secondary, tertiary, supporting_text). Top level gives by_bucket (M&A / Leadership / etc counts), by_ticker (per-name filing count with bucket breakdown), and by_primary_category (raw category counts).

Layer 2: rendered note. Header + by-signal one-liner + filings grouped by signal bucket in priority order, most-recent-first within a bucket. Each filing lists its tagged Items with the supporting text quoted. One-line Take at the end. See references/rendering.md.

How it works

  1. Pull disclosures for the watchlist via GET /stocks/filings/8-K/vX/disclosures?tickers.any_of={T1,T2,...}&filing_date.gte={D}&limit=1000&sort=filing_date.desc. Massive returns one row per (accession, tagged Item) so a single 8-K with three Items produces three rows sharing an accession_number.
  2. Group by accession_number. Union of tagged tuples per filing; deduplicated (primary, secondary, tertiary) triples with the supporting text preserved.
  3. Assign a headline signal bucket based on the first primary category the filing hits from the ranked bucket list. Buckets in descending priority: M&A / Strategic → Restatement / Restructuring → Material agreement → Regulatory / Legal → Leadership change → Capital / Debt → Earnings / Guidance → Corporate housekeeping → Other.
  4. Sort filings by bucket priority first, then filing date descending within a bucket. The reader sees the highest-signal filings up top and can stop reading once they hit routine items.
  5. Take. One line summarizing which signal buckets fired.

Taxonomy reference: full primary/secondary/tertiary list at /stocks/taxonomies/vX/disclosures. See references/methodology.md for the signal-bucket ranking.

Foundations used

Output mode: note

Narrative note. A watchlist-scale scan produces a small number of filings (typically 5-50 for 30 days on 5-15 tickers); a wide table would lose the supporting-text quotes that let a reader triage the filing without opening EDGAR.

Endpoints used

  • GET /stocks/filings/8-K/vX/disclosures?tickers.any_of={T}&filing_date.gte={D} All 8-K disclosure rows for the ticker set in the window. Paginated; one call per page.

Doesn't handle (yet)

  • Full 8-K text. The skill uses the disclosures endpoint (categorized Item excerpts). Full plain-text 8-K bodies live at /stocks/filings/8-K/vX/text and would be a natural companion for a "read the whole filing" flow.
  • Sentiment scoring on 8-K text. No positive/negative label per filing. Loughran-McDonald finance dictionary scoring would be a clean PR extension for a filing-sentiment skill; queued.
  • Base rate context. No per-name "typical 8-K cadence." An activist target that files 3 8-Ks in a week is different from AAPL doing the same. Queued.
  • Cross-reference to price reaction. A chain with event-study would compute the abnormal-return distribution around each 8-K by category. Queued.
  • Watchlist-of-watchlists. No group naming or per-group summary yet. Callers who want to run against 3 sector baskets do 3 runs.

These are clean PR extensions. The output schema is forward-compatible.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.