Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
himself65 avatar

Earnings Recap

  • 1.7k installs
  • 3.1k repo stars
  • Updated July 21, 2026
  • himself65/finance-skills

earnings-recap is an agent skill that summarizes company earnings reports with key metrics, guidance changes, and investor takeaways.

About

The earnings-recap skill distills quarterly or annual earnings releases into concise investor-ready summaries. It extracts revenue, EPS, margins, segment performance, guidance updates, and management commentary themes from filings or press releases. Agents highlight beats or misses versus consensus when data is provided, flag one-time items, and separate operational trends from accounting noise. Output uses scannable bullets suitable for research notes or morning briefings. Use when users want earnings call or press release recaps without reading full transcripts manually.

  • Summarizes earnings releases into investor-ready bullet recaps.
  • Extracts revenue, EPS, margins, segments, and guidance changes.
  • Separates one-time items from operational performance trends.
  • Highlights consensus beats or misses when comparison data exists.
  • Produces scannable research notes from filings or press releases.

Earnings Recap by the numbers

  • 1,708 all-time installs (skills.sh)
  • +160 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #84 of 1,106 Finance & Trading skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

earnings-recap capabilities & compatibility

Capabilities
earnings metric extraction · guidance change summarization · one time item flagging · consensus beat miss highlighting · investor ready bullet output
Use cases
research · trading
From the docs

What earnings-recap says it does

earnings-recap
SKILL.md
npx skills add https://github.com/himself65/finance-skills --skill earnings-recap

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.7k
repo stars3.1k
Security audit2 / 3 scanners passed
Last updatedJuly 21, 2026
Repositoryhimself65/finance-skills

What were the key earnings results, guidance changes, and takeaways from this quarterly report?

Summarize company earnings reports with key metrics, guidance changes, and investor takeaway bullets.

Who is it for?

Investors or analysts needing fast earnings release or call summaries from primary documents.

Skip if: Skip for long-term valuation modeling without a specific earnings document to summarize.

When should I use this skill?

User asks for an earnings recap, quarterly summary, or investor takeaway bullets from a report.

What you get

A concise earnings recap with metrics, segment notes, guidance updates, and flagged one-time items.

  • post-earnings analysis report
  • EPS surprise summary
  • four-quarter trend table

By the numbers

  • Covers quarterly financial trends across the last 4 quarters
  • Compares earnings-day price reaction to the stock’s average earnings-day move

Files

SKILL.mdMarkdownGitHub ↗

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 SourceKey FieldsPurpose
earnings_historyepsEstimate, epsActual, epsDifference, surprisePercentBeat/miss result
quarterly_income_stmtTotalRevenue, GrossProfit, OperatingIncome, NetIncome, BasicEPSActual financials
history()Close prices around earnings dateStock price reaction
infocurrentPrice, marketCap, forwardPECurrent context
newsRecent headlinesEarnings-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:

1. Identify the earnings date for the price reaction analysis 2. Match to the corresponding quarter in the financial statements 3. 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

MetricEstimateActualSurprise
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:

QuarterRevenueYoY GrowthGross MarginOperating MarginEPS
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:

1. Lead with the headline: "AAPL reported Q3 2024 earnings on [date]: Beat EPS by 3.7%, revenue +5.4% YoY." 2. Show the tables for detail 3. Highlight what matters: Was this a meaningful beat or a low-bar situation? Is the trend improving or deteriorating? 4. 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.

Related skills

How it compares

Choose earnings-recap for quick Yahoo Finance post-earnings summaries; use deeper fundamental research skills when you need SEC filings or custom valuation models.

FAQ

What metrics does earnings-recap extract?

Revenue, EPS, margins, segment performance, guidance updates, and notable management themes.

How are one-time items handled?

They are flagged separately from operational performance trends in the recap.

Can it compare to consensus?

It highlights beats or misses when consensus comparison data is provided in inputs.

Is Earnings Recap safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.