Digital Oracle
komako-workshop/digital-oracle
Answer prediction questions using market trading data, not opinions.
NCAA cross country and track & field athlete data via TFRRS (tfrrs.org) and news via The Stride Report.
$ npx skills add machina-sports/sports-skills --skill xctf-data -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install machina-sports/sports-skills xctf-data --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/xctf-data .claude/skills/xctf-data && 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 "xctf-data" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/xctf-data into .claude/skills/xctf-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xctf-data", 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/xctf-dataType 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 xctf-data -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install machina-sports/sports-skills xctf-data --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/xctf-data .agents/skills/xctf-data && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "xctf-data" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/xctf-data into .agents/skills/xctf-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xctf-data", 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 xctf-data -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install machina-sports/sports-skills xctf-data --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/xctf-data .cursor/skills/xctf-data && 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 "xctf-data" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/xctf-data into .cursor/skills/xctf-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xctf-data", 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/xctf-data--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 xctf-data -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install machina-sports/sports-skills xctf-data --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/xctf-data .gemini/skills/xctf-data && 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 "xctf-data" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/xctf-data into .gemini/skills/xctf-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xctf-data", 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 xctf-dataInstalls 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 xctf-data -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/xctf-data .github/skills/xctf-data && 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 "xctf-data" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/xctf-data into .github/skills/xctf-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xctf-data", 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 xctf-data -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 xctf-data --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/xctf-data .opencode/skills/xctf-data && 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 "xctf-data" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/xctf-data into .opencode/skills/xctf-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xctf-data", 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.
xctf-dataNCAA cross country and track & field athlete data via TFRRS (tfrrs.org) and news via The Stride Report.
Xctf Data is an agent skill from machina-sports/sports-skills. NCAA cross country and track & field athlete data via TFRRS (tfrrs.org) and news via The Stride Report. Fetch athlete profiles including all personal records (PRs), eligibility year, school, full season-by-season results history, and XC/TF news. Zero config, no API keys. Use when: user asks about NCAA cross country, NCAA track and field, college running, TFRRS athlete profiles, personal records, PRs, XC or TF season results, individual athlete performance history, or XC/TF news. Don't use when: user asks about…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts and reference files (for example `references/api-reference.md` and `scripts/validate_params.sh`). Compatibility notes: Requires Python 3.10+ and internet access to tfrrs.org and thestridereport.com. No API keys required.
It sits in Security, covering Threat modeling. 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.
2 steps, taken from the first numbered list in SKILL.md.
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.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
tfrrs.orgFrom 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+ and internet access to tfrrs.org and thestridereport.com. No API keys required.
From compatibility in the SKILL.md frontmatter.
Xctf Data loads about 2k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 190 tokens; SKILL.md has 892 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 09eb7e8, republished under its MIT licence (© machina-sports). 892 words, ~2,033 tokens.
.claude/skills/xctf-data/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Before writing queries, consult references/api-reference.md for parameters, URL conventions, and return shapes.
Before first use, check if the CLI is available:
which sports-skills || pip install sports-skillsIf pip install fails, install from GitHub:
pip install git+https://github.com/machina-sports/sports-skills.gitRequires Python 3.10+. No API keys required. All data comes from TFRRS public pages and The Stride Report RSS feed.
CLI (preferred):
sports-skills xctf get_athlete_profile --athlete_id=9230145 --school=BYU --name=Jane_Hedengren
sports-skills xctf get_news --limit=5Python SDK:
from sports_skills import xctf
profile = xctf.get_athlete_profile(
athlete_id="9230145",
school="BYU",
name="Jane_Hedengren",
)All three parameters are required and must match the athlete's TFRRS URL exactly:
https://www.tfrrs.org/athletes/{athlete_id}/{school}/{name}.htmlathlete_id — numeric ID (e.g. 9230145)school — school slug with underscores, not spaces (e.g. BYU)name — athlete name slug (e.g. Jane_Hedengren)Do NOT guess slugs. Find them by navigating to the athlete on tfrrs.org and copying the URL.
| Command | Description |
|---|---|
search_athlete | Search the current team roster by name; returns athlete_id, school, and name slugs for use with get_athlete_profile. Searches both genders automatically. Current athletes only — graduated athletes require a direct TFRRS URL |
get_athlete_profile | Athlete name, school, eligibility, all PRs, and full season-by-season meet results |
get_team_roster | Full XC and/or TF roster for a team |
get_meet_results | All event results and team scores from a TFRRS meet |
get_news | Recent XC/TF articles from The Stride Report (thestridereport.com) |
See references/api-reference.md for full parameter details and return shapes.
Example 1: Look up a current athlete's PRs User says: "What are Jane Hedengren's PRs?" Actions:
search_athlete(name="Jane Hedengren", school="UT_college_f_BYU")
Result: data.matches contains entries with athlete_id, school, name slugsget_athlete_profile(athlete_id="9230145", school="BYU", name="Jane_Hedengren")
Result: data.prs contains all personal records by event (e.g. {"1500": "4:10.24", "5000": "14:44.79", "6K (XC)": "18:29.6", ...})Example 2: Get a runner's cross country season User says: "Show me Jane Hedengren's 2025 XC season results" Actions:
search_athlete(name="Jane Hedengren", school="UT_college_f_BYU")get_athlete_profile with the matched athlete paramsdata.meets for entries whose date falls in the fall of 2025 (Sep–Nov 2025)
Result: List of meets with dates, events, marks, and placesExample 3: Graduated or transferred athlete User says: "What are Katelyn Vuong's PRs from UC Davis?" Actions:
search_athlete(name="Katelyn Vuong", school="CA_college_f_UC_Davis")
Result: data.matches is empty — athlete has graduatedhttps://www.tfrrs.org/athletes/7899206/UC_Davis/Katelyn_Vuong.htmlget_athlete_profile(athlete_id="7899206", school="UC_Davis", name="Katelyn_Vuong")
Note: TFRRS creates separate profiles for XC and TF. If both exist, fetch both IDs for complete PRs.Example 4: Get a team's current roster User says: "Show me the UC Davis women's XC roster" Actions:
get_team_roster(school="CA_college_f_UC_Davis", sport="xc")
Result: List of athletes with name, year, and profile slugsExample 5: Get results from a meet User says: "Show me the results from the Stanford Invitational" Actions:
get_meet_results(meet_id="95890", slug="Stanford_Invitational")
Result: All event results and team scores from the meet. Each result has place, name, year, team, marks (the recorded mark, e.g. ["9.72"], or ["DNF"]) and score (team points, null at unscored meets); wind, conversion (imperial mark) and relay athletes appear when the event has them.For a cross-country meet (URL like tfrrs.org/results/xc/28714/Gans_Creek_Classic) pass sport="xc": get_meet_results(meet_id="28714", slug="Gans_Creek_Classic", sport="xc"). XC team_scores are keyed by race name. XC ids use a separate range, so an XC id without sport="xc" returns an unrelated track meet (flagged in warnings).
Example 6: Get the latest XC/TF news User says: "What's the latest college track news?" Actions:
get_news(limit=10)
Result: Recent articles from The Stride Report with title, date, summary, and linkget_team_rankingsget_athlete_profile for individual data.search_athletessearch_athlete (no trailing 's').fetch_newsget_news.If a command is not listed in the Commands table above, it does not exist.
When a command fails, do not surface raw errors to the user. Instead:
get_athlete_profile: confirm athlete_id, school, and name match the TFRRS URL exactly (case-sensitive)search_athlete: verify the team slug is correct by checking the team's TFRRS page URLget_meet_results: verify the meet_id and slug match the meet's TFRRS URL exactlyget_team_roster: verify the school slug is correctget_news: if the feed fails, inform the user that The Stride Report may be temporarily unavailablesports-skills command not found
Run pip install sports-skills or install from GitHub (see Setup above).
HTTP 404 on athlete profile
The school or name slug does not match the TFRRS URL exactly. Slugs are case-sensitive and use underscores. Copy directly from tfrrs.org.
prs returns empty dict
The athlete's profile page may be very new or structured differently. Check the URL directly on tfrrs.org.
search_athlete returns empty matches
The athlete is likely graduated or transferred. See Example 3 above for how to handle this.
get_meet_results returns no events
The meet_id or slug may be incorrect. Copy both directly from the meet's TFRRS URL. If the URL contains /results/xc/, pass sport="xc".
get_news fails or returns no articles
The Stride Report RSS feed may be temporarily unavailable. Try again later.
Connection errors or timeouts TFRRS may be temporarily unavailable. Requests are throttled to 1 per second automatically — wait a moment and 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
SKILL.md and 2 other files (scripts, references) in skills/xctf-data of machina-sports/sports-skills.
Open the folder on GitHubat commit 09eb7e8
Xctf Data 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 |
|---|---|---|---|---|---|---|
| Xctf Data this skillmachina-sports/sports-skills | 243 | — | ~2k | 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 | |
| Predexon Prediction Market DataBlockRunAI/ClawRouter | 6.6k | — | ~4.7k | Automated safety check: Pass | MIT | |
| Forensifyalexgreensh/repo-forensics | 190 | — | ~2.5k | Automated safety check: Notes | Custom licence | |
| Polymarket Tennislivetennisapi/livetennisapi-mcp | 152 | — | ~3k | Automated safety check: Pass | MIT |
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.
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.
alexgreensh/repo-forensics
Cross-agent self-inspection of your AI-agent stack. An agent skill from alexgreensh/repo-forensics.
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.
cartography-cncf/cartography
Author a Cartography security rule (one or more Cypher Facts plus a Pydantic Finding output model) under cartography/rules/data/rules/.
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
NCAA cross country and track & field athlete data via TFRRS (tfrrs.org) and news via The Stride Report. Xctf Data is an agent skill from machina-sports/sports-skills.org) and news via The Stride Report.
Xctf Data fits situations like: : user asks about NCAA cross country; NCAA track and field; college running; TFRRS athlete profiles.
Run `npx skills add machina-sports/sports-skills --skill xctf-data -a claude-code`. Or copy the skill folder (skills/xctf-data in machina-sports/sports-skills) into .claude/skills/xctf-data in your project. Claude Code loads it when a task matches its description.
Run `npx skills add machina-sports/sports-skills --skill xctf-data -a codex`. Or copy the skill folder (skills/xctf-data in machina-sports/sports-skills) into .agents/skills/xctf-data 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 xctf-data -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/xctf-data, .gemini/skills/xctf-data, .github/skills/xctf-data and .opencode/skills/xctf-data in your project.
Going by SKILL.md and its folder, Xctf Data needs a shell for the scripts in its folder and the command-line tools its instructions call (pip). Our summary lists: Python 3; A Bash shell. Compatibility (from SKILL.md): Requires Python 3.10+ and internet access to tfrrs.org and thestridereport.com. No API keys required..
SKILL.md names 1 domain. In commands or code: tfrrs.org; the agent is likely to contact it when it follows the instructions. 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.
Xctf Data is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k 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 1.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Xctf Data: Digital Oracle (komako-workshop/digital-oracle, 878 stars), Dr Manhattan (guzus/dr-manhattan, 204 stars), Predexon Prediction Market Data (BlockRunAI/ClawRouter, 6.6k stars) and Forensify (alexgreensh/repo-forensics, 190 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.