Agent skill · data analytics · machina-sports

esports

Esports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia). Pro matches, tournaments, teams, and structured LoL competitive data. Use when: user asks about Dota 2 pro matches/teams/leagues, or LoL esports tournaments/rosters/results. Don't use when: user asks about esports betting/odds — use the `kalshi` (get_esports_odds) or `polymarket` (get_esports_events) skills (no keyless bookmaker-odds source exists). Don't use for non-Dota/LoL titles (only Dota 2 and LoL are covered).

Why this skill is useful

Provides specific commands and structured data access for Dota 2 and League of Legends esports that the AI wouldn't reliably generate on its own.

What it needs

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

What this skill does

Esports Data Keyless, public sources. No API key, no signup. Dota 2 → OpenDota (api.opendota.com). Real JSON. Free tier ~60 req/min. League of Legends esports → Leaguepedia Cargo (lol.fandom.com). Structured rows. CC-BY-SA — attribute Leaguepedia when you reuse the data. CRITICAL Dota 2 only for match/team/league data (OpenDota). LoL uses Leaguepedia Cargo. Leaguepedia is aggressively rate-limited. The throttle comes back as an in-body error (Leaguepedia API error: ...) on an HTTP 200 — not a 4xx. Results are cached ~30 min; don't hammer it. No odds here. Bookmaker odds for esports are not available keyless. For implied-probability signals, use kalshi getesportsodds --game=cs2 or polymarket getesportsevents. Personal use. Third-party ToS apply (OpenDota MIT; Leaguepedia CC-BY-SA). Quick Start CLI: Python: Commands Command Description --- --- getpromatches Recent Dota 2 professional matches (OpenDota) getleagues Dota 2 leagues/tournaments, filter by tier (OpenDota) getproteams Top Dota 2 teams by rating (OpenDota) getmatch Detailed Dota 2 match by id (OpenDota) getloltournaments Recent LoL esports tournaments (Leaguepedia) lolcargoquery Raw Leaguepedia Cargo query (any table/fields) Leaguepedia Cargo reference lolcargoquery needs tables + fields. Common tables (fields vary — verify with a small query first): Tournaments (Name, DateStart, DateEnd, League, Region, Prizepool), MatchSchedule (Team1, Team2, Winner, DateTimeUTC, BestOf), ScoreboardGames, Players, Teams. Full schema: <https://lol.fandom.com/wiki/Special:CargoTables>. Troubleshooting Leaguepedia API error: You've exceeded your rate limit → you're being throttled. Wait and retry; the connector caches for ~30 min to help. Empty matches/teams from OpenDota → transient; OpenDota is volunteer-run best-effort infra with no SLA. Retry.

How to use it

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

@skills machina-sports/esports

View the source on GitHub

Browse the @skills marketplace