Prediction Markets
BlockRunAI/blockrun-mcp
A skill your agent uses when the user asks about event probabilities, prediction market odds, what people are betting on, Polymarket/Kalshi prices, sports markets — or about the things you CANNOT…
Esports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia).
$ npx skills add machina-sports/sports-skills --skill esports -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install machina-sports/sports-skills esports --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/machina-sports/sports-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/esports .claude/skills/esports && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "esports" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/esports into .claude/skills/esports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "esports", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/machina-sports/sports-skills/tree/main/skills/esportsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add machina-sports/sports-skills --skill esports -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install machina-sports/sports-skills esports --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/machina-sports/sports-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/esports .agents/skills/esports && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "esports" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/esports into .agents/skills/esports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "esports", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add machina-sports/sports-skills --skill esports -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install machina-sports/sports-skills esports --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/machina-sports/sports-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/esports .cursor/skills/esports && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "esports" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/esports into .cursor/skills/esports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "esports", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/machina-sports/sports-skills.git --path skills/esports--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add machina-sports/sports-skills --skill esports -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install machina-sports/sports-skills esports --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/machina-sports/sports-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/esports .gemini/skills/esports && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "esports" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/esports into .gemini/skills/esports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "esports", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install machina-sports/sports-skills esportsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add machina-sports/sports-skills --skill esports -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/machina-sports/sports-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/esports .github/skills/esports && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "esports" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/esports into .github/skills/esports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "esports", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add machina-sports/sports-skills --skill esports -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install machina-sports/sports-skills esports --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/machina-sports/sports-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/esports .opencode/skills/esports && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "esports" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/esports into .opencode/skills/esports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "esports", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
esportsEsports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia).
Esports is an agent skill from machina-sports/sports-skills. 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 (getesportsodds) or polymarket (getesportsevents) skills (no keyless bookmaker-odds source exists). Don't use for non-Dota/LoL titles (only Dota 2 and LoL are covered).
Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics. It works with Kalshi and Polymarket. The repository describes itself as: Open-source agent skills for live sports data and prediction markets. Football, F1, Kalshi, Polymarket. Zero API keys. SKILL.md format. The licence is MIT.
Read from SKILL.md and the folder at commit 09eb7e8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and python).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
lol.fandom.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Esports loads about 952 tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 341 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from machina-sports/sports-skills at commit 09eb7e8, republished under its MIT licence (© machina-sports). 341 words, ~952 tokens.
.claude/skills/esports/SKILL.md (or your agent's skills folder).Keyless, public sources. No API key, no signup.
api.opendota.com). Real JSON. Free tier ~60 req/min.lol.fandom.com). Structured
rows. CC-BY-SA — attribute Leaguepedia when you reuse the data.Leaguepedia API error: ...) on an HTTP 200 — not a 4xx.
Results are cached ~30 min; don't hammer it. Queries with order_by have
been answered with that throttle body every time, so avoid order_by in
lol_cargo_query and sort the rows yourself.get_pro_matches returns the latest pro
matches (100 per call at most). For older ones pass the response's
next_less_than_match_id as less_than_match_id.team_id, not name. OpenDota has separate records
whose names differ only in case (mouz 161707 from 2013, MOUZ 9338413 now).kalshi get_esports_odds --game=cs2 or
polymarket get_esports_events.CLI:
sports-skills esports get_pro_matches --limit=10
sports-skills esports get_pro_teams --limit=10
sports-skills esports get_leagues --tier=premium
sports-skills esports get_lol_tournaments --region=Korea --limit=5
sports-skills esports lol_cargo_query --tables=Teams --fields=Name,Region --limit=5Python:
from sports_skills import esports
esports.get_pro_matches(limit=10)
esports.get_lol_tournaments(region="Brazil")| Command | Description |
|---|---|
get_pro_matches | Latest Dota 2 pro matches, newest first; page back with less_than_match_id (OpenDota) |
get_leagues | Dota 2 leagues/tournaments, newest first, filter by tier (OpenDota) |
get_pro_teams | Top Dota 2 teams by rating (OpenDota) |
get_match | Detailed Dota 2 match by id (OpenDota) |
get_lol_tournaments | LoL esports tournaments starting since the 1st of the month two months back, newest first (Leaguepedia) |
lol_cargo_query | Raw Leaguepedia Cargo query (any table/fields) |
lol_cargo_query needs tables + fields. Common tables (fields vary — verify
with a small query first): Tournaments (Name, DateStart, DateEnd, League,
Region, Prizepool), MatchSchedule (Team1, Team2, Winner, DateTime_UTC, BestOf),
ScoreboardGames, Players, Teams. Full schema:
https://lol.fandom.com/wiki/Special:CargoTables. Row keys use the field names
you asked for (DateTime_UTC), even though Cargo itself returns them with spaces.
Leaguepedia API error: You've exceeded your rate limit → you're being
throttled. Wait and retry; the connector caches for ~30 min to help.matches/teams from OpenDota → transient; OpenDota is volunteer-run
best-effort infra with no SLA. Retry.© machina-sports, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/esports of machina-sports/sports-skills.
Open the folder on GitHubat commit 09eb7e8
Esports next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Esports this skillmachina-sports/sports-skills | 243 | — | ~952 | Automated safety check: Pass | MIT | |
| Prediction MarketsBlockRunAI/blockrun-mcp | 391 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Predexon Prediction Market DataBlockRunAI/ClawRouter | 6.6k | — | ~4.7k | Automated safety check: Pass | MIT | |
| Surf Crypto Data APIBlockRunAI/blockrun-mcp | 391 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Digital Oraclekomako-workshop/digital-oracle | 878 | — | ~5.9k | Automated safety check: Pass | MIT | |
| Dr Manhattanguzus/dr-manhattan | 204 | — | ~2k | Automated safety check: Pass | Apache-2.0 |
BlockRunAI/blockrun-mcp
A skill your agent uses when the user asks about event probabilities, prediction market odds, what people are betting on, Polymarket/Kalshi prices, sports markets — or about the things you CANNOT…
BlockRunAI/ClawRouter
Reads structured prediction market data for Polymarket, Kalshi and other venues through a local BlockRun gateway: markets, search, leaderboards, wallet analytics and odds.
BlockRunAI/blockrun-mcp
Routes crypto market, on-chain, wallet and prediction-market lookups to the Surf data API through a local ClawRouter, paid per call.
komako-workshop/digital-oracle
Answer prediction questions using market trading data, not opinions.
guzus/dr-manhattan
Trade prediction markets (Polymarket, Kalshi, Opinion, Limitless, Predict.fun) using a unified CCXT-style API.
livetennisapi/livetennisapi-mcp
Build observe-only Polymarket and Kalshi tennis market tooling on the polymarket-tennis Python package (MIT) plus the Live Tennis API free tier.
machina-sports/sports-skills
College Basketball (CBB) data via ESPN public endpoints and the NCAA's official endpoints — scores, standings, rosters, schedules, game summaries, play-by-play, win probability, rankings, futures…
machina-sports/sports-skills
College Football (CFB) data via ESPN public endpoints and the NCAA's official endpoints — scores, standings, rosters, schedules, game summaries, play-by-play, rankings, injuries, futures…
machina-sports/sports-skills
Cricket data via ESPN public endpoints and Cricsheet open data — live-ish series scoreboards, standings, match summaries and news (ESPN), plus historical ball-by-ball, player stats, and player…
machina-sports/sports-skills
Formula 1 data — race schedules, results, lap timing, driver and team info.
machina-sports/sports-skills
PGA Tour, LPGA, and DP World Tour golf data via ESPN public endpoints — tournament leaderboards, scorecards, season schedules, golfer profiles/overviews, and news.
machina-sports/sports-skills
Kalshi prediction markets — events, series, markets, trades, and candlestick data.
Works with
Categories
Esports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia). Esports is an agent skill from machina-sports/sports-skills. Esports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia).
Esports fits situations like: : user asks about Dota 2 pro matches/teams/leagues; loL esports tournaments/rosters/results; : user asks about esports betting/odds — use the kalshi (getesportsodds); polymarket (getesportsevents) skills (no keyless bookmaker-odds source exists).
Run `npx skills add machina-sports/sports-skills --skill esports -a claude-code`. Or copy the skill folder (skills/esports in machina-sports/sports-skills) into .claude/skills/esports in your project. Claude Code loads it when a task matches its description.
Run `npx skills add machina-sports/sports-skills --skill esports -a codex`. Or copy the skill folder (skills/esports in machina-sports/sports-skills) into .agents/skills/esports in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add machina-sports/sports-skills --skill esports -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/esports, .gemini/skills/esports, .github/skills/esports and .opencode/skills/esports in your project.
SKILL.md names no scripts, command-line tools or credentials: Esports is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: lol.fandom.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Esports is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 952 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Esports: Prediction Markets (BlockRunAI/blockrun-mcp, 391 stars), Predexon Prediction Market Data (BlockRunAI/ClawRouter, 6.6k stars), Surf Crypto Data API (BlockRunAI/blockrun-mcp, 391 stars) and Digital Oracle (komako-workshop/digital-oracle, 878 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
machina-sports (a GitHub organization) maintains it in machina-sports/sports-skills, which has 243 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 5, 2026.
Source: machina-sports/sports-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.