Macro Regime Detector
tradermonty/claude-trading-skills
Detect structural macro regime transitions (1-2 year horizon) using cross-asset ratio analysis.
Analyze a company's most recent (or a specified past) earnings report from Yahoo Finance data (yfinance): actual vs estimated EPS, surprise size, revenue and margin trends, and the stock's price…
$ npx skills add himself65/finance-skills --skill earnings-recap -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install himself65/finance-skills earnings-recap --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/himself65/finance-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/market-analysis/skills/earnings-recap .claude/skills/earnings-recap && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "earnings-recap" agent skill from https://github.com/himself65/finance-skills/tree/main/plugins/market-analysis/skills/earnings-recap into .claude/skills/earnings-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-recap", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/himself65/finance-skills/tree/main/plugins/market-analysis/skills/earnings-recapType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add himself65/finance-skills --skill earnings-recap -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install himself65/finance-skills earnings-recap --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/himself65/finance-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/market-analysis/skills/earnings-recap .agents/skills/earnings-recap && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "earnings-recap" agent skill from https://github.com/himself65/finance-skills/tree/main/plugins/market-analysis/skills/earnings-recap into .agents/skills/earnings-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-recap", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add himself65/finance-skills --skill earnings-recap -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install himself65/finance-skills earnings-recap --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/himself65/finance-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/market-analysis/skills/earnings-recap .cursor/skills/earnings-recap && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "earnings-recap" agent skill from https://github.com/himself65/finance-skills/tree/main/plugins/market-analysis/skills/earnings-recap into .cursor/skills/earnings-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-recap", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/himself65/finance-skills.git --path plugins/market-analysis/skills/earnings-recap--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add himself65/finance-skills --skill earnings-recap -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install himself65/finance-skills earnings-recap --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/himself65/finance-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/market-analysis/skills/earnings-recap .gemini/skills/earnings-recap && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "earnings-recap" agent skill from https://github.com/himself65/finance-skills/tree/main/plugins/market-analysis/skills/earnings-recap into .gemini/skills/earnings-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-recap", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install himself65/finance-skills earnings-recapInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add himself65/finance-skills --skill earnings-recap -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/himself65/finance-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/market-analysis/skills/earnings-recap .github/skills/earnings-recap && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "earnings-recap" agent skill from https://github.com/himself65/finance-skills/tree/main/plugins/market-analysis/skills/earnings-recap into .github/skills/earnings-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-recap", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add himself65/finance-skills --skill earnings-recap -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install himself65/finance-skills earnings-recap --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/himself65/finance-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/market-analysis/skills/earnings-recap .opencode/skills/earnings-recap && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "earnings-recap" agent skill from https://github.com/himself65/finance-skills/tree/main/plugins/market-analysis/skills/earnings-recap into .opencode/skills/earnings-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-recap", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
earnings-recapAnalyze a company's most recent (or a specified past) earnings report from Yahoo Finance data (yfinance): actual vs estimated EPS, surprise size, revenue and margin trends, and the stock's price…
Earnings Recap is an agent skill from himself65/finance-skills. Analyze a company's most recent (or a specified past) earnings report from Yahoo Finance data (yfinance): actual vs estimated EPS, surprise size, revenue and margin trends, and the stock's price reaction. Use this skill whenever the user asks how earnings went — beat or miss, earnings surprise, quarterly results, the post-earnings move, or an earnings call recap — including casual references to a past report such as "AMZN reported last night" or "how did they do". For an upcoming report, use earnings-preview.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `README.md` and `references/api_reference.md`).
It sits in Business, Finance & HR, covering Stock and market analysis, Financial analysis and Meeting notes and agendas. It works with yfinance. The repository describes itself as: A collection of skills for AI financial analysis. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 01fc7b4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Earnings Recap loads about 1.7k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 132 tokens; SKILL.md has 583 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from himself65/finance-skills at commit 01fc7b4, republished under its MIT licence (© himself65). 583 words, ~1,729 tokens.
.claude/skills/earnings-recap/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.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.
Current environment status:
!`python3 -c "exec('try:\n import yfinance\n print(\'yfinance \' + yfinance.__version__ + \' installed\')\nexcept Exception:\n print(\'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.
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
ticker = yf.Ticker("AAPL") # replace with actual ticker
# --- Earnings results ---
earnings_dates = ticker.get_earnings_dates(limit=12) # report timestamps, newest first
earnings_hist = ticker.earnings_history # last 4 quarters, indexed by fiscal quarter-end, oldest first
# --- Financial statements (about five quarters, newest first) ---
quarterly_income = ticker.quarterly_income_stmt
quarterly_cashflow = ticker.quarterly_cashflow
quarterly_balance = ticker.quarterly_balance_sheet
# --- Context ---
info = ticker.info
news = ticker.news
recommendations = ticker.recommendations| Data Source | Key Fields | Purpose |
|---|---|---|
get_earnings_dates() | Earnings Date, EPS Estimate, Reported EPS, Surprise(%) | Which report, when, and the beat/miss |
earnings_history | epsEstimate, epsActual, epsDifference, surprisePercent | Last four quarters' results by fiscal quarter |
quarterly_income_stmt | TotalRevenue, GrossProfit, OperatingIncome, NetIncome, BasicEPS | Actual financials |
history() | Daily closes around each report | Stock price reaction |
info | currentPrice, marketCap, forwardPE | Current context |
news | Recent headlines | Earnings-related news |
earnings_history is indexed by fiscal quarter-end, not by announcement date, so take report timing from get_earnings_dates(): the most recent report is the newest row with a Reported EPS. Its timestamp (US Eastern) sets the reaction window: at or after 16:00 means the company reported after the close; anything earlier means before the open or, occasionally, during the session. If the user asked about a specific quarter, use that row instead.
def earnings_reaction(ticker, report_ts):
"""% move from the last close before the report to the first close after it."""
daily = ticker.history(start=(report_ts - pd.Timedelta(days=10)).date(),
end=(report_ts + pd.Timedelta(days=10)).date())
closes = daily["Close"]
days = closes.index.date
d = report_ts.date()
if report_ts.hour >= 16: # reported after the close: report-day close -> next close
pre, post = closes[days <= d], closes[days > d]
else: # before the open or intraday: prior close -> report-day close
pre, post = closes[days < d], closes[days >= d]
if pre.empty or post.empty:
return None # the reaction session hasn't closed yet
return (post.iloc[0] / pre.iloc[-1] - 1) * 100
reported = earnings_dates[earnings_dates["Reported EPS"].notna()]
latest_ts = reported.index[0]
reaction_pct = earnings_reaction(ticker, latest_ts)
# Typical earnings-day move over the prior four reports
prior_moves = [earnings_reaction(ticker, ts) for ts in reported.index[1:5]]
avg_abs_move = pd.Series([abs(m) for m in prior_moves if m is not None]).mean()If reaction_pct is None, the report came after the most recent close; say the regular-session reaction is still pending (an intraday history(..., prepost=True) call shows the after-hours move if the user wants it).
Cover these areas, leading with the result:
Open with the headline — which quarter, when it was reported, the beat or miss, revenue growth, and the reaction — then the supporting tables. Say what matters: whether this was a meaningful beat or a low bar cleared, and whether the trend is improving or deteriorating. Keep it factual and leave out investment recommendations.
Include the caveats that apply: Yahoo Finance data doesn't capture everything from the call (guidance, segment detail), revenue is compared year over year from the statements rather than against a revenue consensus, the price reaction can reflect a broader market move that day, and this is not financial advice.
references/api_reference.md — Detailed yfinance API reference for earnings history and financial statement methodsRead the reference file when you need exact method signatures or to handle edge cases in the financial data.
© himself65, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in plugins/market-analysis/skills/earnings-recap of himself65/finance-skills.
Open the folder on GitHubat commit 01fc7b4
Earnings Recap next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Earnings Recap this skillhimself65/finance-skills | 3.4k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Macro Regime Detectortradermonty/claude-trading-skills | 3k | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Stock AnalysisCoWork-OS/CoWork-OS | 477 | — | ~685 | Automated safety check: Pass | MIT | |
| Stock Explorerfreestylefly/wesight | 946 | — | ~525 | Automated safety check: Pass | MIT | |
| Equiblessickn33/agentic-awesome-skills | 47k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Fin Earnings Recapcriptogus/agent-evolve-network | 288 | — | ~898 | Automated safety check: Pass | MIT |
tradermonty/claude-trading-skills
Detect structural macro regime transitions (1-2 year horizon) using cross-asset ratio analysis.
CoWork-OS/CoWork-OS
Analyze stocks, ETFs, and crypto using Yahoo Finance and Alpha Vantage.
freestylefly/wesight
A Yahoo Finance (yfinance) powered financial analysis tool. An agent skill from freestylefly/wesight.
sickn33/agentic-awesome-skills
Query Equibles for US stock market data: SEC filing search, XBRL financial statements, earnings call transcripts, insider and 13F holdings, and daily prices.
criptogus/agent-evolve-network
Build a post-earnings recap for a stock using yfinance — headline result vs estimates, quarterly financial trends, stock price reaction, and what changed.
criptogus/agent-evolve-network
Fetch market and fundamental data via the yfinance Python library — quotes, OHLC history, financial statements, holders, dividends, options, and more.
himself65/finance-skills
Estimate a public company's intrinsic value with DCF, relative (peer multiple), and sum-of-the-parts (SOTP) methods, then blend them into an implied share price with upside/downside vs the market…
himself65/finance-skills
Read Discord for financial research through opencli connected to the Discord desktop app: servers, channels, members, recent messages in the active channel, and message search.
himself65/finance-skills
Build a pre-earnings briefing for a stock from Yahoo Finance data (yfinance): the upcoming report date and timing, consensus EPS and revenue estimates with their range, the beat/miss track record…
himself65/finance-skills
Analyze sell-side analyst estimates and how they are changing, using Yahoo Finance data (yfinance): EPS and revenue consensus by period, estimate ranges and dispersion, revision trends over…
himself65/finance-skills
Fetch normalized stock sentiment across Reddit, X.com, financial news, and Polymarket from the Adanos Finance API: buzz score, bullish percentage, mention or trade counts, and trend.
himself65/finance-skills
Query Fintel (fintel.io) institutional market data through its REST API or official MCP server.
Works with
Categories
Analyze a company's most recent (or a specified past) earnings report from Yahoo Finance data (yfinance): actual vs estimated EPS, surprise size, revenue and margin trends, and the stock's price…. Earnings Recap is an agent skill from himself65/finance-skills. Analyze a company's most recent (or a specified past) earnings report from Yahoo Finance data (yfinance): actual vs estimated EPS, surprise size, revenue and margin trends, and the stock's price reaction.
Earnings Recap fits situations like: the user asks how earnings went — beat; earnings surprise; quarterly results; the post-earnings move.
Run `npx skills add himself65/finance-skills --skill earnings-recap -a claude-code`. Or copy the skill folder (plugins/market-analysis/skills/earnings-recap in himself65/finance-skills) into .claude/skills/earnings-recap in your project. Claude Code loads it when a task matches its description.
Run `npx skills add himself65/finance-skills --skill earnings-recap -a codex`. Or copy the skill folder (plugins/market-analysis/skills/earnings-recap in himself65/finance-skills) into .agents/skills/earnings-recap in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add himself65/finance-skills --skill earnings-recap -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/earnings-recap, .gemini/skills/earnings-recap, .github/skills/earnings-recap and .opencode/skills/earnings-recap in your project.
SKILL.md names no scripts, command-line tools or credentials: Earnings Recap is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Earnings Recap is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Earnings Recap: Macro Regime Detector (tradermonty/claude-trading-skills, 3k stars), Stock Analysis (CoWork-OS/CoWork-OS, 477 stars), Stock Explorer (freestylefly/wesight, 946 stars) and Equibles (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
himself65 (a GitHub user) maintains it in himself65/finance-skills, which has 3,388 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 5, 2026.
Source: himself65/finance-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.