← DaloopaCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Daloopa
Snapshot Sep 30, 2026 · 22:51 UTC · version 6.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "earnings-prep",
"description": "Pre-earnings preparation report for the night before a company reports",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 237
}
],
"skill_md_contents": "---\nname: earnings-prep\ndescription: Pre-earnings preparation report for the night before a company reports\n---\n\nGenerate a pre-earnings preparation report for the company specified by the user named in the user's request. If no ticker or company is provided, ask for one before proceeding.\n\nThis 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.\n\n**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.\n\nFollow these steps:\n\n## 1. Company Lookup\nLook up the company by ticker using `discover_companies`. Capture:\n- `company_id`\n- `latest_calendar_quarter` — anchor for all period calculations below (see `../data-access.md` Section 1.5)\n- `latest_fiscal_quarter`\n- Firm name for report attribution (default: \"Daloopa\") — see `../data-access.md` Section 4.5\n\nDetermine 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.\n\n## 2. Last Quarter Recap\nPull the most recent quarter's full financials from Daloopa. Calculate 4 quarters backward from `latest_calendar_quarter` (for YoY context).\n\n**Pull:**\n- Revenue, Gross Profit, Operating Income, EBITDA, Net Income, Diluted EPS\n- Operating Cash Flow, CapEx, FCF (calc.)\n- Segment/product revenue breakdown\n- Company-specific KPIs (use the business-model taxonomy: SaaS → ARR/NRR/RPO; Consumer → DAU/ARPU; E-commerce → GMV/take rate; etc.)\n\n**Summarize the story of last quarter in 3-5 bullets:**\n- What beat expectations (guidance or consensus)?\n- What missed or disappointed?\n- What was the stock reaction? (use `get_stock_prices` per `../data-access.md` Section 1.7 to get the actual next-day move; supplement with WebSearch for narrative context if needed)\n- What narrative emerged from the call? (e.g., \"AI monetization acceleration,\" \"margin expansion story intact,\" \"consumer weakness\")\n- What was the single most debated metric?\n\nThis is the baseline everyone on the upcoming call will be anchoring to.\n\n## 3. Outstanding Guidance for Upcoming Quarter\nSearch 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:\n- CRITICAL: Guidance from Q(N) earnings call applies to Q(N+1) results\n- The guidance issued during the `latest_calendar_quarter` earnings call is what applies to the upcoming quarter\n\n**Pull and present:**\n- Revenue guidance (point estimate or range)\n- EPS guidance\n- Margin guidance (gross, operating, EBITDA)\n- CapEx guidance\n- Segment-level guidance (if available)\n- KPI guidance (subscriber adds, unit volumes, ARPU targets, etc.)\n\n**Search filings for directional/qualitative guidance:**\n- Search documents for: \"expect\", \"anticipate\", \"similar to\", \"consistent with\"\n- Search documents for: \"low single digit\", \"mid single digit\", \"double digit\", \"sequential\"\n- Search documents for: \"headwind\", \"tailwind\", \"conservatively\", \"assumes\"\n- Capture exact management quotes with document citations\n\n**Flag any guidance updates between quarters:**\n- Search for \"pre-announce\", \"update\", \"revise\" in the most recent quarter's filings\n- Check if the company issued an 8-K updating guidance after the last earnings call\n\nPresent all guidance in a single table: Metric | Guidance Value | Source Quarter | Type (Quantitative/Directional).\n\n## 4. Guidance Credibility & Whisper Number\nThis 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.\n\n**Step 1: Pull 8 quarters of guidance data.**\nYou 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.\n\n**Step 2: Pull 8 quarters of corresponding actuals.**\nFor 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.\n\n**Step 3: Build the complete beat/miss table.**\nApply 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:\n- Guidance value (midpoint if range)\n- Actual value\n- Delta (Actual - Guidance midpoint)\n- Beat/Miss % ((Actual - Guidance midpoint) / |Guidance midpoint| × 100)\n- Classification: Beat / In-line / Miss (use +/-1% threshold for in-line)\n\n**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:\n\n| Guidance Source Qtr | Metric | Guidance (Mid) | Actual Qtr | Actual | Delta | Beat/Miss % |\n\nIf 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).\n\n**Step 4: Compute summary statistics from the detail table:**\n- Beat rate per metric (% of quarters where actual > guidance midpoint)\n- Average beat magnitude per metric (in absolute terms and %)\n- Beat pattern trend: is the beat getting larger (sandbagging increasing), shrinking (guidance getting more accurate), or volatile? Look at the last 4 vs. prior 4.\n- Range width trend: is management tightening or widening guidance ranges?\n\n**Step 5: Calculate the implied \"whisper number\":**\n- Whisper = Current guidance midpoint + Average historical beat (from the detail table above)\n- This is the REAL bar the stock is trading against, not the stated guidance\n- If the company beats by 2% on average, the market expects a 2% beat — an in-line result to guidance is effectively a miss\n- Calculate whisper for EVERY guided metric, not just revenue\n\n**Present the whisper summary:**\n| Metric | Current Guidance (Mid) | Avg Historical Beat | Implied Whisper | Beat Rate (n/N) |\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.\n\n## 5. Peer & Adjacent Company Read-Throughs\nThis 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.\n\n**Identify the read-through universe (aim for 5-8 companies):**\n- **Competitors**: Direct rivals in the same market\n- **Suppliers**: Companies that sell to the target company\n- **Customers**: Companies that buy from the target company\n- **Industry bellwethers**: Large companies whose results signal sector trends\n\n**CRITICAL: Always use Daloopa as the primary data source for peer analysis.** For each peer:\n\n1. **Look up the peer in Daloopa:** `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.\n2. **If the peer has data for the current earnings season quarter:** Pull their financials from Daloopa (`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).\n3. **Search the peer's filings in Daloopa:** `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\").\n4. **Use WebSearch only to supplement Daloopa data** — for earnings-season timing confirmation, stock price reactions, or analyst commentary that Daloopa filings don't cover.\n\n**For each read-through, extract (with Daloopa citations):**\n1. **The specific data point** — the peer's metric that creates signal. Cite the Daloopa `fundamental_id`.\n2. **The implication** — bullish or bearish for the target company, and why\n3. **Confidence level** — High (direct disclosed relationship), Moderate (inferred from industry), Low (circumstantial)\n\n**For peers that haven't reported yet:** Note them as \"reports after {TICKER}\" — their results will be a read-through in the opposite direction.\n\n**Group read-throughs by:**\n- **Competitors** — share shift signals, pricing environment, demand trends\n- **Suppliers** — order book signals, inventory levels, capacity commentary\n- **Customers** — demand signals, inventory destocking/restocking, spending priorities\n- **Industry Bellwethers** — macro/sector health, end-market demand\n\n**Web research for sector context (supplementary only — after Daloopa pulls):**\n- Search: `\"{TICKER} sector earnings season {year} read through\"` — analyst commentary on cross-company signals\n- Search: `\"{TICKER} competitors results {upcoming_quarter_label} {year}\"` — what peers have already signaled\n\n## 6. Key Metrics to Watch\nIdentify the 5-7 metrics the analyst should focus on when the print drops. For each metric:\n\n| Metric | Current Level | Guidance/Expected | Bullish Threshold | Bearish Threshold | Why It Matters |\n\n**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.\"\n\n**Prioritize by information value:**\n1. Metrics where guidance has been vague or directional (highest uncertainty)\n2. Metrics where peer read-throughs are conflicting (the print will resolve the debate)\n3. Metrics that drive the forward multiple (the ones the market will re-rate on)\n4. KPIs that lead revenue by 1-2 quarters (predictive of next quarter's financials)\n\n## 7. Consensus & Positioning\nGather available consensus context:\n\n**From data sources (consensus estimates if available per `../data-access.md` Section 3):**\n- Consensus revenue and EPS for the upcoming quarter\n- Number of analysts at Buy / Hold / Sell\n- Consensus price target (median and range)\n- Recent estimate revision trends (last 30/60/90 days — moving up or down?)\n\n**From web search (supplement or replace if consensus data unavailable):**\n- Search: `\"{TICKER} earnings preview consensus estimates {upcoming_quarter_label} {year}\"` — sell-side previews\n- Search: `\"{TICKER} analyst expectations {year}\"` — positioning and sentiment\n\n**Note limitations** if consensus data is not directly available. Even directional context (\"estimates have been revised up 3% over the last 90 days\") is valuable.\n\n## 8. Historical Earnings Reaction\n**Stock price data (from Daloopa):**\nUse `get_stock_prices` (see `../data-access.md` Section 1.7) to get actual post-earnings price moves for the last 4-6 earnings prints. For each historical earnings date, pull prices for a window: `start_date` = 1 trading day before earnings, `end_date` = 3-5 trading days after. Compute:\n- Next-day move (pre-earnings close → post-earnings close)\n- 3-day drift (post-earnings close → 3 days later)\n\nTo estimate historical earnings dates, use the quarter-end date + ~30-45 days as an approximation, or use WebSearch to confirm exact dates if needed.\n\nAlso pull the current stock price (3 most recent calendar days) for the report header.\n\n**Supplement with web search for options context:**\n- Search: `\"{TICKER} options implied move earnings {upcoming_quarter_label}\"` — current implied volatility\n\n**Present as a table:**\n| Quarter | Revenue Beat/Miss | EPS Beat/Miss | Next-Day Move | 3-Day Drift | Notes |\n\nPopulate the Revenue/EPS Beat/Miss columns from the guidance credibility analysis in Section 4. The price move columns come from `get_stock_prices`.\n\n**Pattern identification:**\n- Does the stock tend to sell off on beats? (buy-the-rumor, sell-the-news pattern)\n- Does it rally on in-line results? (low expectations already embedded)\n- Is there a pattern of post-earnings drift (continued move in the days after)?\n- What's the current implied move from the options market? If it's elevated vs. history, the market expects a big move.\n\n## 9. Macro & Sector Backdrop\nWeb search for developments since last quarter that could affect results:\n- Search: `\"{TICKER} {industry} outlook {current_year}\"` — sector developments\n- Search: `\"{TICKER} headwinds tailwinds {current_year}\"` — company-specific macro factors\n\n**Distill into 5-8 bullets, each with a directional tag (Positive / Negative / Uncertain):**\n- Industry-specific: new regulations, competitor product launches, market share shifts\n- Macro: FX moves (specify currencies and direction), commodity prices, interest rates\n- Policy: tariffs, trade restrictions, tax changes\n- Channel: inventory levels in the channel, distributor commentary, supply chain status\n- Company-specific: product launches since last quarter, management changes, M&A\n\nKeep each bullet to one sentence. The analyst needs context, not a macro essay.\n\n## 10. Potential Surprises & Call Catalysts\nBeyond the numbers, what could management announce that would move the stock? Search filings and news for signals:\n- Search documents: \"restructuring\", \"acquisition\", \"buyback\", \"dividend\" in recent filings\n- Search: `\"{TICKER} potential announcement catalyst {year}\"` — speculative but grounded\n\n**Categories:**\n- **Capital allocation**: New buyback authorization, dividend change (hike/cut/initiation), M&A announcement, asset sale/spinoff\n- **Operational**: Restructuring/layoffs, new product launch, partnership/contract win, segment reporting changes\n- **Strategic**: New guidance metrics, long-term targets update, management changes, investor day announcement\n- **Accounting/Disclosure**: Guidance methodology change, segment redefinition, one-time charge pre-announcement\n\nFor each potential surprise, note the signal strength (rumored / speculated / no signal) and the likely stock impact direction.\n\n## 11. Pre-Earnings Checklist\nA concise, actionable summary that fits on a single card. This is what the analyst tapes to their monitor:\n\n**The Numbers:**\n- Revenue whisper: $X.XX (guidance: $X.XX, avg beat: +X.X%)\n- EPS whisper: $X.XX (guidance: $X.XX, avg beat: +X.X%)\n\n**Top 3 Metrics to Watch:**\n1. [Metric] — current: X, bull: >Y, bear: <Z\n2. [Metric] — current: X, bull: >Y, bear: <Z\n3. [Metric] — current: X, bull: >Y, bear: <Z\n\n**The Bull Catalyst:** What would make this stock go up 5%+ after the print? (one sentence)\n\n**The Bear Risk:** What would make this stock go down 5%+ after the print? (one sentence)\n\n**Read-Through Signal:** After this company reports, what does it mean for [2-3 other names]?\n\n**Historical Pattern:** Last 4 prints averaged +/-X% next-day move; options imply +/-X% this time.\n\n## 12. Save Report\nSave 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.\n\nThe report should include:\n- Executive summary (2-3 sentences: what quarter is coming, what the key debate is, what the whisper number implies)\n- Last quarter recap (story + key metrics table)\n- Outstanding guidance table with source citations\n- Whisper number calculation with historical beat/miss detail table\n- Peer read-throughs (grouped by Competitors / Suppliers / Customers / Industry, with Daloopa citations on peer data)\n- Key metrics to watch (table with specific thresholds)\n- Consensus & positioning summary\n- Historical earnings reaction table\n- Macro & sector backdrop (bulleted list with directional tags)\n- Potential surprises & call catalysts\n- Pre-earnings checklist (prominently styled — this is the payoff of the whole report)\n\nAll financial figures must use Daloopa citation format: `<a href=\"https://daloopa.com/src/{fundamental_id}\">$X.XX million</a>`\n\nTell the user where the HTML report was saved.\n\nHighlight 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.\n"
}SHA-256: a81054e16045cca92316a2a7416bed835a96bc3079ef73c1b068d04353da2a21