---
name: "earnings_season_playbook"
description: "Run a disciplined pre- and post-earnings research workflow for a public company: estimate-tape prep, guidance reading, scenario modeling before the print, then surprise analysis, cash-flow quality checks, call-tone review, and a written post-print recap. Triggers on 'earnings preview', 'earnings recap', 'prep for [company] earnings', 'analyze the earnings release', or any agent work covering a company through earnings season."
---

# Earnings Season Playbook

## Purpose

Earnings season punishes reactive analysis. This skill runs the full loop an agent needs to cover a public company through a quarterly print: prepare before, dissect the release, then write a disciplined recap that feeds the next quarter's prep. It is a research workflow, not financial advice, and every claim in its output must trace to a primary source or be labeled as judgment.

## Workflow

### Phase 1: Pre-earnings prep (before the print)

1. **Set the date and baseline.** Confirm ticker, fiscal quarter, reporting currency, and earnings date from the company's investor-relations page or press releases. Read last quarter's press release and call transcript.
2. **Write down what management promised.** From the last call: guidance numbers (revenue, EPS, margins, capex), qualitative commitments, and any specific targets. This becomes the accountability sheet. See `references/guidance-reading.md` for guidance types.
3. **Read the estimate tape.** Record consensus revenue, EPS, and forward guidance estimates plus the count of analysts covering. Compute estimate dispersion (std of estimates / abs of mean). High dispersion (>15%) means a bigger surprise is plausible; tight dispersion (<5%) means a small miss reads as a big one.
4. **Pick 2-3 sector KPIs to watch.** Use the sector cheat sheet in `references/guidance-reading.md` (SaaS: ARR, net retention, RPO; retail: same-store sales, traffic; industrials: backlog, book-to-bill; banks: NIM, credit quality).
5. **Build scenarios before the numbers arrive.** For each of beat / in-line / miss on revenue, EPS, and guidance, write one sentence on what it would imply for the thesis. Asymmetric expectations matter: research on earnings expectations notes the downside tail of a miss tends to run roughly 3x the average upside of a beat, so the miss scenario deserves more ink.

### Phase 2: Post-print dissection (day of release)

1. **Score the surprise mechanically.** Feed headline numbers, consensus, and estimate dispersion into `bin/earnings_recap.py surprise`, which computes the surprise table, standardized unexpected earnings (SUE), and a breadth readout. Interpret with the bands in the CLI output.
2. **Decompose guidance first, numbers second.** Stocks trade on the forward look more than the backward one. Determine: raised / maintained / lowered, for which metric, and by how much relative to consensus. Read `references/guidance-reading.md` for the raised-on-low-bar pattern and other games.
3. **Check earnings quality.** Compare operating cash flow to net income. Flag: net income rising while OCF flat or falling, one-time gains (asset sales, tax adjustments) doing the heavy lifting, margin compression under revenue growth, debt growing while interest coverage shrinks.
4. **Read the Q&A, not just the script.** Analysts probe weaknesses in the Q&A; prepared remarks are the advertisement. Note deflection, hedging, specificity changes, and which questions management dodged. Academic work finds conference-call tone can be a significant return predictor (Price et al., 2012).
5. **Track the tape, don't trade it.** Record the after-hours reaction for the log, but treat it as information, not instruction. The initial move and the multi-week follow-through are separate questions; see `references/earnings-literature.md` for what the drift literature actually shows.

### Phase 3: Between quarters (the loop that makes it compound)

1. **Write the recap the same day.** Use `assets/earnings_recap_template.md`. It locks in: surprise table, guidance verdict, quality flags, Q&A notes, thesis update, and the watch-list for next quarter. This is the output that matters most.
2. **Track estimate revisions as they arrive.** Between prints, log consensus revision direction and breadth. Persistent one-sided revisions are the steadiest estimate-related signal in the literature; compute breadth with `bin/earnings_recap.py breadth`.
3. **Close the loop.** Before the next quarter, open the prior recap first. The promises sheet tells you exactly where to hold management accountable.

## Output Contract

Every recap ships:
- Surprise table: revenue, EPS, key sector KPIs vs. consensus, with SUE or dispersion context.
- Guidance verdict: raised/maintained/lowered, by how much, vs. consensus, and which management promises were kept or broken.
- Earnings-quality flags: cash-flow check, one-time items, margin/debt red flags, or "none observed".
- Q&A read: what analysts pushed on and how management handled it.
- Thesis delta: one sentence on whether this quarter strengthened or weakened the investment case, and what would change that.
- Next-quarter watch list: the 2-3 numbers that will matter most.
- Sources: every number cited to its source with an as-of timestamp.

## Operating Rules

1. Never invent numbers, dates, quotes, or guidance figures. Unverifiable gets cut or framed as opinion. This is the accuracy rule, and it is non-negotiable.
2. Mark all worked examples as synthetic. Never present a hypothetical company's numbers as real.
3. State thesis changes explicitly; never let a recap quietly contradict the prior quarter's.
4. Price moves are data, not verdicts. Report the market reaction, then do the analysis.
5. Keep SKILL.md workflow above the only entry point. Literature summaries live in `references/`; the recap template in `assets/`.
6. This is research support, not financial advice. Say so when asked to act on it.
