Show HN: I built a Claude Code plugin to query 10.6M earnings-call embeddings
FN2 is a Claude Code plugin that adds semantic search over 10.6 million earnings-call passages, plus real-time prices, SEC filings, and FRED macro data. Users can start, schedule, and read research agents from the terminal, and a demo shows how it summarized NVDA's Blackwell commentary across four quarters.
Use FN2 from Claude Code
1
Semantic search across 10.6 million embedded earnings-call passages, real-time prices, SEC filings, and FRED macro data, straight into Claude Code. Start, schedule, and read FN2 research agents without leaving your terminal.
Get the plugin on GitHub Create a free account
What is FN2 and how does it work?
> what has NVDA management actually said about Blackwell supply on the last few earnings calls?
●I'll run a semantic search over the earnings-call corpus with the fn2 skill.
● Bash(python3 "$FN2" auth status)
⎿ signed in · plan pro · credential fn2d_…fGlh (device token)
● Bash(python3 "$FN2" --json start "NVDA management commentary on Blackwell supply across recent earnings calls, quoted and cited")
⎿ { "id": "cce9d5fa", "status": "pending", "recurring": false }
● Bash(python3 "$FN2" result cce9d5fa dedde0a2)
⎿ run completed in 35s · model z-ai/glm-5.2 · 118,982 tokens
searched 10,602,684 embedded passages across 142,758 calls · Qwen3-Embedding-8B (4096d)
… +48 lines (ctrl+o to expand)
●Four quarters of calls tell one story: Blackwell went from constraint to ramp. A year ago the language was scarcity, with "demand well ahead of supply" and cloud GPUs described as sold out.
●By the latest call (FY27 Q1) it's the "fastest product ramp in company history". The numbers back the quote: Data Center did $75B, up 92% YoY, with networking nearly tripling.
●Still tight into next year: $91B guided next quarter plus an $80B buyback, and China held at zero in the outlook. Full quotes and call citations are in the run report.
✱ Cooked for 1m 5s
> love it. brief me like this every weekday before the open, and show me what my agents are up to
●Scheduling it with email delivery. "before market open" resolves against the exchange calendar server-side, so it skips weekends and holidays automatically.
● Bash(python3 "$FN2" start "Daily pre-market brief on NVDA" --when "before market open" --email)
⎿ ✓ agent created: 5835e096 · active · email on
cadence: 30 min before each market open (America/New_York)
next run: Mon Aug 10, 09:00 ET
● Bash(python3 "$FN2" agents)
⎿ ID NAME STATUS SCHEDULE RUNS
5835e096 Daily pre-market brief on NVIDIA active market_open 0
5a415c62 Market Open Sentiment active market_open 53
884e7ac6 Price Movement active market_close 5
3b233ff3 Morning Briefing active weekly 2
92724634 AMZN 10% Daily Move Alert completed market_close 1
… +4 lines (ctrl+o to expand)
●Your pre-market NVDA brief is live: 30 minutes before every open, trading days only, each result emailed to you. First run lands Monday 9:00 ET.
●You have 8 other agents running, including Market Open Sentiment with 53 runs. Two look like duplicates; want me to clean those up?
✱ Crunched for 30s
✱ Cooking… (0s · esc to interrupt)