Agent skill · data analytics · machina-sports

markets

Markets orchestration — connects ESPN live schedules with Kalshi and Polymarket prediction markets. Unified dashboards, odds comparison, entity search, and bet evaluation across platforms. Use when: user wants to see prediction market odds alongside ESPN game schedules, compare odds across platforms, search for a team/player on Kalshi or Polymarket, check for arbitrage between ESPN odds and prediction markets, or evaluate a specific game's market value. Don't use when: user wants raw prediction market data without ESPN context — use polymarket or kalshi directly. For pure odds math (conversion, de-vigging, Kelly) — use betting. For live scores without market data — use the sport-specific skill.

Why this skill is useful

Provides specific commands and workflows for integrating ESPN schedules with prediction markets, which the AI wouldn't generate reliably on its own.

What it needs

About 4k tokens when loaded. Last updated 2026-08-06. 201 stars on the source repository.

What this skill does

Markets Orchestration Bridges ESPN live schedules (NBA, NFL, MLB, NHL, WNBA, CFB, CBB) with Kalshi and Polymarket prediction markets. Before writing queries, consult references/api-reference.md for supported sport codes, command parameters, and price normalization formats. Quick Start Python SDK: CRITICAL: Before Any Query CRITICAL: Before calling any orchestration command, verify: A sport code is provided for sport-aware commands (gettodaysmarkets, compareodds, getsportmarkets, evaluatemarket). Price sources are identified correctly before normalization: espn = American odds, polymarket = 0-1 probability, kalshi = 0-100 integer. Important Notes Sport context is passed through. --sport=nba maps automatically to the correct Polymarket sport code and Kalshi series ticker. Both platforms use sport-aware search. Polymarket uses sport → seriesid; Kalshi uses KXNBA, KXNFL, etc. Prices are normalized. Everything is converted to implied probability for comparison. Workflows Today's NBA Dashboard Returns each game with ESPN info, DraftKings odds, matching Kalshi markets, and matching Polymarket markets. Find Arb on a Specific Game 1. Get the ESPN event ID: getsportschedule --sport=nba 2. Compare odds: compareodds --sport=nba --eventid=<id> 3. If arbitrage detected, response includes allocation percentages and guaranteed ROI. Full Bet Evaluation 1. evaluatemarket --sport=nba --eventid=<id> 2. Fetches ESPN odds and matching prediction market price 3. Pipes through betting.evaluatebet: devig → edge → Kelly 4. Returns fair probability, edge, EV, Kelly fraction, and recommendation Same Game on Both Venues 1. matchmarkets --sport=mlb --date=2026-06-06 2. Each match pairs the Kalshi event (with market tickers) and the Polymarket event (with moneyline token IDs) for the same game — joined deterministically on date + team codes, fuzzy title match as fallback. 3. Feed kalshi.markettickers[i] and polymarket.markets[i].tokenids[j] straight into getmarketprice to compare prices. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills machina-sports/markets

View the source on GitHub

Browse the @skills marketplace