Sports Reporter

machina-sports/sports-skills/skills/sports-reporter

作者 machina-sports09eb7e8566f4MIT242 个星标收录于 2026年10月8日更新于 2026年10月8日仓库3天前更新

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 directly (nfl-data, nba-data, football-data, etc.). Do not use when: the user wants to search for news published by third parties — use sports-news.

AI 生成的概览

通过 sports-skills 命令行工具获取实时数据,生成原创体育新闻文章。

功能
该技能扮演体育记者,通过 sports-skills 命令行调用收集实时和历史数据,并撰写原创文章。它支持六种格式:赛前预览、实时报道、赛后战报、球队分析、球员档案和每日综述,覆盖足球、NBA、NFL、NHL、MLB、大学体育、网球、F1 和高尔夫。它包含帮助指南、文章模板、API 参考和参数校验脚本,并在数据不可用时通过省略相应部分来优雅降级。
适用场景
当用户要求对比赛、球队、球员、比分或体育结果进行新闻报道时使用,例如预览、实时更新、战报、球队分析、球员档案或每日综述。当用户只需要原始数据而不需要新闻文本,或想搜索第三方发布的新闻时,请勿使用。
运行要求
需要 sports-skills Python 包(可通过 pip 安装)以及获取体育数据所需的网络访问。附带一个校验脚本和参考文档。未提及凭据要求。

Sports Reporter

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.


Setup

bash
which sports-skills || pip install sports-skills

Command Routing

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.


Help Command

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:


📰 Sports Reporter — Guia de Uso

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.


1. Preview (Pré-jogo)

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 League
  • o que esperar do Lakers x Celtics no domingo?
  • análise pré-jogo do Brasil na Copa do Mundo

2. Live (Ao vivo)

Atualizaçã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 Corinthians
  • o que está acontecendo no jogo dos Lakers?
  • atualização ao vivo da Premier League
  • como está a partida do Brasil?

3. Match Report (Pós-jogo)

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 semana
  • como foi o jogo do Real Madrid ontem?
  • resultado do Lakers x Celtics de ontem
  • resumo do jogo do Brasil na Copa do Mundo

4. Team Analysis (Análise de time)

Situaçã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 City
  • situação do Golden State Warriors no campeonato
  • como está o Brasil na Copa do Mundo?
  • análise completa do Palmeiras em 2026

5. Player Profile (Perfil de jogador)

Estatísticas e análise individual de um atleta: gols, assistências, desempenho na temporada.

Exemplos:

  • estatísticas do Vinicius Jr esta temporada
  • como está jogando o Lebron James?
  • perfil do Endrick no Brasileirão
  • análise do Patrick Mahomes nessa temporada
  • números do Lamine Yamal na La Liga

6. Daily Roundup (Resumo do dia)

Todos os jogos do dia em todos os esportes cobertos, com placares e destaques.

Exemplos:

  • quais os jogos de hoje?
  • resumo esportivo do dia
  • o que tem de jogo hoje?
  • todos os resultados de ontem
  • rodada de hoje no futebol e NBA

Esportes suportados
MóduloCobertura
footballPremier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, Brasileirão, MLS, Copa do Mundo, Amistosos FIFA e mais
nbaNBA (incluindo ao vivo com play-by-play)
nflNFL
nhlNHL
mlbMLB
cfb / cbbCollege Football / College Basketball
tennisATP / WTA
f1Fórmula 1
golfPGA Tour

Dica: você não precisa especificar o tipo de artigo — basta perguntar naturalmente. O Sports Reporter identifica o contexto automaticamente.


CRITICAL: Before Any Article

  1. Identify the article type — see the table below
  2. Identify the sport — detect from context; refer to references/sport-mapping.md for the correct CLI module
  3. Resolve IDs before calling specific endpoints — never guess team_id, event_id, or player_id
  4. Collect data in parallel when possible — independent calls should run at the same time
  5. Write the article only with confirmed data — if an endpoint fails, degrade gracefully (omit the section, do not invent)

Article Types

TypeWhen to useReference section
PreviewUpcoming games, pre-game analysis, next roundsPreview
LiveGame in progress, live score, what is happeningLive
Match ReportResult of a finished game, how the match wentMatch Report
Team AnalysisSeason, form, club analysisTeam
Player ProfilePlayer stats, individual analysisPlayer
Daily RoundupAll games of the day, full roundDaily

1. Preview (Pre-game)

Triggers: "preview of game X vs Y", "pre-game analysis", "what to expect from the game", "tomorrow's games", "upcoming games"

Data workflow

bash
# Step 1 — Find the game (use date/time if provided)sports-skills {sport} get_schedule                          # NFL/NBA/NHL/MLB/CFB/CBBsports-skills football get_daily_schedule --date=YYYY-MM-DD # European football
# Step 2 — Resolve team_ids for both teamssports-skills {sport} get_teams                             # American sportssports-skills football search_team --query="Team Name"      # Football
# Step 3 — Collect in parallelsports-skills {sport} get_standingssports-skills {sport} get_injuriessports-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

Article structure

See references/article-templates.md#preview


2. Live Report

Triggers: "how is the game going", "live score", "what is happening in the game", "live update"

Data workflow

bash
# Live scoreboard (all sports)sports-skills {sport} get_scoreboard
# NBA — CDN live (faster and more granular)sports-skills nba get_live_scoreboardsports-skills nba get_live_playbyplay --game_id=X --scoring_only=false
# Other sports — after identifying event_id in the scoreboardsports-skills {sport} get_play_by_play --event_id=Xsports-skills {sport} get_win_probability --event_id=X

Article structure

See references/article-templates.md#live


3. Match Report (Post-game)

Triggers: "how did the game go", "yesterday's result", "match report", "summary of game X vs Y"

Data workflow

bash
# Step 1 — Find event_idsports-skills {sport} get_scoreboard --date=YYYY-MM-DDsports-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 sportssports-skills {sport} get_play_by_play --event_id=X         # All sports
# European football — add in parallel:sports-skills football get_event_statistics --event_id=Xsports-skills football get_event_timeline --event_id=Xsports-skills football get_event_xg --event_id=X            # Top-5 leagues onlysports-skills football get_event_players_statistics --event_id=X

Article structure

See references/article-templates.md#match-report


4. Team Analysis

Triggers: "analysis of [team]", "how is [team] doing", "[team]'s season", "[team]'s situation"

Data workflow

bash
# Step 1 — Resolve team_idsports-skills {sport} get_teamssports-skills football search_team --query="Team Name"
# Step 2 — Collect in parallelsports-skills {sport} get_standingssports-skills {sport} get_team_schedule --team_id=Xsports-skills {sport} get_team_stats --team_id=Xsports-skills {sport} get_injuriessports-skills {sport} get_team_roster --team_id=Xsports-skills {sport} get_news --team_id=X

Article structure

See references/article-templates.md#team-analysis


5. Player Profile

Triggers: "stats for [player]", "analysis of [player]", "how is [player] playing", "profile of [player]"

Data workflow

bash
# 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 parallelsports-skills {sport} get_player_stats --player_id=Xsports-skills {sport} get_news                              # Filter by name afterwards
# European football — add:sports-skills football get_player_profile --player_id=Xsports-skills football get_player_season_stats --player_id=X

Article structure

See references/article-templates.md#player-profile


6. Daily Roundup

Triggers: "today's games", "all games", "daily sports roundup", "what's on today"

Data workflow

bash
# Run in parallel — only sports in season on the current datesports-skills nfl get_scoreboardsports-skills nba get_scoreboardsports-skills football get_daily_schedulesports-skills nhl get_scoreboardsports-skills mlb get_scoreboardsports-skills nba get_live_scoreboard          # If there are live NBA games

Use the system currentDate to determine which sports are in season before calling.

Article structure

See references/article-templates.md#daily-roundup


Sport Identification

If the user does not specify the sport:

  1. Detect from the team or player name mentioned
  2. Refer to references/sport-mapping.md for the correct module
  3. If ambiguous (e.g. "football" could be soccer or NFL), ask the user

Tone and Style

  • Journalistic and objective — data as anchor, no unsupported speculation
  • Always provide context — table position, point in the season, importance of the game
  • Strong lead — the first sentence captures the most relevant fact
  • Clear sections — use subheadings for longer articles
  • Precise numbers — cite exact statistics from the data; do not round without indicating
  • Language — write in the user's language (PT-BR by default if not specified)

Graceful Degradation

SituationAction
xG unavailable (league outside top-5)Omit xG section; use ESPN stats only
Game not yet startedWrite a preview; indicate that lineups may not be confirmed
event_id not foundTry get_scoreboard or get_daily_schedule; never guess the ID
player_id unknownUse search_player or get_team_roster to resolve
Live data unavailableIndicate game status and use data from get_scoreboard
Endpoint returns an errorOmit the corresponding section; briefly note in the text if relevant

Commands that DO NOT exist — never call

  • generate_article — does not exist; you are the writer
  • get_live_scores — use get_scoreboard (all sports) or get_live_scoreboard (NBA)
  • get_match / get_results — use get_game_summary with event_id
  • get_box_score — use get_game_summary
  • get_odds — use polymarket or kalshi skill if needed

If a command is not listed in references/api-reference.md, it does not exist.


Troubleshooting

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/sports-skills位于skills/sports-reporter提交09eb7e8

许可证: MIT

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架

更多来自 machina-sports/sports-skills 的技能

World Cup

machina-sports

Premium FIFA World Cup 2026 market & match intelligence — a hosted, read-only layer that fuses official match truth (fixtures, standings, squads, injuries, player performance) with live prediction markets (Kalshi + Polymarket: prices, order books, price history, movers, cross-venue edges) and AI-grounded context (prematch briefs, move explanations, fan/social pulse). Every entity carries a canonical machina URN cross-walked across api-football, sportradar, opta, entain and ESPN, so a market resolves to a fixture resolves to two teams. This skill is prompt-only and premium: it routes the agent to the hosted World Cup Intelligence project (a per-project Machina MCP server) via `machina-cli`. It runs no code locally and ships no API keys. Use when: the user wants World Cup 2026 odds + match context together, asks "what moved and why", wants a grounded market brief or fan-sentiment read on a fixture, or needs one stable id that joins markets ↔ fixtures ↔ teams across providers. Don't use when: the user wants fr

待分类2423天前更新

Xctf Data

machina-sports

从 TFRRS 获取 NCAA 越野跑和田径运动员数据,并从 The Stride Report 获取新闻。

包含脚本
Data & Analytics2423天前更新

Volleyball Data

machina-sports

通过 Nevobo API 获取荷兰排球数据:积分榜、赛程、赛果、俱乐部、赛事和新闻。

Data & Analytics2423天前更新

Polymarket

machina-sports

只读访问 Polymarket 体育预测市场:赔率、价格、订单簿、赛事与市场搜索。

包含脚本
Business & Finance2423天前更新

Metadata

machina-sports

通过 TheSportsDB 查询球队队徽、球员照片、球场与俱乐部信息,并支持球队和球员名称搜索。

Research & Analysis2423天前更新

Markets

machina-sports

Markets orchestration — connects ESPN live schedules with Kalshi and Polymarket prediction markets. Unified dashboards, odds comparison, entity search, and bet evaluation across platforms. Use when: user wants to see prediction market odds alongside ESPN game schedules, compare odds across platforms, search for a team/player on Kalshi or Polymarket, check for arbitrage between ESPN odds and prediction markets, or evaluate a specific game's market value. Don't use when: user wants raw prediction market data without ESPN context — use polymarket or kalshi directly. For pure odds math (conversion, de-vigging, Kelly) — use betting. For live scores without market data — use the sport-specific skill.

待分类2423天前更新