earnings-recap

>

INSTALLATION
npx skills add https://github.com/himself65/finance-skills --skill earnings-recap
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Earnings Recap Skill

Generates a post-earnings analysis using Yahoo Finance data via yfinance. Covers the actual vs estimated numbers, surprise magnitude, stock price reaction, and financial context — a complete picture of what happened.

Important: Data is for research and educational purposes only. Not financial advice. yfinance is not affiliated with Yahoo, Inc.

Step 1: Ensure yfinance Is Available

Current environment status:

!`python3 -c "import yfinance; print('yfinance ' + yfinance.__version__ + ' installed')" 2>/dev/null || echo "YFINANCE_NOT_INSTALLED"`

If YFINANCE_NOT_INSTALLED, install it:

import subprocess, sys

subprocess.check_call([sys.executable, "-m", "pip", "install", "-q", "yfinance"])

If already installed, skip to the next step.

Step 2: Identify the Ticker and Gather Data

Extract the ticker from the user's request. Fetch all relevant post-earnings data in one script.

import yfinance as yf

import pandas as pd

from datetime import datetime, timedelta

ticker = yf.Ticker("AAPL")  # replace with actual ticker

# --- Earnings result ---

earnings_hist = ticker.earnings_history

# --- Financial statements ---

quarterly_income = ticker.quarterly_income_stmt

quarterly_cashflow = ticker.quarterly_cashflow

quarterly_balance = ticker.quarterly_balance_sheet

# --- Price reaction ---

# Get ~30 days of history to capture the reaction window

hist = ticker.history(period="1mo")

# --- Context ---

info = ticker.info

news = ticker.news

recommendations = ticker.recommendations

What to extract

Data Source

Key Fields

Purpose

earnings_history

epsEstimate, epsActual, epsDifference, surprisePercent

Beat/miss result

quarterly_income_stmt

TotalRevenue, GrossProfit, OperatingIncome, NetIncome, BasicEPS

Actual financials

history()

Close prices around earnings date

Stock price reaction

info

currentPrice, marketCap, forwardPE

Current context

news

Recent headlines

Earnings-related news

Step 3: Determine the Most Recent Earnings

The most recent earnings result is the first row (most recent date) in earnings_history. Use its date to:

  • Identify the earnings date for the price reaction analysis
  • Match to the corresponding quarter in the financial statements
  • Calculate stock price reaction — compare the close before earnings to the next trading day's close (or open, depending on whether earnings were before/after market)

Price reaction calculation

import numpy as np

# Find the earnings date from earnings_history index

earnings_date = earnings_hist.index[0]  # most recent

# Get daily prices around the earnings date

hist_extended = ticker.history(start=earnings_date - timedelta(days=5),

                                end=earnings_date + timedelta(days=5))

# The reaction is typically measured as:

# - Close on the last trading day before earnings -> Close on the first trading day after

# Be careful with before/after market reports

if len(hist_extended) >= 2:

    pre_price = hist_extended['Close'].iloc[0]

    post_price = hist_extended['Close'].iloc[-1]

    reaction_pct = ((post_price - pre_price) / pre_price) * 100

Note: The exact reaction window depends on when the company reported (before market open vs after close). The price data will reflect this — look for the biggest gap between consecutive closes near the earnings date.

Step 4: Build the Earnings Recap

Section 1: Headline Result

Lead with the key numbers:

  • EPS: Actual vs. Estimate, beat/miss by how much, surprise %
  • Revenue: Actual vs. prior year (from quarterly_income_stmt TotalRevenue)
  • Stock reaction: % move on earnings day

Example: "AAPL beat Q3 EPS estimates by 3.7% ($1.40 actual vs $1.35 expected). Revenue grew 5.4% YoY to $94.3B. The stock rose +2.1% on the report."

Section 2: Earnings vs. Estimates Detail

Metric

Estimate

Actual

Surprise

EPS

$1.35

$1.40

+$0.05 (+3.7%)

If the user asked about a specific quarter (not the most recent), look further back in earnings_history.

Section 3: Quarterly Financial Trends

Show the last 4 quarters of key metrics from quarterly_income_stmt:

Quarter

Revenue

YoY Growth

Gross Margin

Operating Margin

EPS

Q3 2024

$94.3B

+5.4%

46.2%

30.1%

$1.40

Q2 2024

$85.8B

+4.9%

46.0%

29.8%

$1.33

Q1 2024

$119.6B

+2.1%

45.9%

33.5%

$2.18

Q4 2023

$89.5B

-0.3%

45.2%

29.2%

$1.26

Calculate margins from the raw financials:

  • Gross Margin = GrossProfit / TotalRevenue
  • Operating Margin = OperatingIncome / TotalRevenue

Section 4: Stock Price Reaction

  • The % move on the earnings day/next session
  • How it compares to the stock's average earnings-day move (calculate the average absolute move from the last 4 earnings dates in earnings_history)
  • Where the stock is now relative to the earnings-day move (has it held, given back gains, extended further?)

Section 5: Context & What Changed

Based on the data, note:

  • Whether margins expanded or compressed vs prior quarter
  • Any notable changes in revenue growth trajectory
  • How the beat/miss compares to the stock's historical pattern (from the full earnings_history)
  • Current analyst sentiment from recommendations if available

Step 5: Respond to the User

Present the recap as a clean, structured summary:

  • Lead with the headline: "AAPL reported Q3 2024 earnings on [date]: Beat EPS by 3.7%, revenue +5.4% YoY."
  • Show the tables for detail
  • Highlight what matters: Was this a meaningful beat or a low-bar situation? Is the trend improving or deteriorating?
  • Keep it factual — present the data, avoid making investment recommendations

Caveats to include

  • Yahoo Finance data may not include all details from the earnings call (guidance, segment breakdowns)
  • Revenue estimates are harder to compare precisely — yfinance provides YoY comparison from financial statements
  • Price reaction may be influenced by broader market moves on the same day
  • This is not financial advice

Reference Files

  • references/api_reference.md — Detailed yfinance API reference for earnings history and financial statement methods

Read the reference file when you need exact method signatures or to handle edge cases in the financial data.

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card