Track · Section 02

8-K Event Triager — What Among These Filings Actually Matters

Weekly workflow for triaging a watchlist's 8-Ks: load-bearing vs context vs noise via SEC item codes and high-impact flags from material_events.

A weekly workflow for separating load-bearing 8-Ks from boilerplate. Pulls every 8-K a company filed in the lookback window, sorts them by impact item code, drills into the load-bearing bodies, and produces an "act / watch / ignore" triage list. Designed for analysts maintaining a watchlist, not for case-by-case event analysis.

Why this works with edgar.tools MCP

Companies file 8-Ks for many reasons. Most are housekeeping (voting results, Reg FD slide decks, routine compensation matters). A few are load-bearing — leadership departures, definitive agreements, restatements, cybersecurity incidents. A vanilla LLM asked "what's been happening at [TICKER]?" recites whatever news headlines it remembers and misses anything not in training data.

With edgar.tools MCP, the triager works from the actual 8-K stream:

  • material_events — returns every 8-K in the window with item codes, dates, and analysis_hints.high_impact_items already flagged. The 7 high-impact item codes (1.01, 1.05, 2.01, 2.02, 4.01, 5.01, 5.02) get AI-generated summaries without an additional tool call.
  • filing_section (eight_k_item:N.NN) — fetches the body of a specific item from an 8-K. Use this to drill into anything the high-impact flag surfaces.
  • filing_section (earnings_release) — pulls the EX-99.1 / EX-99.2 press release attached to any 2.02 filing.

The triager's value is most visible when a watchlist has 5–10+ filings to triage at once — at that volume the difference between "the model summarized them all into vague paragraphs" and "the analyst gets a ranked list with one-sentence verdicts" is a workday.

How to use

Copy the framework below into your Claude / ChatGPT / Gemini conversation. With edgar.tools MCP connected, the model will call the tools it needs. Then ask:

Run the 8-K Event Triager on [TICKER] for the last 30/60/90 days.
Prompt — paste this into Claude, ChatGPT, or Gemini

The framework (v1.0)

You are a sell-side or buy-side analyst on the morning of a watchlist review. The user hands you a ticker and a lookback window. Your job is to produce a triage table that separates load-bearing 8-Ks from context and noise, then draft one-sentence verdicts on the load-bearing ones.

Non-negotiables

  • Every claim is anchored to a specific 8-K accession.
  • Drill into the body of any 8-K flagged as high_impact — never categorize a leadership change from the item name alone.
  • Read 4.02 (restatement) and 1.05 (cybersecurity) ALWAYS, even if there's only one in the window. Both are rare and meaningful by definition.
  • A 5.02 that says "X resigned to pursue another career opportunity" is a signal, not a paraphrase. Quote, don't smooth.
  • If there are zero load-bearing 8-Ks, say so explicitly — don't manufacture interest.

The impact rubric

LOAD-BEARING — drill into the body, write a one-sentence verdict

ItemWhat it isWhy it matters
1.01Material Definitive AgreementM&A LOI, license, customer deal, big supplier contract
1.03Bankruptcy or ReceivershipSolvency event
1.05Cybersecurity IncidentNew SEC rule; if disclosed, it's material by definition
2.01Completion of Acquisition / DispositionM&A close — actual cash / shares moved
2.03New Material Financial ObligationNew facility, indenture, credit line — leverage shift
2.04Triggering Event re: Off-BS ArrangementCovenant breach, default trigger
3.01Listing standards / delistingExchange compliance
4.01Change in Registrant's Certifying AccountantAuditor change — possible governance smoke
4.02Non-Reliance on Previously Issued FinancialsRESTATEMENT — STOP and read
5.01Changes in ControlM&A, activist, financial-sponsor takeover
5.02Director / Officer ChangesC-suite transitions; cluster matters

CONTEXT — note item + date, one-line summary, but don't drill

ItemWhat it isUse
2.02Results of OperationsEarnings release — read separately via filing_section(earnings_release)
7.01Reg FD DisclosureInvestor-day decks, guidance updates
8.01Other EventsCatch-all; sometimes load-bearing (read the description)
3.03Material Modification to RightsCharter / bylaw changes

NOISE — count only, don't list individually

ItemWhat it is
5.07Submission of Matters to a Vote (annual meeting results)
5.03Amendments to Articles / Bylaws (often routine)
9.01Financial Statements and Exhibits (almost always paired with another item)

Workflow (ordered, mandatory)

Step 1 — Pull the window

Call material_events({ company: "[TICKER]", days: <window> }). Note the analysis_hints.has_high_impact flag and high_impact_items array.

Step 2 — Sort by impact tier

Walk the results[] array. For each event:

  • If the item set contains ANY load-bearing code (per the rubric above), categorize as LOAD-BEARING.
  • Else if it contains 2.02, 7.01, 8.01, or 3.03, categorize as CONTEXT.
  • Else (5.07 / 5.03 / 9.01 only), categorize as NOISE.

Items can co-occur (e.g. 5.02, 9.01 is one 8-K with two items). Use the most-impactful item to categorize the filing.

Step 3 — Drill into load-bearing bodies

For each LOAD-BEARING filing, call filing_section({ accession, section: "eight_k_item:<code>" }) for the highest-impact item. Read the body and write one sentence that:

  • States the specific event (who, what, when)
  • Flags the signal (is this a smoke, a tactical change, a positive, or routine-but-required disclosure?)

Do NOT summarize. The 8-K body is already short. Quote the load-bearing phrase if there is one ("to pursue another career opportunity", "severance benefits", "non-reliance on previously issued").

Step 4 — Check for clusters

If the window contains 2+ filings of the same load-bearing item (especially 5.02), call this out separately as a CLUSTER. Three 5.02s in 6 weeks is itself the signal.

Step 5 — Required output

Produce a triage table in this exact structure:

[TICKER] — 8-K Triage · [N] days
[Lookback: YYYY-MM-DD → YYYY-MM-DD]

LOAD-BEARING ([count])
  YYYY-MM-DD · [item codes] · [accession link]
    Verdict: [one sentence with the load-bearing phrase quoted]

  YYYY-MM-DD · [item codes] · [accession link]
    Verdict: [one sentence]

CONTEXT ([count])
  YYYY-MM-DD · [item codes] · [accession link] — [one-line]

NOISE ([count])
  [N] × 5.07, [N] × 5.03, etc.  (not detailed)

CLUSTERS (if any)
  [N] × [item code] within [duration]: [interpretation]

RECOMMENDED ACTIONS
  - [Action] (e.g., "Read the EX-99.1 for the 2.02 earnings release")
  - [Action] (e.g., "Update model for the 2.03 facility — terms in body")
  - (or "No actions; window is clean")

Stopping conditions

  • If the company filed an 8-K Item 4.02 in the window, that one filing supersedes everything else — produce a single-item triage focused on the restatement.
  • If material_events returns zero rows in the window, say so and stop (don't generate a triage of nothing).
  • If the company files no 8-Ks but does file regular 10-Q / 10-K traffic, the triager doesn't apply — recommend the 10-K Speedrun or a focused-section read instead.
Then askRun this on INTC.

What MCP-grounded 8-K Triager adds

Triager elementWithout MCPWith MCP
Full 8-K list for the windowHeadlines the model remembers (incomplete + lagged)material_events returns every 8-K with item codes
High-impact flagModel's intuitionanalysis_hints.high_impact_items is set deterministically on 7 item codes with AI summaries
5.02 body ("did the CAO really resign?")Generic paraphrasefiling_section(eight_k_item:5.02) returns the actual 60–120 word disclosure
Cluster detectionNone — model sees each event in isolationTwo+ filings of the same item are obvious in the result array
Item-code rubricConflated with marketing/news classificationSEC-canonical item codes — no ambiguity about whether 2.02 is "earnings" or "guidance"
Restatement (4.02) detectionOften missed entirelyExact item-code filter catches every 4.02 in the window

The triager is the recipe most worth running on a watchlist rather than a single company. The per-ticker cost is low; the marginal value comes from doing it across 10–30 tickers in one sitting.

Sample output structure

A complete triage on INTC (Intel Corporation) for the trailing 90 days — a company in active restructuring with realistic 8-K mix — looks like the preview below.

Sample LLM output — what FORGE returnsPreview

INTC — 8-K Triage · 90 days

Lookback: 2026-02-15 → 2026-05-15

LOAD-BEARING (2)

2026-04-24 · 5.02, 9.01 · `0000050863-26-000083` Verdict: CAO Scott Gawel "resigned… to pursue another career opportunity" effective immediately; CFO David Zinsner takes on the principal accounting officer role on top of his CFO duties. CFO + CAO consolidation at a company in restructuring is a yellow flag for control-environment thinness — watch the next 10-Q's Item 4 controls disclosure.

2026-04-03 · 5.02, 9.01 · `0000050863-26-000069` Verdict: Chief Legal Officer April Miller Boise to separate effective 2026-06-01 with severance under the Executive Severance Plan (not "retirement", not "to pursue another opportunity" — neutral phrasing suggests negotiated exit, not voluntary).

CONTEXT (4)

  • 2026-04-30 · 8.01, 9.01 · `0001193125-26-197845` — Other material event (read the EX-99.1 if relevant to thesis)
  • 2026-04-23 · 2.02, 9.01 · `0000050863-26-000077` — Q1 earnings release; pull via filing_section(earnings_release) for the prepared remarks
  • 2026-04-08 · 8.01, 9.01 · `0000050863-26-000072` — Other material event
  • 2026-03-03 · 7.01, 8.01, 9.01 · `0000050863-26-000044` — Reg FD disclosure + other event (investor / strategy update)

NOISE (1)

  • 1 × 5.07 (annual-meeting voting results, 2026-05-15)

CLUSTERS

2 × 5.02 within 21 days — Two C-suite separations in three weeks (CAO + Chief Legal Officer) at a company already in the middle of strategic restructuring. Not yet a stampede (no CFO, COO, or business-unit head departures), but the cadence is the signal — re-check on each new 5.02 over the next 60 days. Cluster pattern + the CAO's "pursue another career opportunity" phrasing warrant flagging the audit-committee meeting cadence.

  • Pull the EX-99.1 from the 2026-04-23 earnings 8-K via filing_section(earnings_release) to ground the Q1 numbers
  • Re-run this triage in 4 weeks; flag if a third 5.02 fires before then
  • Add a watch on the next 10-Q's Item 4 controls disclosure given the CFO+CAO consolidation
  • Read the 2026-04-30 and 2026-04-08 8.01 bodies if the EX-99.1s touch the restructuring narrative

Actual output will vary by ticker; this shows the structure and density the triager produces when grounded in MCP.

  • 10-K Speedrun — when a triage prompts a deeper read on the underlying company.
  • Insider Activity Interpreter — pairs naturally with 5.02 clusters; the buy/sell patterns around leadership changes often confirm or contradict the public-disclosure read.
  • Risk Factors YoY Diff — when an 8-K flags a new risk category, verify whether the company added a matching Item 1A entry in the latest 10-K.