8-k-scanner
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…
Reconcile a position file against splits, dividends, and spinoffs to catch breaks before they hit P&L or T+1 settlement. Use when an operator hands over a CSV of positions and asks "are these right after the recent corporate actions." Runs on a free Massive Basic key.
$ npx -y skills add rgourley/quant-garage --skill corp-actions-reconciler --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/corp-actions-reconcilerContext preview
The summary Claude sees to decide when to auto-load this skill.
Reconcile a position file against splits, dividends, and spinoffs to catch breaks before they hit P&L or T+1 settlement. Use when an operator hands over a CSV of positions and asks "are these right after the recent corporate actions." Runs on a free Massive Basic key.
name: corp-actions-reconciler description: Reconcile a position file against splits, dividends, and spinoffs to catch breaks before they hit P&L or T+1 settlement. Use when an operator hands over a CSV of positions and asks "are these right after the recent corporate actions." Runs on a free Massive Basic key.
You hand over a CSV of positions. The skill walks every line against the splits and dividends history, flags anything where the recorded share count or cost basis is off, and emits a clean reconciliation report with citations.
This is the highest-grounding-value workflow in the suite. LLMs hallucinate split factors constantly (was it a 3-for-1 or 7-for-1? forward or reverse?). Massive's splits endpoint has the truth, so the skill never guesses.
corporate actions"
which corporate action caused it
settlement instructions
`cost_basis`, `as_of_date`
The skill ships two output layers:
**Layer 1: canonical JSON** matching [`output-schema.json`](./output-schema.json). This is what UI dashboards, downstream agents, and Python scripts consume. Every field is typed, every break carries its source endpoint and a fetched-at timestamp for audit trail.
**Layer 2: rendered exception report** for Claude Code users. See [`references/rendering.md`](./references/rendering.md) for the full rendering rules. A short example:
2 BREAKS found across 47 positions checked. BREAK 1: AAPL Recorded: 100 shares as of 2024-08-01 Action: 2-for-1 split, ex-date 2026-03-10 Expected: 200 shares Delta: +100 (under-allocated) Source: api.massive.com/v3/reference/splits?ticker=AAPL Verified: 2026-06-23T14:32:08Z
UI devs work from the JSON. Claude Code users see the rendered form. Same compute, two consumption surfaces.
1. For each row in the input CSV, call the splits and dividends endpoints with `ticker` and `execution_date > as_of_date` (splits) and `ex_dividend_date > as_of_date` (dividends). 2. Apply each split's `split_to / split_from` ratio to the recorded share count, in chronological order. Cost basis moves inversely. 3. Walk dividend records and route by Massive's `dividend_type`. RC (regular cash) and SC (special cash) reduce cost basis per share by the cash amount. SD (stock dividend) and LT (large stock dividend, treated as a split per IRS Rev. Rul.) adjust share count and prorate basis. ST routes through the split path defensively. Unknown types are surfaced in `tier_caveats` rather than silently dropped. See [dividends methodology](./references/dividends-methodology.md). 4. Read spinoff entries from a `spinoffs.json` overrides file (no dedicated Massive spinoffs endpoint as of June 2026); adjust the parent position's basis and create a new position for the subsidiary at the issuer's allocation. See [spinoffs methodology](./references/spinoffs-methodology.md). 5. Compare projected share count and cost basis to the recorded values in the input file. 6. Emit any mismatch as a BREAK with citation.
The four methodology references are the IP. Read them in this order if you're extending the skill:
1. [`splits-methodology.md`](./references/splits-methodology.md): forward and reverse splits, compounding, fractional results. 2. [`dividends-methodology.md`](./references/dividends-methodology.md): cash, special, RoC, stock dividends, timing rule. 3. [`spinoffs-methodology.md`](./references/spinoffs-methodology.md): parent basis allocation, new-position creation, Massive endpoint gaps and override file format. 4. [`edge-cases.md`](./references/edge-cases.md): CIL, ADR/ordinary mapping, reverse-split delisting watch, symbol changes, same-day actions, FX.
(only when computing first-session cost-basis allocation for a spinoff)
The splits and dividends endpoints are included in the free Basic tier. Rate-limited to 5 calls/min on free, so a CSV with more than ~50 rows will take a few minutes on a free key. Any paid tier eliminates the wait. The aggs call for spinoff basis allocation also runs on Basic.
# Quick test against a small position file echo "ticker,shares,cost_basis,as_of_date AAPL,100,150.00,2024-08-01 GOOGL,50,2800.00,2022-06-01" > positions.csv # Invoke from Claude Code # > /corp-actions-reconciler positions.csv
The skill processes positions sequentially and writes a single JSON + rendered report at the end of the run.
limiting
operator's settlement-system problem; see edge-cases.md)
manual entry in `spinoffs.json`)
Add these in a PR if you need them. The patterns are straightforward extensions of the existing splits/dividends/spinoffs logic.
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.
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…
Track sell-side analyst positioning on a name via Benzinga Analyst Ratings. Pulls every rating event over the lookback window, classifies each as upgrade /…
Build a clean, point-in-time, ready-to-backtest OHLCV dataset for a US equity universe across an arbitrary date window. Emits parquet plus a manifest plus an…
Bayesian Online Change-Point Detection (BOCPD) on a ticker's daily log returns. Detects points in time where the return-generating distribution changed (regime…
Single-commodity macro read. Answers "is this commodity in a winning or losing macro setup right now" and names the macro driver that dominates it. Pulls one…
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,…