earnings-deep-dive
$
npx mdskill add openai/role-specific-plugins/earnings-deep-diveAnalyze public company earnings, transcripts, and guidance.
- Extracts insights from post-results filings and call commentary.
- Integrates with company filings, transcripts, and market data sources.
- Uses source category plans to prioritize relevant evidence.
- Routes support through the public-equity-investing internal playbook.
SKILL.md
.github/skills/earnings-deep-diveView on GitHub ↗
--- name: earnings-deep-dive description: Use when analyzing public-company earnings after results, guidance, transcript, or call commentary. Do not use for pre-print previews. --- # Earnings Deep Dive ## Skill Configuration ### User Context Preflight Before searching connectors, retrieving evidence, or drafting output, run `python3 skills/user-context/scripts/user_context_preflight.py` with the shell working directory set to this plugin's root, and follow the returned `saved_context`, `source_category_plan`, and `next_action`. Set the working directory before the first attempt; do not probe alternate relative paths. Missing context must not block the requested workflow. Do not initialize state or run onboarding during ordinary workflow work. If `next_action.id = "offer_orientation"` and the parent router has not already handled it, complete the requested work first and append its one-line optional setup offer once. ### Source Resolution Load `../../shared/workflow-source-resolution.md`. Use `source_category_plan` lazily and attempt only the categories needed for this workflow: `company_filings_ir`, `earnings_transcripts_presentations`, `internal_research`, `portfolio_models_trackers`, and `market_data_estimates`. ## Internal Support When this workflow needs rendering, evidence/data preparation, style, or sector context, route support through the visible `public-equity-investing` router and its bundled internal playbooks. Route workbook or model QA through the visible `model-audit-tieout` workflow. ## Deliverable Intake Apply the presentation-surface precedence in `../../shared/deliverable-intake-policy.md`. This workflow's natural artifact is a polished standalone HTML post-earnings report. Do not choose chat-only output unless the user explicitly requests a lightweight response. Before source gathering or analysis for a new standalone reader-facing hero deliverable, load `../../shared/deliverable-intake-policy.md` and use its adaptive `request_user_input` preflight for materially unresolved format, depth, audience/use, or focus choices. For an explicit `deep dive`, `full report`, or reusable/source-heavy post-print package, resolve presentation to a polished standalone HTML post-earnings report unless the user requests another format, an explicitly quick/no-file answer, or workbook/model-update output. In interactive runs, ask only remaining material questions such as depth, audience/use, or focus. Reuse resolved preferences in downstream steps; when acting only as input to an owning workflow, do not re-prompt. Produce a decision-grade, audit-ready post-print package after results are available. Default to the full post-print package. A new standalone reader-facing post-print output should be a polished standalone HTML post-earnings report following `../../shared/html-artifact-standard.md`; use chat only when the user explicitly requests a lightweight response. Use `dashboard-builder` only for the optional standardized-dashboard route below. Use deterministic file mode only when the user supplies `plan.json`, normalized CSVs, model-update inputs, or explicitly asks for files. ## Route - `full deep dive`: default analytical route for post-earnings deep dives, earnings-print analysis, and investor-facing post-print questions. An explicit deep dive, full report, or reusable/source-heavy package defaults to polished standalone HTML. - `one-page tear sheet`: use only when the user explicitly asks for a summary, one-pager, quick read, brief, or TL;DR. - `audit-ready model update`: use only when the user supplies or references a model/workbook, driver registry, output registry, normalized CSVs, model-update inputs, or explicit data to update a model. - `quote and debate map`: standalone only when the user asks only for transcript quotes/debate; otherwise include it inside the full deep dive. - `standardized dashboard`: only when the user explicitly asks for a standardized dashboard, reusable dashboard template, PM cockpit, tabbed dashboard, or structured payload-driven render, keep this skill as the analysis owner and hand the resulting `public_equity_investing_dashboard.v1` payload to `dashboard-builder`. Use `references/DASHBOARD_PACK.md` for module mapping. - `deterministic file mode`: validate inputs, run shipped scripts, fail QA on unresolved user-facing placeholders, and disclose packet versus workbook-apply path. Load `references/REFERENCE_ROUTER.md` first, then only the route-specific reference needed for the selected artifact. ## Non-Negotiables - Never invent numbers, quotes, guidance, definitions, accounting facts, estimate timestamps, source tags, or catalyst dates. - Use official filings/releases before decks and transcripts; transcripts support narrative and call-only guidance, not primary GAAP numbers. - Every reported number and every quote needs a source tag; analyst-derived numbers need formula/assumption and confidence. - Full deep dives must include transcript evidence and a debate-map treatment when transcript evidence is available. If no transcript is available, show a concise visible limitation labelled `transcript not provided` or `transcript source not found` and list the exact missing artifact; do not render an empty Q&A table. - For transcript Q&A, capture questioner name, firm if available, answering executive, topic, section, source tag, why it matters, bull/bear implication, and falsifier/next check. - Keep GAAP/non-GAAP, reported/constant-currency, company-guided/analyst-derived, units/scale, and unavailable-data labels explicit. - Always run an EPS quality screen: ask whether headline EPS could misstate recurring operating performance. Include a full EPS quality / ex-gain bridge when GAAP EPS surprise is distorted by below-the-line, tax, mark-to-market, equity-investment, FX, restructuring, litigation, asset-sale, impairment, share-count, or other non-recurring items; otherwise state that no material EPS-quality trigger was identified from available sources. - Full deep dives must include quarterly key metrics and growth trajectory using the issuer's actual business drivers, not only generic revenue/EPS/margin. Use sector-context-overlay when the company-specific KPI set is not obvious. - For HTML reports or standardized dashboard handoffs, include earnings visualizations when source-backed data exists: quarterly revenue, gross profit, net income, and the best source-backed profitability margin history; estimated EPS versus actual EPS for the past five quarters on a consistent basis; and equity-price history annotated with material market events. Omit any chart whose required series is missing, stale, or not comparable, and surface that gap clearly. - Treat margin selection as an analytical decision, not a template default. Default to net margin only when net income is a fair recurring-profitability proxy. Prefer operating margin when net income is distorted by below-the-line, tax, mark-to-market, equity-investment, FX, restructuring, litigation, asset-sale, impairment, or other non-recurring items. Prefer adjusted operating margin, EBITDA margin, contribution margin, or FCF margin when that is the issuer's source-backed investor KPI. For dashboard payloads, set `financial_trend_chart.data.margin_metric`, `margin_label`, and `margin_rationale` whenever the line is not plain net margin. - Rank highlight/snapshot metrics by investor salience. A growth rate, acceleration, surprise %, guide delta, backlog growth, margin inflection, or clean/normalized metric should be the tile value when it better explains the stock-moving point than the absolute reported amount; put the absolute amount in the detail. - Full deep dives must include read-throughs when the print, filing, transcript, or management interviews mention customers, suppliers, peers, competitors, platforms, channels, commodities, regions, or adjacent industries. - Full deep dives must include major news coverage and market events when recent or upcoming events change the interpretation of the print, guidance, estimate revisions, multiple, risk, positioning, or read-throughs. Scan the last quarter, last twelve months, and forward-looking anticipated events; cite every event and label uncertain windows. - Capture catalysts learned from the release, filing, transcript, Q&A, and management interviews. Separate dated catalysts from inferred monitoring windows. - Use precise absence labels: `not guided`, `not disclosed`, `not provided`, `source not provided`, or `MISSING: <dependency>` only where appropriate. - Generated Markdown support notes must not contain unresolved bracket tokens, `TODO`, or authoring placeholders. ## Chat Contract Default sections for full deep dive: setup/source posture, dense executive summary, PM bottom line, granular beat/miss or guide-versus-bar, EPS quality screen, quarterly key metrics, growth trajectory, guidance delta/deep dive, what changed, revision/stock setup, load-bearing drivers, transcript quote/Q&A and debate map, read-throughs, major news and market events, model/thesis impact, catalysts/watch list/falsifiers, source limitations, and open questions. For investor-facing prompts add thesis change, likely estimate revision, stock/valuation skew, and next catalyst. Use the evidence pack that supports the selected artifact without shrinking the user-facing analysis: - Full deep dive: release/filing, deck/prepared remarks, transcript, estimates, and prior-quarter/prior-guide sources where available. - Explicit summary or one-page tear sheet: release or 8-K, deck if available, estimate source, and transcript only for high-signal quotes. - Audit-ready model update: release/filing/deck, estimate set, prior guide, and model/workbook or normalized driver inputs supplied or referenced by the user. - Standalone quote/debate: transcript plus release/deck to cross-check numeric claims. ## HTML Guidance For a substantive HTML deep dive, load `../../shared/html-artifact-standard.md` and let the company-specific investment debate determine the layout. - Title the artifact as a post-earnings deep dive identifying the company, ticker, and reported period. - Start with a direct verdict answering the investor's question, 4-6 high-signal metric tiles, one compact decision box, and a quality-of-print bridge separating headline results from recurring operating evidence. - Use only distinct decision-relevant tiles. Prefer 4-5 tiles when additional metrics repeat the same analytical point; combine related buyback, leverage, interest-expense, or cash-flow signals into one capital-allocation-quality tile when that improves readability. - Put supporting analysis below that first read: beat/miss and guidance, EPS quality, company-specific growth drivers, capital allocation, valuation/stock setup, catalysts, falsifiers, source limitations, and evidence ledger as relevant. - Give each first-read element a distinct job: the verdict answers the investment question and explains why; the decision box states thesis change, estimate direction, valuation/stock skew, action discipline, and next proof point; metric tiles show evidence rather than restating the verdict; the quality-of-print bridge reconciles headline results to recurring equity value. Do not repeat the same conclusion across these elements. - Describe evidence posture in reader-facing terms by naming sources obtained and important confirmations still missing, for example `Company release reviewed; filing and transcript confirmation pending`. Avoid internal-sounding quality labels such as `research-grade` in the visible artifact. - Include transcript Q&A, read-throughs, market-events tables, scenario sections, and charts only when substantive and evidence-supported. A missing transcript should be a concise limitation callout, not an empty table. - Do not render blank scenario cards, placeholder modules, or visible source cells marked unsourced when the claim has a cited source. ## Sub-agent decomposition For complex medium/large requests, use sub-agents where available; otherwise emulate the split as named workstreams. Suggested lanes: release and filing numbers, transcript/Q&A, estimates and guidance, model/thesis impact, and source QA. Keep this skill as the lead: reconcile conflicts, source labels, assumptions, open items, final QA, and the user-facing answer. ## Deterministic Contract Use only when requested or file/model inputs are supplied: - `scripts/validate_plan.py` - `scripts/validate_normalized_inputs.py` - `scripts/run_plan.py` - `scripts/apply_model_updates.py` - `scripts/model_diff.py` - `scripts/verify_tearsheet.py` If workbook apply fails or is unsafe, deliver a driver update packet and explain the limitation. The bundled plan defaults to packet/dry-run mode and writes outside the skill tree. ## Standardized Dashboard Handoff Use `dashboard-builder` only when the user explicitly selects the standardized dashboard, reusable dashboard-template, or structured payload-driven rendering path. This skill still owns the analysis and maps it into `references/DASHBOARD_PACK.md`; prefer `layout: "single_page"` with sticky contents for full PM diligence dashboards unless the user explicitly asks for tabs. Ordinary standalone HTML deep dives use the flexible HTML guidance above rather than a fixed module inventory. ## Public Equity PM Judgment Layer For substantial post-print work, load `shared/pm-judgment-heuristics.md` before finalizing. Audience modes: `long_only_pm`, `long_short_hf`, `sell_side_research`, `etf_index_diligence`, `public_equity_diligence`. Default PM question: did the quarter change the thesis, estimates, valuation support, or sizing? Required PM judgment: - Lead with thesis change, estimate revision direction, valuation support, and position action. - Bridge headline versus clean result, guide delta, quality of beat/miss, transcript evidence, management credibility, and next falsifier. - Separate reported facts, management claims, consensus, market data, model output, assumptions, and PM judgment. - For sell-side mode, add rating/target implications and risk-to-rating. For hedge fund mode, add add/trim/cover triggers.
More from openai/role-specific-plugins
- analyze-account-signalsAnalyze fresh signals for a named account, owner portfolio, or watchlist and turn them into evidence-backed account intelligence using active Sales source categories and user-provided context.
- analyze-data-qualityAssess whether tables, query results, files, or dataframes are trustworthy enough for analysis, modeling, dashboards, experiments, or pipelines. Use for grain, freshness, nulls, duplicates, schema drift, broken joins, referential integrity, distribution shifts, leakage, backfills, source mismatches, automated quality checks, and data-quality regressions.
- auditAudit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, placing them in Figma or a local folder, then reporting UX, design, and accessibility findings from that evidence. Use when the user asks to audit, critique, review, inspect, assess, or evaluate a product experience.
- build-business-caseBuild customer-led business cases, ROI narratives, value models, executive summaries, and customer-ready value stories from uneven customer context, metrics, transcripts, notes, and public evidence.
- build-competitive-briefBuild a multi-competitor build-competitive-brief report, comparison matrix, and battlecard-style objection package using user-provided materials, optional connector-assisted research, and public evidence.
- build-dashboardBuild source-backed analytical dashboards that help teams monitor performance, explore drivers, and act on product or business metrics. Use when the user needs a dashboard, scorecard, monitoring view, BI dashboard, MCP artifact dashboard, or Streamlit dashboard with clear metrics, filters, validation, and handoff.
- build-reportBuild polished analytical reports for executive, product, business, and technical audiences, and act as the completion contract for Data Analytics report runs. Use when the final artifact needs an answer-first narrative, evidence-backed findings, charts/tables, caveats, source metadata, and either an MCP app report or an HTML report with Seaborn-generated charts.
- catalyst-calendarUse when building public-equity-investing catalyst calendars. Do not use for full event underwriting; use event-driven-analyzer.
- company-tearsheetUse when creating source-backed public issuer tearsheets. Do not use for private diligence, fund diligence, vendors, or market maps.
- comps-valuationProduce Public Equity Investing comparable-company valuation in report or workbook mode. Use for peer selection, multiple analysis, valuation read-throughs, implied prices, comps dashboards, Excel or Sheets comps, refreshable peer tables, model updates, and comps workbook QA. Do not use for DCF-only, credit-security, or generic market commentary requests.