Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 121% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 176% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 214% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 71% | 0% |
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.
bashsports-skills markets get_todays_markets --sport=nba sports-skills markets search_entity --query="Lakers" --sport=nba sports-skills markets compare_odds --sport=nba --event_id=401234567 sports-skills markets get_sport_markets --sport=nfl sports-skills markets get_sport_schedule --sport=nba sports-skills markets normalize_price --price=0.65 --source=polymarket sports-skills markets evaluate_market --sport=nba --event_id=401234567 sports-skills markets match_markets --sport=mlb --date=2026-06-06 sports-skills markets get_market_price --venue=kalshi --ticker=KXMENWORLDCUP-26-FR sports-skills markets get_price_history --venue=kalshi --ticker=KXMENWORLDCUP-26-FR --interval=1d
Python SDK:
pythonfrom sports_skills import markets markets.get_todays_markets(sport="nba") markets.search_entity(query="Lakers", sport="nba") markets.compare_odds(sport="nba", event_id="401234567") markets.get_sport_markets(sport="nfl") markets.get_sport_schedule(sport="nba", date="2025-02-26") markets.normalize_price(price=0.65, source="polymarket") markets.evaluate_market(sport="nba", event_id="401234567") markets.match_markets(sport="mlb", date="2026-06-06") markets.get_market_price(venue="kalshi", ticker="KXMENWORLDCUP-26-FR", at_time="2026-05-01T12:00:00+00:00") markets.get_price_history(venue="polymarket", token_id="<token_id>", interval="1h")
CRITICAL: Before calling any orchestration command, verify:
sport code is provided for sport-aware commands (get_todays_markets, compare_odds, get_sport_markets, evaluate_market).espn = American odds, polymarket = 0-1 probability, kalshi = 0-100 integer.--sport=nba maps automatically to the correct Polymarket sport code and Kalshi series ticker.sport → series_id; Kalshi uses KXNBA, KXNFL, etc.bashsports-skills markets get_todays_markets --sport=nba
Returns each game with ESPN info, DraftKings odds, matching Kalshi markets, and matching Polymarket markets.
get_sport_schedule --sport=nbacompare_odds --sport=nba --event_id=<id>evaluate_market --sport=nba --event_id=<id>betting.evaluate_bet: devig → edge → Kellymatch_markets --sport=mlb --date=2026-06-06kalshi.market_tickers[i] and polymarket.markets[i].token_ids[j] straight into get_market_price to compare prices.get_market_price --venue=kalshi --ticker=<ticker> --at_time=2026-05-01 for a single point-in-time price (both yes/no sides, 0-1).get_price_history --venue=kalshi --ticker=<ticker> --interval=1d for the full series — same {timestamp, price} shape on either venue.Example 1: Today's games with prediction market odds User says: "What NBA games are on today and what are the prediction market odds?" Actions:
get_todays_markets(sport="nba")Result: Unified dashboard with each game's ESPN info and Kalshi/Polymarket prices
Example 2: Cross-platform team search User says: "Find me Lakers markets on Kalshi and Polymarket" Actions:
search_entity(query="Lakers", sport="nba")Result: All Lakers markets across both exchanges with prices and volume
Example 3: Odds comparison for a specific game User says: "Compare the odds for this Celtics game across ESPN and Polymarket" Actions:
get_sport_schedule(sport="nba")compare_odds(sport="nba", event_id="<id>")Result: Normalized side-by-side comparison with automatic arbitrage check
Example 4: Full market evaluation User says: "Is there edge on the Chiefs game?" Actions:
get_sport_schedule(sport="nfl")evaluate_market(sport="nfl", event_id="<id>")Result: Fair probability, edge percentage, EV, Kelly fraction, and bet recommendation
Example 5: Browse all markets for a sport User says: "Show me all NFL prediction markets" Actions:
get_sport_markets(sport="nfl")Result: All open NFL markets across Kalshi and Polymarket
Example 6: Price conversion User says: "Convert a Polymarket price of 65 cents to American odds" Actions:
normalize_price(price=0.65, source="polymarket")Result: Common structure with implied probability (0.65), American odds (-185.7), and decimal (1.54)
Example 7: Pair a game across venues User says: "Find the Mets game on both Kalshi and Polymarket" Actions:
match_markets(sport="mlb", date="<game date>")Result: The game paired across venues — Kalshi market tickers and Polymarket moneyline token IDs side by side
Example 8: Historical price User says: "What was France's World Cup price a month ago?" Actions:
get_market_price(venue="kalshi", ticker="KXMENWORLDCUP-26-FR", at_time="2026-05-03T12:00:00+00:00")Result: Yes/no prices (0-1) as of that moment; use get_price_history for the full curve
get_odds~~ — does not exist. Use compare_odds to see odds across sources.search_markets~~ — does not exist on the markets module. Use search_entity instead.get_schedule~~ — does not exist. Use get_sport_schedule instead.If a command is not listed in references/api-reference.md, it does not exist.
Error: No markets returned for a sport Cause: Sport code may be missing or incorrect Solution: Check references/api-reference.md for valid sport codes. Use the exact code (e.g., nba, epl, laliga)
Error: compare_odds returns no data for an event Cause: The event_id is incorrect or the game has not been indexed yet Solution: Call get_sport_schedule(sport=...) to retrieve the correct event_id first
Error: One source shows warnings in the response Cause: Kalshi or Polymarket is temporarily unavailable Solution: The module returns partial results — use what is available. Retry the unavailable source separately using the kalshi or polymarket skill directly
Error: normalize_price returns unexpected American odds value Cause: Wrong source parameter — Kalshi uses 0-100 integers, Polymarket uses 0-1 decimals Solution: Verify the source. Kalshi price of 65 requires source="kalshi", Polymarket price of 0.65 requires source="polymarket"
Other measured skills in the registry, with their headline benchmark lift.