whale-hunting — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited whale-hunting (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Scans option chains for a given underlying to identify institutional-sized trades using a two-step approach:
Note: Ifuvis not installed orpyproject.tomlis not found, replaceuv run pythonwithpythonin all commands below.
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py SYMBOL [--months N] [--date YYYY-MM-DD] [--sigma F] [--sigma-z F] [--summary]SYMBOL — Underlying ticker (e.g. AAPL, NVDA, SPY)--months — Max months until option expiration to consider (default: 2)--date — Trading date to analyze in YYYY-MM-DD format (default: latest trading day)--sigma — Std-deviation multiplier for crude outlier threshold (default: 3.0)--sigma-z — Modified Z-Score threshold for per-second small-sample detection (default: 3.5)--summary — Also compute per-ticker summary and include it in the JSON outputReturns JSON with:
underlying — The scanned symboltrading_date — Date analyzedsource — "massive" (per-second data) or "yahoo only" (daily chain data)total_whales — Total whale events foundtotal_call_invested — Sum of invested dollars in call whale eventstotal_put_invested — Sum of invested dollars in put whale eventscall_put_ratio — Call invested / put invested (null if no puts)whales — List of whale events:timestamp, ticker, type, strike, expiryclose, volume, transactions, invested, break_evensummary (present only when `--summary` is passed) — List of per-ticker aggregates:ticker, type, strike, expiry, whale_count, total_invested, break_even# Hunt whales for AAPL (latest trading day)
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py AAPL
# Hunt whales for NVDA on a specific date
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py NVDA --date 2026-03-13
# With per-ticker summary
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py HOOD --months 3 --summary
# Looser detection threshold
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py SPY --sigma 2.0After running the script, present the results as follows.
Header line:
Whale activity for {underlying} on {trading_date} — source: {source} Call flow: ${total_call_invested:,.0f} | Put flow: ${total_put_invested:,.0f} | C/P ratio: {call_put_ratio:.2f}
When `--summary` was requested, render the summary array as a table:
| Time (ET) | Ticker | Type | Strike | Expiry | # Events | Total Invested | Break Even |
|---|---|---|---|---|---|---|---|
| {timestamp} | {ticker} | {type} | {strike} | {expiry} | {whale_count} | ${total_invested:,.0f} | {break_even} |
Sort by total_invested descending. For multi-event rows use the time range of first–last event (e.g. 11:46–12:33).
Interpretation guidance:
source: "massive" — High-confidence; per-second block trade data from Massive APIsource: "yahoo only" — Fallback; daily-level data (Massive API key missing or no intraday data)transactions: 1 — Single block trade; strongest whale signalMASSIVE_API_KEY environment variable for per-second data. Without it, falls back to Yahoo Finance daily data.All timestamps and time-based calculations must use the America/New_York timezone. All JSON output must include generated_at (NY time string) and data_delay fields.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.