Sandbox Bench
vercel/next.js
Benchmark React or Next.js changes on Vercel Sandbox VMs with paired A/B statistics: react PR/commit vs base, or Next.js PR/commit vs base, measured end-to-end through the bench/render-pipeline app…
Generates original sports journalism articles by consuming real-time data from the sports-skills skills.
$ npx skills add machina-sports/sports-skills --skill sports-reporter -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install machina-sports/sports-skills sports-reporter --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/sports-reporter .claude/skills/sports-reporter && 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 "sports-reporter" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/sports-reporter into .claude/skills/sports-reporter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sports-reporter", 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/sports-reporterType 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 sports-reporter -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install machina-sports/sports-skills sports-reporter --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/sports-reporter .agents/skills/sports-reporter && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sports-reporter" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/sports-reporter into .agents/skills/sports-reporter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sports-reporter", 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 sports-reporter -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install machina-sports/sports-skills sports-reporter --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/sports-reporter .cursor/skills/sports-reporter && 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 "sports-reporter" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/sports-reporter into .cursor/skills/sports-reporter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sports-reporter", 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/sports-reporter--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 sports-reporter -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install machina-sports/sports-skills sports-reporter --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/sports-reporter .gemini/skills/sports-reporter && 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 "sports-reporter" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/sports-reporter into .gemini/skills/sports-reporter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sports-reporter", 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 sports-reporterInstalls 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 sports-reporter -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/sports-reporter .github/skills/sports-reporter && 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 "sports-reporter" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/sports-reporter into .github/skills/sports-reporter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sports-reporter", 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 sports-reporter -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 sports-reporter --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/sports-reporter .opencode/skills/sports-reporter && 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 "sports-reporter" agent skill from https://github.com/machina-sports/sports-skills/tree/main/skills/sports-reporter into .opencode/skills/sports-reporter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sports-reporter", 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.
sports-reporterGenerates original sports journalism articles by consuming real-time data from the sports-skills skills.
Sports Reporter is an agent skill from machina-sports/sports-skills. Generates original sports journalism articles by consuming real-time data from the sports-skills skills. Covers game previews, live reports, post-game, team analysis, and player profiles for all supported sports. Use when: the user asks to write, generate, create, or draft an article, preview, report, analysis, summary, or journalistic coverage about games, teams, players, scores, statistics, or sports results. Do not use when: the user only wants raw data without journalistic text — use the sport-specific skill…
Its SKILL.md is about 3.2k 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/article-templates.md` and `references/sport-mapping.md`).
It sits in Data & Analytics, covering Statistics. 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.
6 steps, taken from the step headings 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.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
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.
Sports Reporter loads about 3.2k tokens when it runs, and up to ~8.1k if it reads all its reference files. Until then it costs about 171 tokens; SKILL.md has 1,155 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). 1,155 words, ~3,206 tokens.
.claude/skills/sports-reporter/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.You are a sports journalist who generates original articles from real data. Before writing any text, collect the necessary data using the sports skills. Never fabricate statistics, scores, or facts — all information must come from a confirmed CLI call.
Refer to references/api-reference.md for the exact commands by article type and references/article-templates.md for the narrative structure of each format.
which sports-skills || pip install sports-skillsCheck the ARGUMENTS first. If the argument is help (case-insensitive, with or without --), execute the Help command below and stop — do not try to generate an article.
Trigger: argument is help or --help
When triggered, respond in the user's language (PT-BR by default) with the following guide — formatted and ready to read, no data fetching needed:
O Sports Reporter gera artigos jornalísticos originais a partir de dados reais. Escolha o tipo de artigo e use uma das frases de exemplo para começar.
Análise de jogos ainda não disputados: forma recente, prováveis escalações, o que esperar do confronto.
Exemplos:
preview do jogo Flamengo x Palmeiras de amanhãquais os próximos jogos do Brasileirão?pré-jogo da final da Champions Leagueo que esperar do Lakers x Celtics no domingo?análise pré-jogo do Brasil na Copa do MundoAtualização em tempo real de um jogo em andamento: placar, eventos, momento da partida.
Exemplos:
como está o jogo do Flamengo agora?placar ao vivo do Corinthianso que está acontecendo no jogo dos Lakers?atualização ao vivo da Premier Leaguecomo está a partida do Brasil?Relatório completo de um jogo já encerrado: gols, estatísticas, destaques, análise.
Exemplos:
quanto ficou o jogo do Brasil e Croácia ontem?relatório do clássico Fla x Flu do fim de semanacomo foi o jogo do Real Madrid ontem?resultado do Lakers x Celtics de ontemresumo do jogo do Brasil na Copa do MundoSituação atual de um clube: posição na tabela, forma recente, lesionados, destaques da temporada.
Exemplos:
como está o Flamengo na temporada?análise do momento do Manchester Citysituação do Golden State Warriors no campeonatocomo está o Brasil na Copa do Mundo?análise completa do Palmeiras em 2026Estatísticas e análise individual de um atleta: gols, assistências, desempenho na temporada.
Exemplos:
estatísticas do Vinicius Jr esta temporadacomo está jogando o Lebron James?perfil do Endrick no Brasileirãoanálise do Patrick Mahomes nessa temporadanúmeros do Lamine Yamal na La LigaTodos os jogos do dia em todos os esportes cobertos, com placares e destaques.
Exemplos:
quais os jogos de hoje?resumo esportivo do diao que tem de jogo hoje?todos os resultados de ontemrodada de hoje no futebol e NBA| Módulo | Cobertura |
|---|---|
football | Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, Brasileirão, MLS, Copa do Mundo, Amistosos FIFA e mais |
nba | NBA (incluindo ao vivo com play-by-play) |
nfl | NFL |
nhl | NHL |
mlb | MLB |
cfb / cbb | College Football / College Basketball |
tennis | ATP / WTA |
f1 | Fórmula 1 |
golf | PGA Tour |
Dica: você não precisa especificar o tipo de artigo — basta perguntar naturalmente. O Sports Reporter identifica o contexto automaticamente.
references/sport-mapping.md for the correct CLI module| Type | When to use | Reference section |
|---|---|---|
| Preview | Upcoming games, pre-game analysis, next rounds | Preview |
| Live | Game in progress, live score, what is happening | Live |
| Match Report | Result of a finished game, how the match went | Match Report |
| Team Analysis | Season, form, club analysis | Team |
| Player Profile | Player stats, individual analysis | Player |
| Daily Roundup | All games of the day, full round | Daily |
Triggers: "preview of game X vs Y", "pre-game analysis", "what to expect from the game", "tomorrow's games", "upcoming games"
# Step 1 — Find the game (use date/time if provided)
sports-skills {sport} get_schedule # NFL/NBA/NHL/MLB/CFB/CBB
sports-skills football get_daily_schedule --date=YYYY-MM-DD # European football
# Step 2 — Resolve team_ids for both teams
sports-skills {sport} get_teams # American sports
sports-skills football search_team --query="Team Name" # Football
# Step 3 — Collect in parallel
sports-skills {sport} get_standings
sports-skills {sport} get_injuries
sports-skills {sport} get_team_schedule --team_id=X # Team A (recent games)
sports-skills {sport} get_team_schedule --team_id=Y # Team B (recent games)
sports-skills football get_missing_players --season_id=X # Football PL onlySee references/article-templates.md#preview
Triggers: "how is the game going", "live score", "what is happening in the game", "live update"
# Live scoreboard (all sports)
sports-skills {sport} get_scoreboard
# NBA — CDN live (faster and more granular)
sports-skills nba get_live_scoreboard
sports-skills nba get_live_playbyplay --game_id=X --scoring_only=false
# Other sports — after identifying event_id in the scoreboard
sports-skills {sport} get_play_by_play --event_id=X
sports-skills {sport} get_win_probability --event_id=XSee references/article-templates.md#live
Triggers: "how did the game go", "yesterday's result", "match report", "summary of game X vs Y"
# Step 1 — Find event_id
sports-skills {sport} get_scoreboard --date=YYYY-MM-DD
sports-skills football get_daily_schedule --date=YYYY-MM-DD
# Step 2 — Collect in parallel (after obtaining event_id)
sports-skills {sport} get_game_summary --event_id=X # All sports
sports-skills {sport} get_play_by_play --event_id=X # All sports
# European football — add in parallel:
sports-skills football get_event_statistics --event_id=X
sports-skills football get_event_timeline --event_id=X
sports-skills football get_event_xg --event_id=X # Top-5 leagues only
sports-skills football get_event_players_statistics --event_id=XSee references/article-templates.md#match-report
Triggers: "analysis of [team]", "how is [team] doing", "[team]'s season", "[team]'s situation"
# Step 1 — Resolve team_id
sports-skills {sport} get_teams
sports-skills football search_team --query="Team Name"
# Step 2 — Collect in parallel
sports-skills {sport} get_standings
sports-skills {sport} get_team_schedule --team_id=X
sports-skills {sport} get_team_stats --team_id=X
sports-skills {sport} get_injuries
sports-skills {sport} get_team_roster --team_id=X
sports-skills {sport} get_news --team_id=XSee references/article-templates.md#team-analysis
Triggers: "stats for [player]", "analysis of [player]", "how is [player] playing", "profile of [player]"
# Step 1 — Resolve player_id
# For football: sports-skills football search_player --query="Name"
# For others: refer to references/sport-mapping.md or use get_team_roster
# Step 2 — Collect in parallel
sports-skills {sport} get_player_stats --player_id=X
sports-skills {sport} get_news # Filter by name afterwards
# European football — add:
sports-skills football get_player_profile --player_id=X
sports-skills football get_player_season_stats --player_id=XSee references/article-templates.md#player-profile
Triggers: "today's games", "all games", "daily sports roundup", "what's on today"
# Run in parallel — only sports in season on the current date
sports-skills nfl get_scoreboard
sports-skills nba get_scoreboard
sports-skills football get_daily_schedule
sports-skills nhl get_scoreboard
sports-skills mlb get_scoreboard
sports-skills nba get_live_scoreboard # If there are live NBA gamesUse the system currentDate to determine which sports are in season before calling.
See references/article-templates.md#daily-roundup
If the user does not specify the sport:
references/sport-mapping.md for the correct module| Situation | Action |
|---|---|
| xG unavailable (league outside top-5) | Omit xG section; use ESPN stats only |
| Game not yet started | Write a preview; indicate that lineups may not be confirmed |
| event_id not found | Try get_scoreboard or get_daily_schedule; never guess the ID |
| player_id unknown | Use search_player or get_team_roster to resolve |
| Live data unavailable | Indicate game status and use data from get_scoreboard |
| Endpoint returns an error | Omit the corresponding section; briefly note in the text if relevant |
generate_articleget_live_scoresget_scoreboard (all sports) or get_live_scoreboard (NBA)get_matchget_resultsget_game_summary with event_idget_box_scoreget_game_summaryget_oddsIf a command is not listed in references/api-reference.md, it does not exist.
Error: event_id not found
Cause: ID was guessed or the game has not yet occurred
Fix: Use get_scoreboard --date=X or get_daily_schedule --date=X to discover the correct event_id
Error: incorrect team_id
Cause: Hardcoded or outdated ID
Fix: Always call get_teams or search_team to resolve dynamically
Error: xG returns empty for a recent game Cause: Understat has a 24-48h lag after the match Fix: Omit xG and use ESPN statistics only; try again later
Error: sports-skills not found
Fix: pip install sports-skills or pip install git+https://github.com/machina-sports/sports-skills.git
© 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/sports-reporter of machina-sports/sports-skills.
Open the folder on GitHubat commit 09eb7e8
Sports Reporter 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 |
|---|---|---|---|---|---|---|
| Sports Reporter this skillmachina-sports/sports-skills | 243 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Sandbox Benchvercel/next.js | 143k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Statistical Analysisspacering-net/codeg | 3.9k | 3 repos | ~5k | Automated safety check: Pass | MIT | |
| StatsmodelszLanqing/codex-claude-academic-skills | 4.7k | 15 repos | ~4.9k | Automated safety check: Pass | BSD-3-Clause | |
| AI Daily DigestvigorX777/ai-daily-digest | 1.6k | — | ~1.3k | Automated safety check: Pass | None | |
| Statistical Powerspacering-net/codeg | 3.9k | 1 repos | ~3.6k | Automated safety check: Notes | MIT |
vercel/next.js
Benchmark React or Next.js changes on Vercel Sandbox VMs with paired A/B statistics: react PR/commit vs base, or Next.js PR/commit vs base, measured end-to-end through the bench/render-pipeline app…
spacering-net/codeg
Guided statistical analysis for research data - test selection, assumption checking, effect sizes, power analysis, Bayesian alternatives, and APA-formatted reporting.
zLanqing/codex-claude-academic-skills
Statistical models library for Python. An agent skill from zLanqing/codex-claude-academic-skills.
vigorX777/ai-daily-digest
Fetches RSS feeds from 90 top Hacker News blogs (curated by Karpathy), uses AI to score and filter articles, and generates a daily digest in Markdown with Chinese-translated titles, category…
spacering-net/codeg
Sample-size and statistical power calculations for planning studies.
higress-group/higress
Real-time agent conversation monitoring - monitors Higress access logs, aggregates conversations by session, tracks token usage.
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.
Categories
Generates original sports journalism articles by consuming real-time data from the sports-skills skills. Sports Reporter is an agent skill from machina-sports/sports-skills. Generates original sports journalism articles by consuming real-time data from the sports-skills skills.
Sports Reporter fits situations like: : the user asks to write; draft an article; journalistic coverage about games; : the user only wants raw data without journalistic text — use the sport-specific skill directly (nfl-data.
Run `npx skills add machina-sports/sports-skills --skill sports-reporter -a claude-code`. Or copy the skill folder (skills/sports-reporter in machina-sports/sports-skills) into .claude/skills/sports-reporter in your project. Claude Code loads it when a task matches its description.
Run `npx skills add machina-sports/sports-skills --skill sports-reporter -a codex`. Or copy the skill folder (skills/sports-reporter in machina-sports/sports-skills) into .agents/skills/sports-reporter 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 sports-reporter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sports-reporter, .gemini/skills/sports-reporter, .github/skills/sports-reporter and .opencode/skills/sports-reporter in your project.
Going by SKILL.md and its folder, Sports Reporter 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.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. 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.
Sports Reporter is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k 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 4.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Sports Reporter: Sandbox Bench (vercel/next.js, 143k stars), Statistical Analysis (spacering-net/codeg, 3.9k stars), Statsmodels (zLanqing/codex-claude-academic-skills, 4.7k stars) and AI Daily Digest (vigorX777/ai-daily-digest, 1.6k 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.