From machina-sports-sports-skills
Orchestrates ESPN sports schedules (NBA, NFL, MLB, NHL, WNBA, CFB, CBB) with Kalshi and Polymarket prediction markets for odds comparison, entity search, arbitrage detection, and market evaluation via CLI or Python SDK.
npx claudepluginhub joshuarweaver/cascade-data-analytics --plugin machina-sports-sports-skillsThis skill uses the workspace's default tool permissions.
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.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
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.
sports-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
Python SDK:
from 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")
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.sports-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 → KellyExample 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 pricesExample 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 volumeExample 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 checkExample 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 recommendationExample 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 PolymarketExample 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)get_oddscompare_odds to see odds across sources.search_marketssearch_entity instead.get_scheduleget_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"