v0.36.0Sports Skills 0.36.0

The sports data layer for AI agents

Scores, stats, odds and prediction markets across 30+ leagues — packaged as agent skills and a Python SDK. Open source, zero API keys, one JSON envelope.

$npx skills add machina-sports/sports-skills
Works with Claude CodeCursorCopilot Gemini CLIOpenClawHermes Agent sportsclaw
agent + sports-skills
›Saints are 52.5¢ on Polymarket and −150 at the book. Any edge?
$sports-skills polymarket get_todays_events --sport=nfl
✓Falcons vs. Saints · Saints 0.525 · $1.08M volume
$sports-skills betting evaluate_bet --book_odds=-150,+130 --market_prob=0.525
✓Fair 58.0% · Market 52.5% · Edge 5.48% · Kelly 0.115
agentDe-vigged, the book implies a 58.0% Saints win vs 52.5% on Polymarket — a 5.48% edge (EV +10.4%). Analysis only: no orders placed.
Premier League NFL NBA MLB NHL Kalshi Champions League WNBA Polymarket La Liga NCAA Football March Madness ATP · WTA PGA Tour · LPGA Formula 1 ProphetX Bundesliga Serie A MLS Dota 2 · LoL Cricket World Cup 2026 Volleyball NCAA Track & XC
30
Agent skills
326+
Commands
30+
Leagues, tours & venues
18.8k
Skill installs · skills.sh
53.7k
PyPI downloads · 6 mo
245
GitHub stars
Why sports-skills

Built for agents, not dashboards.

Every skill is a SKILL.md your agent loads on demand, backed by a Python SDK that answers in the same shape for every sport and every venue.

One envelope, every sport

Scores, standings, play-by-play, odds and order books all come back as status, data and message — so one parser handles 24 modules.

$ sports-skills betting devig --odds="-150,+130"
{
  "status": true,
  "data": { "vig_pct": 3.48, "outcomes": [ … ] },
  "message": "Vig: 3.48% | Fair probs: 58.0%, 42.0%"
}

Zero keys. Zero signup.

Public feeds only — ESPN, official league APIs, nflverse, Understat and read-only market data. Nothing to configure.

0API keys

Prediction markets, natively

Prices, order books and history from three venues, matched to real games — plus de-vig, edge, Kelly and arbitrage math.

KalshiCFTC-regulated
Polymarketmoneyline · props
ProphetXexchange odds

History, not just headlines

Live scores come from ESPN; the US-sport skills add a second, deeper source — pitch-level MLB, NBA shot coordinates, NHL on-ice x/y and nflverse play-by-play.

Safe by default

Read-only unless the user asks. Every skill ships risk metadata in catalog.json; trading needs explicit approval.

Read-only data25
Pure computation1
Premium · confirm first1
Executes trades · approval1

Record & replay

Capture a run against live sources once, replay it offline forever — deterministic evals and regression tests.

# record once, then replay offline
SPORTS_SKILLS_REPLAY=replay \
SPORTS_SKILLS_REPLAY_DIR=./replays \
  sports-skills nba get_scoreboard

Canonical when you need it

Opt football events into the Machina Sports Schema — JSON-LD on IPTC Sport Schema 1.1 with a provider-id crosswalk.

sports-skills football scores \
  --date=2026-03-01 --canonical \
  --observed-at=2026-03-01T22:05:00+00:00
Skill directory

30 skills. 326+ commands.

Install everything with one command or pick only what your agent needs. Every page is generated from its SKILL.md.

US Sports

5

Live layer plus deep analytics backends for the big five.

mlb-data
MLB · pitch-level data · history to 1901

MLB data via ESPN public endpoints and the official MLB Stats API — scores, standings, rosters, schedules, game summaries, injuries, leaders, and news, plus an analytics backend: pitch-level velocity/spin/exit-velocity, career splits by stat group, league leaders, and schedules to 1901. Zero config, no API keys.

708 24 commands ESPN, MLB Stats API
nba-data
NBA · shot charts · history to 1946

NBA data via ESPN public endpoints, the NBA live CDN, and NBA Stats (stats.nba.com) — scores, standings, rosters, schedules, game summaries, play-by-play, injuries, futures, depth charts, leaders, and news, plus an analytics backend: advanced ratings, per-shot court coordinates, career splits, and history to 1946. Zero config, no API keys.

952 28 commands ESPN, NBA CDN, NBA Stats
nfl-data
NFL · nflverse play-by-play · fantasy trends

NFL data via ESPN public endpoints plus an nflverse backend for schedules, weekly rosters, play-by-play, and normalized player/team stat tables. Zero config, no API keys.

716 23 commands ESPN, nflverse, Sleeper
nhl-data
NHL · on-ice coordinates · history to 1917

NHL data via ESPN public endpoints and the official NHL API — scores, standings, rosters, schedules, game summaries, injuries, futures, leaders, and news, plus an analytics backend: play-by-play with on-ice coordinates, cross-league career rows, skater/goalie leaders, and history to 1917. Zero config, no API keys.

651 23 commands ESPN, NHL API
wnba-data
WNBA · win probability · transactions

WNBA data via ESPN public endpoints — scores, standings, rosters, schedules, game summaries, play-by-play, win probability, injuries, transactions, futures, team/player stats, leaders, and news.

639 16 commands ESPN

Global Sports

6

Tennis, golf, F1, cricket, volleyball and esports.

cricket-data
Series · ball-by-ball history

Cricket data via ESPN public endpoints and Cricsheet open data — live-ish series scoreboards, standings, match summaries and news (ESPN), plus historical ball-by-ball, player stats, and player registry (Cricsheet, ODC-BY 1.0). Zero config, no API keys.

378 10 commands ESPN, Cricsheet
esports
Dota 2 · League of Legends

Esports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia).

191 6 commands OpenDota, Leaguepedia (Cargo)
fastf1
Formula 1 · laps · sectors · tyres

Formula 1 data — race schedules, results, lap timing, driver and team info. Powered by the FastF1 library. Covers F1 sessions, qualifying, practice, race results, sector times, tire strategy.

454 13 commands FastF1 (open-source)
golf-data
PGA Tour · LPGA · DP World Tour

PGA Tour, LPGA, and DP World Tour golf data via ESPN public endpoints — tournament leaderboards, scorecards, season schedules, golfer profiles/overviews, and news. Zero config, no API keys.

718 6 commands ESPN
tennis-data
ATP · WTA · rankings · entry lists

ATP and WTA tennis data via ESPN public endpoints — tournament scores, season calendars, player rankings, player profiles, and news. Zero config, no API keys.

689 7 commands ESPN, WTA
volleyball-data
Dutch volleyball pyramid

Dutch volleyball data (Eredivisie, Topdivisie, Superdivisie, and the full Dutch pyramid) via the Nevobo API. Standings, schedules, results, clubs, tournaments, and news. Zero config, no API keys.

550 10 commands Nevobo API
No skills match your search. Try a sport, a source like “ESPN”, or a command like “get_standings”.
What people build

From a question to an answer in one prompt.

Skills compose: your agent picks the data, the market prices and the math, then cites where every number came from. These are the patterns we see in public projects built on sports-skills.

Cross-venue market scanners

Match the same game on Kalshi and Polymarket, line it up against the sportsbook and flag the gaps — read-only by default.

Scan today’s NFL games for Kalshi vs Polymarket gaps bigger than 3¢.
marketskalshipolymarketbetting

Tournament forecasting

World Cup 2026 prediction pools and dashboards that blend fixtures, injuries and xG with market odds.

Who’s favored to top Group C, and does the market agree with the xG?
football-datapolymarketbetting

Value-bet & odds tools

De-vig sportsbook lines, compare them to fair prices and size positions with Kelly — across leagues and props.

Is +145 on the Mets tonight a value bet against the Polymarket price?
bettingmlb-datapolymarket

Scouting & newsroom bots

Transfer radars, Telegram scouting bots and auto-written previews built on player profiles, market values and headlines.

Summarize this week’s transfer news and market values for Ajax’s midfield.
football-datasports-newssports-reporter
Coverage

Dedicated skills first. Raw reference for the long tail.

Runtime skills normalize the leagues they list. For everything else there is a raw endpoint reference — labelled as exactly that.

Dedicated runtime skills

Python package + CLI

Python package and sports-skills CLI commands returning one JSON envelope, with record/replay for supported public reads. Use these first for the leagues they list. Prompt-only orchestration and premium skills are separate; not every catalog entry is a runtime module or replay-backed.

NFL NBA WNBA NHL MLB NCAA football NCAA basketball Premier League + top leagues ATP · WTA PGA · LPGA · DP World Formula 1 Cricket Dota 2 · LoL Kalshi Polymarket ProphetX

espn-api

reference · prompt-only

Reference-only, prompt-only: no CLI command or Python module. Endpoint docs, league slugs and observed response shapes for leagues without a dedicated skill, e.g. MMA, lacrosse, rugby, Australian football, NCAA volleyball, field hockey and water polo, NASCAR and IndyCar.

$npx skills add machina-sports/sports-skills@espn-api

espn-api documents 106 league slugs across 17 sport sections. That is a reference inventory, not a count of integrated, normalized, canonical or live-tested leagues. It returns raw provider-native ESPN JSON from undocumented endpoints that may change, is not record/replay-backed (its helpers exit when SPORTS_SKILLS_REPLAY is not off), and grants no commercial rights to ESPN data.

Machina Pro

Going to production? Bring licensed data.

Open-source skills wrap public feeds for personal and educational use. Machina Pro runs the same agent workflows on licensed real-time data, official partnerships and production-grade SLAs.

Open source

Built in the open.

MIT-licensed and released continuously — 74 releases since February 2026. Add a sport, a source or a fix: every skill is a SKILL.md plus a small Python module.

245 stars35 forks12 contributors53,741 PyPI downloads (6 mo)
@antonelli182 @pinhepo @ecavan95 @ecavan @Squidy247-goat @ConnorMoss02 @bombassaro @sejaldua @katelynvuong @KingDanTR @RodrigoAlbe @rensides
Get started

Give your agent the whole game.

One command installs every skill. Ask in plain language — get structured, sourced sports data back.

$npx skills add machina-sports/sports-skills