
Earnings Recap
Pull a structured post-earnings recap—EPS surprise, four-quarter trends, and day-of move vs historical reaction—from Yahoo Finance without a Bloomberg terminal.
Overview
Earnings Recap is an agent skill for the Idea phase that generates post-earnings analysis from Yahoo Finance including EPS surprise, quarterly trends, and stock reaction context.
Install
npx skills add https://github.com/himself65/finance-skills --skill earnings-recapWhat is this skill?
- EPS beat/miss with surprise percentage from Yahoo Finance data
- Last four quarters of revenue, margins, and EPS trends
- Earnings-day stock move vs average historical earnings-day move
- Margin and revenue growth trajectory commentary
- yfinance auto-install path when dependency is missing
- 4 quarters of revenue, margins, and EPS trends
Adoption & trust: 788 installs on skills.sh; 2.7k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You heard a company reported after the close but lack a quick, structured view of beat/miss, fundamentals trend, and whether the price move was unusual.
Who is it for?
Solo investors or builders researching public tickers immediately after earnings with yfinance and no paid data feed.
Skip if: Institutional workflows needing SEC filing primary sources, forward guidance modeling, or non-US listings poorly covered by Yahoo Finance.
When should I use this skill?
User wants post-earnings analysis, beat/miss, earnings recap, earnings reaction, or quarterly results for a stock ticker (e.g. AAPL earnings recap, how did TSLA earnings go).
What do I get? / Deliverables
You get a recap with EPS surprise, four-quarter financial trends, earnings-day return, and comparison to average earnings-day moves so you can decide follow-up research or trades.
- Post-earnings narrative with EPS surprise and quarterly trend table
- Earnings-day price move vs historical average earnings-day move
Recommended Skills
Journey fit
Earnings recaps support research and conviction before you commit capital or product bets tied to public companies. Research is where beat/miss context, margin trajectory, and price reaction belong before validate or build decisions.
How it compares
Use instead of manually clicking Yahoo Finance tabs when you want one agent-driven earnings narrative with surprise and reaction stats.
Common Questions / FAQ
Who is earnings-recap for?
Solo builders and investors who want agent-generated earnings summaries from free Yahoo Finance data after a report.
When should I use earnings-recap?
In Idea research when you ask how AAPL earnings went, whether NVDA beat, EPS surprise, quarterly results, or post-earnings stock reaction.
Is earnings-recap safe to install?
It uses public Yahoo Finance data via yfinance; review the Security Audits panel on this page and treat outputs as research aids, not investment advice.
SKILL.md
READMESKILL.md - Earnings Recap
# Earnings Recap Generate a post-earnings analysis for any stock using Yahoo Finance data. ## What it does - Shows the EPS beat/miss result with surprise percentage - Presents quarterly financial trends (revenue, margins, EPS) over the last 4 quarters - Calculates the stock price reaction on earnings day - Compares the reaction to the stock's average earnings-day move - Provides context on margin trends and revenue growth trajectory ## Triggers `AAPL earnings recap`, `how did TSLA earnings go`, `MSFT earnings results`, `did NVDA beat earnings`, `post-earnings analysis`, `earnings surprise`, `what happened with GOOGL earnings`, `earnings reaction`, `stock moved after earnings`, `earnings report summary`, `EPS beat or miss`, `quarterly results`, `AMZN reported last night` ## Prerequisites - Python 3.8+ - `yfinance` (auto-installed if missing) ## Platform All platforms (Claude Code, Claude.ai, other agents) ## Setup No setup required — yfinance pulls data from Yahoo Finance without authentication. ## Reference Files - `references/api_reference.md` — yfinance API reference for earnings history and financial statement methods --- name: earnings-recap description: > Generate a post-earnings analysis for any stock using Yahoo Finance data. Use when the user wants to review what happened after earnings, understand beat/miss results, see stock reaction, or get an earnings recap. Triggers: "AAPL earnings recap", "how did TSLA earnings go", "MSFT earnings results", "did NVDA beat earnings", "post-earnings analysis", "earnings surprise", "what happened with GOOGL earnings", "earnings reaction", "stock moved after earnings", "EPS beat or miss", "revenue beat or miss", "quarterly results for", "how were earnings", "AMZN reported last night", "earnings call recap", or any request about a company's recent earnings outcome. Use this skill when the user references a past earnings event, even if they just say "AAPL reported" or "how did they do". --- # Earnings Recap Skill Generates a post-earnings analysis using Yahoo Finance data via [yfinance](https://github.com/ranaroussi/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: ```python 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. ```python 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` | curre