From daloopa
Pre-earnings preparation report for the night before a company reports
npx claudepluginhub daloopa/plugin --plugin daloopaThis skill uses the workspace's default tool permissions.
Generate a pre-earnings preparation report for the company specified by the user: $ARGUMENTS
Builds pre-earnings previews for companies with consensus estimates, key metrics, bull/base/bear scenarios, catalyst checklists, and trading setups.
Generates 4-5 page HTML equity research earnings preview for one company using Kensho search and S&P kfinance data on transcripts, competitors, valuation, and news.
Retrieves upcoming US stock earnings announcements via FMP API, filtering mid-cap+ companies (>$2B market cap), outputs markdown tables by date and timing. Use for earnings calendar or weekly review requests.
Share bugs, ideas, or general feedback.
Generate a pre-earnings preparation report for the company specified by the user: $ARGUMENTS
This is the note a L/S equity analyst reads the night before a company reports — it tells them exactly what to focus on when the print drops.
Before starting, read ../data-access.md for data access methods and ../design-system.md for formatting conventions. Follow the data access detection logic and design system throughout this skill.
Follow these steps:
Look up the company by ticker using discover_companies. Capture:
company_idlatest_calendar_quarter — anchor for all period calculations below (see ../data-access.md Section 1.5)latest_fiscal_quarter../data-access.md Section 4.5Determine the upcoming quarter — the one AFTER latest_calendar_quarter. This is the quarter the company is about to report. All analysis is oriented around preparing the analyst for this print.
Pull the most recent quarter's full financials from Daloopa. Calculate 4 quarters backward from latest_calendar_quarter (for YoY context).
Pull:
Summarize the story of last quarter in 3-5 bullets:
"{TICKER} earnings reaction {latest_quarter_label} {year}")This is the baseline everyone on the upcoming call will be anchoring to.
Search for ALL guidance series using keywords: "guidance", "outlook", "estimate", "forecast", "target". Apply the +1 quarter offset to identify which guidance applies to the upcoming print:
latest_calendar_quarter earnings call is what applies to the upcoming quarterPull and present:
Search filings for directional/qualitative guidance:
Flag any guidance updates between quarters:
Present all guidance in a single table: Metric | Guidance Value | Source Quarter | Type (Quantitative/Directional).
This section MUST be built entirely from Daloopa data — guidance series AND actual result series pulled via get_company_fundamentals. Do not use web search or estimates for this analysis.
Step 1: Pull 8 quarters of guidance data.
You already discovered guidance series in Section 3. Now pull ALL of those guidance series for the last 8 quarters (from latest_calendar_quarter backward). These are the guidance values management provided each quarter.
Step 2: Pull 8 quarters of corresponding actuals. For every guided metric, identify the corresponding actual result series (e.g., if there is a "Revenue guidance" series, pull the actual "Revenue" series). Pull these actuals for the same 8-quarter period.
Step 3: Build the complete beat/miss table. Apply the +1 quarter offset: guidance from Q(N) is compared to the actual result in Q(N+1). For EVERY quarter where both a guidance value and a corresponding actual exist, compute:
Present a FULL detail table — every quarter, every guided metric. This is the core analytical engine of the whisper number. Do not summarize or abbreviate — show all rows. Format:
| Guidance Source Qtr | Metric | Guidance (Mid) | Actual Qtr | Actual | Delta | Beat/Miss % |
If a company provides range guidance (low/high), show the midpoint and note the range width. If a company only provides directional guidance for some metrics (e.g., "revenue growth in low teens"), convert to an implied numeric value for comparison (e.g., 12-13% → midpoint ~12.5% applied to prior year actual).
Step 4: Compute summary statistics from the detail table:
Step 5: Calculate the implied "whisper number":
Present the whisper summary: | Metric | Current Guidance (Mid) | Avg Historical Beat | Implied Whisper | Beat Rate (n/N) |
Credibility verdict: Is management's guidance informative (tight, accurate) or performative (always sandbagged, uninformative)? If the beat rate is >90%, say so — it means the guidance number is a floor, not a forecast. If the beat magnitude is increasing, management is becoming MORE conservative over time.
This is the most differentiated section. For companies in the same sector that have ALREADY reported this earnings season, their results contain direct signal about the upcoming print.
Identify the read-through universe (aim for 5-8 companies):
CRITICAL: Always use Daloopa as the primary data source for peer analysis. For each peer:
discover_companies with the peer's ticker. If Daloopa has the company, check latest_calendar_quarter to determine whether they have already reported the relevant quarter.discover_company_series → get_company_fundamentals). Focus on 2-4 metrics most relevant to the read-through (e.g., for a supplier: revenue, segment breakdown, inventory; for a competitor: revenue growth, market share proxies, pricing commentary).search_documents with keywords related to the target company's products, markets, or industry (e.g., for an Apple supplier, search for "Apple", "smartphone", "consumer electronics").For each read-through, extract (with Daloopa citations):
fundamental_id.For peers that haven't reported yet: Note them as "reports after {TICKER}" — their results will be a read-through in the opposite direction.
Group read-throughs by:
Web research for sector context (supplementary only — after Daloopa pulls):
"{TICKER} sector earnings season {year} read through" — analyst commentary on cross-company signals"{TICKER} competitors results {upcoming_quarter_label} {year}" — what peers have already signaledIdentify the 5-7 metrics the analyst should focus on when the print drops. For each metric:
| Metric | Current Level | Guidance/Expected | Bullish Threshold | Bearish Threshold | Why It Matters |
Be specific with thresholds — not "revenue growth" but "revenue above $95B signals iPhone cycle acceleration; below $92B confirms China weakness." Not "margins" but "gross margin above 47% confirms services mix shift; below 45% signals hardware pricing pressure."
Prioritize by information value:
Gather available consensus context:
From data sources (consensus estimates if available per ../data-access.md Section 3):
From web search (supplement or replace if consensus data unavailable):
"{TICKER} earnings preview consensus estimates {upcoming_quarter_label} {year}" — sell-side previews"{TICKER} analyst expectations {year}" — positioning and sentimentNote limitations if consensus data is not directly available. Even directional context ("estimates have been revised up 3% over the last 90 days") is valuable.
Use web search to find how the stock has reacted to the last 4-6 earnings prints:
"{TICKER} earnings stock reaction history {year}" — post-earnings moves"{TICKER} options implied move earnings {upcoming_quarter_label}" — current implied volatilityPresent as a table: | Quarter | Revenue Beat/Miss | EPS Beat/Miss | Next-Day Move | Notes |
Pattern identification:
Web search for developments since last quarter that could affect results:
"{TICKER} {industry} outlook {current_year}" — sector developments"{TICKER} headwinds tailwinds {current_year}" — company-specific macro factorsDistill into 5-8 bullets, each with a directional tag (Positive / Negative / Uncertain):
Keep each bullet to one sentence. The analyst needs context, not a macro essay.
Beyond the numbers, what could management announce that would move the stock? Search filings and news for signals:
"{TICKER} potential announcement catalyst {year}" — speculative but groundedCategories:
For each potential surprise, note the signal strength (rumored / speculated / no signal) and the likely stock impact direction.
A concise, actionable summary that fits on a single card. This is what the analyst tapes to their monitor:
The Numbers:
Top 3 Metrics to Watch:
The Bull Catalyst: What would make this stock go up 5%+ after the print? (one sentence)
The Bear Risk: What would make this stock go down 5%+ after the print? (one sentence)
Read-Through Signal: After this company reports, what does it mean for [2-3 other names]?
Historical Pattern: Last 4 prints averaged +/-X% next-day move; options imply +/-X% this time.
Save to reports/{TICKER}_earnings_prep_{UPCOMING_CQ}.html (e.g., AAPL_earnings_prep_2026Q1.html) using the HTML report template from ../design-system.md. The period in the filename is the upcoming calendar quarter being prepped for — the one AFTER latest_calendar_quarter. Write the full analysis as styled HTML with the design system CSS inlined. This is the final deliverable — no intermediate markdown step needed.
The report should include:
All financial figures must use Daloopa citation format: <a href="https://daloopa.com/src/{fundamental_id}">$X.XX million</a>
Tell the user where the HTML report was saved.
Highlight what makes this print particularly interesting: Is the whisper number meaningfully above guidance (setting up for disappointment even on a beat)? Are peer read-throughs conflicting (creating genuine uncertainty)? Is there a potential surprise catalyst that could overshadow the numbers? Give the analyst the single most important thing to watch.