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…
Formula 1 data — race schedules, results, lap timing, driver and team info.
$ npx skills add machina-sports/sports-skills --skill fastf1 -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install machina-sports/sports-skills fastf1 --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/fastf1 .claude/skills/fastf1 && 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 "fastf1" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/fastf1 into .claude/skills/fastf1/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastf1", 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/fastf1Type 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 fastf1 -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install machina-sports/sports-skills fastf1 --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/fastf1 .agents/skills/fastf1 && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fastf1" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/fastf1 into .agents/skills/fastf1/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastf1", 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 fastf1 -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install machina-sports/sports-skills fastf1 --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/fastf1 .cursor/skills/fastf1 && 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 "fastf1" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/fastf1 into .cursor/skills/fastf1/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastf1", 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/fastf1--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 fastf1 -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install machina-sports/sports-skills fastf1 --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/fastf1 .gemini/skills/fastf1 && 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 "fastf1" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/fastf1 into .gemini/skills/fastf1/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastf1", 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 fastf1Installs 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 fastf1 -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/fastf1 .github/skills/fastf1 && 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 "fastf1" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/fastf1 into .github/skills/fastf1/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastf1", 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 fastf1 -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 fastf1 --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/fastf1 .opencode/skills/fastf1 && 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 "fastf1" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/fastf1 into .opencode/skills/fastf1/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastf1", 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.
fastf1Formula 1 data — race schedules, results, lap timing, driver and team info.
Fastf1 is an agent skill from machina-sports/sports-skills. Formula 1 data — race schedules, results, lap timing, driver and team info. Powered by the FastF1 library. Covers F1 sessions, qualifying, practice, race results, sector times, tire strategy. Use when: user asks about F1 race results, qualifying, lap times, driver stats, team info, the F1 calendar, or Formula 1 data. Don't use when: user asks about other motorsports (MotoGP, NASCAR, IndyCar, WEC, Formula E). Don't use for F1 betting odds or predictions — use kalshi or polymarket instead. Don't use for F1 news…
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `references/api-reference.md`, `references/commands.md` and `references/schemas.md`). Compatibility notes: Requires Python 3.10+ (install with: pip install sports-skills)
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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0420a7c. 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.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Requires Python 3.10+ (install with: pip install sports-skills)
From compatibility in the SKILL.md frontmatter.
Fastf1 loads about 1.6k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 140 tokens; SKILL.md has 678 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); the scripts in this folder are not scanned.
The full file from machina-sports/sports-skills at commit 0420a7c, republished under its MIT licence (© machina-sports). 678 words, ~1,645 tokens.
.claude/skills/fastf1/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Before writing queries, consult references/api-reference.md for endpoints, ID conventions, and data shapes.
Prefer the CLI — it avoids Python import path issues:
sports-skills f1 get_race_schedule --year=2025
sports-skills f1 get_race_results --year=2025 --event=MonzaPython SDK (alternative):
from sports_skills import f1
schedule = f1.get_race_schedule(year=2025)
results = f1.get_race_results(year=2025, event="Monza")CRITICAL: Before calling any data endpoint, verify:
currentDate — never hardcoded.year = current_year - 1 (pre-season; the new F1 season has not started yet).Derive the current year from the system prompt's date (e.g., currentDate: 2026-02-16 → current year is 2026).
year = current_year - 1. From March onward, use the current year.get_race_schedule --year=<year> — find the event name and dateget_race_results --year=<year> --event=<name> — final classification (positions, times, points)get_lap_data --year=<year> --event=<name> --session_type=R — lap-by-lap pace analysisget_tire_analysis --year=<year> --event=<name> — strategy breakdown (compounds, stint lengths, degradation)get_championship_standings --year=<year> — championship context (points, wins, podiums)get_team_comparison --year=<year> --team1=<t1> --team2=<t2> OR get_driver_comparison --year=<year> --driver1=<d1> --driver2=<d2>get_season_stats --year=<year> — aggregate performance (fastest laps, top speeds)get_race_schedule --year=<year> — full calendar with dates and circuitsget_championship_standings --year=<year> — driver and constructor standingsget_season_stats --year=<year> — season-wide fastest laps, top speeds, points leadersget_driver_info --year=<year> — current grid (driver numbers, teams, nationalities)| Command | Description |
|---|---|
get_race_schedule | Full season calendar with dates and circuits |
get_race_results | Final race classification (positions, times, points) |
get_session_data | Raw session info (Q, FP1, FP2, FP3, R) |
get_driver_info | Driver details from the grid |
get_team_info | Team info with driver lineup |
get_lap_data | Lap-by-lap timing with sectors and tire data |
get_pit_stops | Pit stops with pit-lane time (not stationary time) and team averages |
get_speed_data | Speed trap and intermediate speed data |
get_championship_standings | Driver and constructor championship standings (--round=N for standings after round N) |
get_season_stats | Aggregate season performance |
get_team_comparison | Team head-to-head: qualifying, race pace, sectors |
get_driver_comparison | Driver head-to-head: qualifying H2H, race H2H, pace delta |
get_tire_analysis | Tire strategy, stint lengths, degradation rates |
See references/api-reference.md for full parameter lists and return shapes.
Example 1: F1 calendar User says: "Show me the F1 calendar" Actions:
currentDateget_race_schedule(year=<derived_year>)
Result: Full calendar with event names, dates, and circuitsExample 2: Driver race performance User says: "How did Verstappen do at Monza?" Actions:
currentDate (or from context)get_race_results(year=<year>, event="Monza") for final classificationget_lap_data(year=<year>, event="Monza", session_type="R", driver="VER") for lap times
Result: Finishing position, gap to leader, fastest lap, and tire strategyExample 3: Latest results queried in pre-season User says: "What were the latest F1 results?" (asked in February 2026) Actions:
year = 2025get_race_schedule(year=2025) to find the last event of that seasonget_race_results(year=2025, event=<last_event>) for the final race results
Result: Results of the final 2025 raceget_qualifyingget_practiceget_session_data with session_type="Q" for qualifying or session_type="FP1"/"FP2"/"FP3" for practice.get_standingsget_championship_standings instead.get_resultsget_race_results instead.get_calendarget_race_schedule instead.If a command is not listed in the Commands table above, it does not exist.
Error: Event name not found
Cause: Event name spelling does not match FastF1's internal naming
Solution: Call get_race_schedule(year=<year>) first to get the exact event names, then retry with the correct name
Error: Session data is empty
Cause: The session has not happened yet
Solution: FastF1 only returns data for completed sessions. Check get_race_schedule for when the session is scheduled
Error: get_race_results returns no fastest_lap_time
Cause: FastF1 has no lap data for that race (fastest_lap_time is computed from the laps)
Solution: Use get_lap_data(session_type="R") and find the minimum lap_time across all drivers
Error: Querying the current year in January or February returns no data
Cause: The new F1 season has not started yet
Solution: Use year = current_year - 1 for any pre-March query; do not query the current year before March
© 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
SKILL.md and 4 other files (scripts, references) in skills/fastf1 of machina-sports/sports-skills.
Open the folder on GitHubat commit 0420a7c
Fastf1 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 |
|---|---|---|---|---|---|---|
| Fastf1 this skillmachina-sports/sports-skills | 245 | — | ~1.6k | 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
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.
machina-sports/sports-skills
MLB data via ESPN public endpoints and the official MLB Stats API — scores, standings, rosters, schedules, game summaries, injuries, leaders, and news, plus an analytics backend: pitch-level…
Works with
Categories
Formula 1 data — race schedules, results, lap timing, driver and team info. Fastf1 is an agent skill from machina-sports/sports-skills. Formula 1 data — race schedules, results, lap timing, driver and team info.
Fastf1 fits situations like: : user asks about F1 race results; the F1 calendar; : user asks about other motorsports (MotoGP; F1 betting odds.
Run `npx skills add machina-sports/sports-skills --skill fastf1 -a claude-code`. Or copy the skill folder (skills/fastf1 in machina-sports/sports-skills) into .claude/skills/fastf1 in your project. Claude Code loads it when a task matches its description.
Run `npx skills add machina-sports/sports-skills --skill fastf1 -a codex`. Or copy the skill folder (skills/fastf1 in machina-sports/sports-skills) into .agents/skills/fastf1 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 fastf1 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fastf1, .gemini/skills/fastf1, .github/skills/fastf1 and .opencode/skills/fastf1 in your project.
Going by SKILL.md and its folder, Fastf1 needs a shell for the scripts in its folder. Our summary lists: Python 3; A Bash shell. Compatibility (from SKILL.md): Requires Python 3.10+ (install with: pip install sports-skills).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Fastf1 is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Fastf1: 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 245 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 10, 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.