mcpbeat

Earnings Calendar

staskh/earnings-calendar

Get upcoming earnings dates with timing (before/after market) and EPS estimates. Use when user asks about earnings dates, earnings calendar, when a company reports, or upcoming earnings.

640 tokens
context cost
the whole folder, loaded on every use
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
308
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/staskh/trading_skills --skill earnings-calendar

The instruction itself

8 sections, as written by the author

Earnings Calendar

Retrieve upcoming earnings dates for stocks.

Instructions

> Note: If uv is not installed or pyproject.toml is not found, replace uv run python with python in all commands below.

uv run python scripts/earnings.py SYMBOLS

Arguments

  • SYMBOLS - Ticker symbol or comma-separated list (e.g., AAPL or AAPL,MSFT,GOOGL,NVDA)

Output

Single symbol returns:

  • symbol - Ticker symbol
  • earnings_date - Next earnings date (YYYY-MM-DD)
  • timing - "BMO" (Before Market Open), "AMC" (After Market Close), or null
  • eps_estimate - Consensus EPS estimate, or null if unavailable

Multiple symbols returns:

  • results - Array of earnings info, sorted by date (soonest first)

Examples

# Single symbol
uv run python scripts/earnings.py NVDA

# Multiple symbols (sorted by date)
uv run python scripts/earnings.py AAPL,MSFT,GOOGL,NVDA,META

# Portfolio earnings calendar
uv run python scripts/earnings.py CAT,GOOG,HOOD,IWM,NVDA,PLTR,QQQ,UNH

Use Cases

  • Check when positions have upcoming earnings risk
  • Plan trades around earnings announcements
  • Build an earnings calendar for watchlist

Dependencies

  • pandas
  • yfinance

Timezone

All timestamps and time-based calculations must use the America/New_York timezone. All JSON output must include generated_at (NY time string) and data_delay fields.

How to use it

Copy the folder

Take staskh/earnings-calendar from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.