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.
npx -y skills add rgourley/quant-garage --skill 8-k-scannerAssembled 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_KEYexported in the environment- Stocks Basic plan minimum. The
/stocks/filings/8-K/vX/disclosuresendpoint 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
- 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 anaccession_number. - Group by accession_number. Union of tagged tuples per filing;
deduplicated
(primary, secondary, tertiary)triples with the supporting text preserved. - 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.
- 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.
- 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
massive-api-patternsfor REST auth, retry, and pagination on the filings endpoint.
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
disclosuresendpoint (categorized Item excerpts). Full plain-text 8-K bodies live at/stocks/filings/8-K/vX/textand 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-sentimentskill; 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-studywould 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.