From machina-sports-sports-skills
Generates original sports journalism articles (previews, live reports, post-game analysis, player profiles) from real-time data via CLI. Use when you need written coverage of games, teams, or players.
How this skill is triggered — by the user, by Claude, or both
Slash command
/machina-sports-sports-skills:sports-reporterThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.**
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-skills
Check 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 only
See 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=X
See 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=X
See 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=X
See 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=X
See 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 games
Use 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_oddsget_head_to_headIf 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
npx claudepluginhub machina-sports/sports-skillsFetches sports news headlines from Google News and curated RSS feeds (BBC Sport, ESPN, The Athletic, Sky Sports). Supports query by team, player, or topic with date filtering.
Provides football/soccer data across 13 leagues including standings, schedules, match stats, xG, transfers, and player profiles. Zero config, no API keys.
Builds a structured opponent scouting report identifying tactical patterns, key personnel, set piece tendencies, and exploitable weaknesses for coaches preparing a game plan.