Source profileQuality 91/100Review permissions

machina-sports/sports-skills/skills/sports-reporter/SKILL.md

sports-reporter

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 spo

Source repository stars
210
Declared platforms
0
Static risk flags
1
Last source update
2026-08-17
Source checked
2026-08-25

Decision brief

What it does: where it fits

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.

Best for

  • 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.

Not for

  • Error: eventid not found Cause: ID was guessed or the game has not yet occurred Fix: Use getscoreboard --date=X or getdailyschedule --date=X to discover the correct eventid
  • Error: incorrect teamid Cause: Hardcoded or outdated ID Fix: Always call getteams or searchteam to resolve dynamically

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/machina-sports/sports-skills --skill "skills/sports-reporter"
Safe inspection promptEditorial

Inspect the Agent Skill "sports-reporter" from https://github.com/machina-sports/sports-skills/blob/bf4adb22895e6f57ef8c48ca62af7306ad4628a5/skills/sports-reporter/SKILL.md at commit bf4adb22895e6f57ef8c48ca62af7306ad4628a5. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Setup

    Review the “Setup” section in the pinned source before continuing.

    Review and apply the “Setup” source section.
  2. 02

    Data workflow

    Review the “Data workflow” section in the pinned source before continuing.

    Review and apply the “Data workflow” source section.
  3. 03

    Step 1 — Find the game (use date/time if provided)

    sports-skills {sport} getschedule NFL/NBA/NHL/MLB/CFB/CBB sports-skills football getdailyschedule --date=YYYY-MM-DD European football

    sports-skills {sport} getschedule NFL/NBA/NHL/MLB/CFB/CBB sports-skills football getdailyschedule --date=YYYY-MM-DD European football
  4. 04

    Step 2 — Resolve teamids for both teams

    sports-skills {sport} getteams American sports sports-skills football searchteam --query="Team Name" Football

    sports-skills {sport} getteams American sports sports-skills football searchteam --query="Team Name" Football
  5. 05

    Step 3 — Collect in parallel

    sports-skills {sport} getstandings sports-skills {sport} getinjuries sports-skills {sport} getteamschedule --teamid=X Team A (recent games) sports-skills {sport} getteamschedule --teamid=Y Team B (recent games) sports-skills football getmissingplayers --seasonid=X Football PL on…

    sports-skills {sport} getstandings sports-skills {sport} getinjuries sports-skills {sport} getteamschedule --teamid=X Team A (recent games) sports-skills {sport} getteamschedule --teamid=Y Team B (recent games) sports-s…

Permission review

Static risk signals and limitations

Runs scripts

medium · line 19

The documentation asks the agent to run terminal commands or scripts.

*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.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars210SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
machina-sports/sports-skills
Skill path
skills/sports-reporter/SKILL.md
Commit
bf4adb22895e6f57ef8c48ca62af7306ad4628a5
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

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

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

# 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

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

# 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

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

# 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

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

# 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

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

# 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

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

# 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.

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
  • get_head_to_head (football) — returns empty; build H2H manually via schedules

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

Frequently asked questions

What to verify before installation and use

What does the sports-reporter source document cover?

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.

How do I install sports-reporter?

The source record exposes this install command: npx skills add https://github.com/machina-sports/sports-skills --skill "skills/sports-reporter". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 10045,511

coreyhaines31/marketingskills

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

Computed 10045,511

coreyhaines31/marketingskills

churn-prevention

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

Computed 10024,921

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 10015,122

wanshuiyin/Auto-claude-code-research-in-sleep

citation-audit

Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.