betting
Betting analysis — odds conversion, de-vigging, edge detection, Kelly criterion, arbitrage…
Kalshi prediction markets — events, series, markets, trades, and candlestick data. Public API, no auth required for reads. US-regulated exchange (CFTC). Covers football (EPL, UCL, La Liga), basketball, baseball, tennis, NFL, hockey event contracts. Use when: user asks about
$ npx -y skills add machina-sports/sports-skills --skill kalshi --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/kalshiContext preview
The summary Claude sees to decide when to auto-load this skill.
Kalshi prediction markets — events, series, markets, trades, and candlestick data. Public API, no auth required for reads. US-regulated exchange (CFTC). Covers football (EPL, UCL, La Liga), basketball, baseball, tennis, NFL, hockey event contracts. Use when: user asks about
name: kalshi description: | Kalshi prediction markets — events, series, markets, trades, and candlestick data. Public API, no auth required for reads. US-regulated exchange (CFTC). Covers football (EPL, UCL, La Liga), basketball, baseball, tennis, NFL, hockey event contracts. Use when: user asks about Kalshi-specific markets, event contracts, CFTC-regulated prediction markets, or candlestick/OHLC price history on sports outcomes. Don't use when: user asks about actual match results, scores, or statistics — use the sport-specific skill: football-data (soccer), nfl-data (NFL), nba-data (NBA), wnba-data (WNBA), nhl-data (NHL), mlb-data (MLB), tennis-data (tennis), golf-data (golf), cricket-data (cricket), cfb-data (college football), cbb-data (college basketball), or fastf1 (F1). Don't use for general "who will win" questions unless Kalshi is specifically mentioned — try polymarket first (broader sports coverage). Don't use for news — use sports-news instead. license: MIT metadata: author: machina-sports version: "0.2.0"
Before writing queries, consult `references/api-reference.md` for sport codes, series tickers, and command parameters.
Prefer the CLI — it avoids Python import path issues:
sports-skills kalshi search_markets --sport=nba sports-skills kalshi get_todays_events --sport=nba sports-skills kalshi get_sports_config sports-skills kalshi get_markets --series_ticker=KXNBA --status=open
Python SDK (alternative):
from sports_skills import kalshi kalshi.search_markets(sport='nba') kalshi.search_markets(sport='nba', query='Lakers') kalshi.get_todays_events(sport='nba') kalshi.get_sports_config() kalshi.get_markets(series_ticker="KXNBA", status="open")
CRITICAL: Before calling any market endpoint, verify:
Without the `sport` parameter:
WRONG: search_markets(query="Leeds") → 0 results RIGHT: search_markets(sport='epl', query='Leeds') → returns all Leeds markets
1. `search_markets --sport=nba` — finds all open NBA markets. 2. Optionally add `--query="Lakers"` to filter by keyword. 3. Results include yes_bid, no_bid, volume for each market.
1. `get_todays_events --sport=nba` — open events with nested markets. 2. Present events with prices (price = implied probability, 0-100 scale).
1. `get_markets --series_ticker=<ticker> --status=open` 2. Sort by `last_price` descending. 3. Present top contenders with probability and volume.
1. Get market ticker from `search_markets --sport=nba`. 2. `get_market_candlesticks --series_ticker=<s> --ticker=<t> --start_ts=<start> --end_ts=<end> --period_interval=60` 3. Present OHLC with volume.
See `references/api-reference.md` for the full command list with parameters.
| Command | Description | |---|---| | `get_sports_config` | Available sport codes and series tickers | | `get_todays_events` | Today's events for a sport with nested markets | | `search_markets` | Find markets by sport and/or keyword | | `get_esports_odds` | Esports markets (cs2/lol/dota2): prices in cents (0-100) plus `implied_probability` (0-1) and `decimal_odds` | | `get_markets` | Market listing (raw API) | | `get_event` | Event details | | `get_market` | Market details | | `get_trades` | Recent trades | | `get_market_candlesticks` | OHLC price history |
Example 1: NBA market search User says: "What NBA markets are on Kalshi?" Actions: 1. Call `search_markets(sport='nba')` Result: All open NBA markets with yes/no prices and volume
Example 2: EPL game markets User says: "Show me Leeds vs Man City odds on Kalshi" Actions: 1. Call `search_markets(sport='epl', query='Leeds')` Result: Leeds EPL markets across all EPL series with prices and volume
Example 3: Today's EPL events User says: "What EPL games are available on Kalshi?" Actions: 1. Call `get_todays_events(sport='epl')` Result: Today's EPL events with nested markets
Example 4: Champions League futures User says: "Who will win the Champions League?" Actions: 1. Call `search_markets(sport='ucl')` or `get_markets(series_ticker="KXUCL", status="open")` 2. Sort by `last_price` descending (price = implied probability) Result: Top UCL contenders with `yes_sub_title`, `last_price` (%), and volume
Example 5: Market price history User says: "Show me the price history for this NBA game" Actions: 1. Get market ticker from `search_markets(sport='nba')` 2. Call `get_market_candlesticks(series_ticker="KXNBA", ticker="...", start_ts=..., end_ts=..., period_interval=60)` Result: OHLC price data with volume
If
Open-source agent skills for live sports data and prediction markets. Built for the Agent Skills spec. Works with sportsclaw, OpenClaw, Claude Code, Cursor, Copilot, Gemini CLI, Hermes Agent, and every major AI agent. Zero API keys. Zero signup.
Betting analysis — odds conversion, de-vigging, edge detection, Kelly criterion, arbitrage…
College Basketball (CBB) data via ESPN public endpoints and the NCAA's official endpoints —…
College Football (CFB) data via ESPN public endpoints and the NCAA's official endpoints —…
Cricket data via ESPN public endpoints and Cricsheet open data — live-ish series scoreboards,…
Esports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia). Pro matches,…
Formula 1 data — race schedules, results, lap timing, driver and team info. Powered by the…