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 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.
What this skill does
# 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ó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.*
---
## 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
| Type | When to use | Reference section |
|------|-------------|-------------------|
| **Preview** | Upcoming games, pre-game analysis, next rounds | [Preview](#1-preview-pre-game) |
| **Live** | Game in progress, live score, what is happening | [Live](#2-live-report) |
| **Match Report** | Result of a finished game, how the match went | [Match Report](#3-match-report-post-game) |
| **Team Analysis** | Season, form, club analysis | [Team](#4-team-analysis) |
| **Player Profile** | Player stats, individual analysis | [Player](#5-player-profile) |
| **Daily Roundup** | All games of the day, full round | [Daily](#6-daily-roundup) |
---
## 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/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
```bash
# 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
```bash
# 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
```bash
# 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
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.