К основному содержанию
скилл CX Codex

cbb-data — скилл для Claude Code: данные студенческого баскетбола

Скилл вытаскивает счёта, таблицы, ростеры и сетку March Madness из публичных эндпоинтов ESPN и NCAA. Ключи не нужны.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add machina-sports/sports-skills --skill cbb-data -a claude-code
Открыть на GitHub

Что делает cbb-data

Скилл закрывает мужской студенческий баскетбол Division I: счёта, турнирные таблицы по конференциям, ростеры, расписания, разбор игр, play-by-play, вероятность победы, рейтинги AP Top 25 и Coaches Poll, фьючерсы, статистика команд и игроков, новости. Отдельно идут официальные данные NCAA — табло D2 и D3, детали игр, сетка March Madness с живыми счётами и индекс школ. Всё это через CLI sports-skills.

Перед первым запуском проверьте, стоит ли пакет: which sports-skills || pip install sports-skills. Если pip install падает на версии Python, значит нужен Python 3.10 или новее — ищите подходящий интерпретатор, например python3.12 -m pip install sports-skills. Советую работать через CLI, а не импортировать модуль в Python: так не будет путаницы с путями импорта.

Есть подводные камни. Год сезона нельзя зашивать в код — его выводят из даты в системном промпте, потому что сезон идёт с ноября по апрель и на стыке годов правило меняется. Для таблиц параметр group задаёт конференцию, и без него результат будет не тот. Команды get_ncaa_* читают GraphQL-запросы NCAA, чьи хеши меняются при передеплое ncaa.com; тогда они прямо об этом сообщают, а те же игры D1 закрывают get_scoreboard и get_schedule. Идентификаторы игр NCAA и ESPN не пересекаются — связывать их придётся по дате и названиям команд.

Какие задачи решает

  • посмотреть счёта студенческих матчей за сегодня
  • вытащить таблицу конференции SEC
  • показать ростер команды по её ID
  • собрать сетку March Madness с живыми счётами
  • сравнить две команды по рейтингу BPI

Примеры запросов агенту

  • Какие сегодня счёта в студенческом баскетболе?
  • Покажи таблицу конференции SEC
  • Кто фаворит в March Madness?

Как установить cbb-data

1Через Skills CLI (Vercel)

npx skills add machina-sports/sports-skills --skill cbb-data -a claude-code

2Вручную: положить файлы

~/.claude/skills/cbb-data/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cbb-data/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о cbb-data

Как установить cbb-data в Claude?

Выполните npx skills add machina-sports/sports-skills --skill cbb-data -a claude-code. Скилл встанет в ~/.claude/skills/cbb-data/SKILL.md.

Что делает cbb-data?

Даёт агенту доступ к данным мужского студенческого баскетбола: счёта, таблицы, ростеры, расписания, play-by-play, рейтинги, фьючерсы, статистика и новости. Плюс официальные табло D2 и D3 и сетка March Madness.

Нужны ли API-ключи или настройка?

Нет, ключи не требуются. Нужен только пакет sports-skills и Python 3.10 или новее, если ставить через pip.

Исходный текст

SKILL.md · MIT
---
name: cbb-data
description: |
  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, team/player stats, and news for Division I men's basketball, plus official D2/D3 scoreboards, NCAA game detail, the March Madness bracket with live scores, and the schools index. Zero config, no API keys.

  Use when: user asks about college basketball scores, March Madness, the NCAA tournament bracket, standings, rankings, team rosters, schedules, play-by-play, betting futures, team/player statistics, CBB news, or D2/D3 games.
  Don't use when: user asks about NBA/WNBA (use nba-data/wnba-data), college football (use cfb-data), or non-sports topics.
license: MIT
metadata:
  author: machina-sports
  version: "0.1.0"
---

# College Basketball Data (CBB)

Before writing queries, consult `references/api-reference.md` for endpoints, conference IDs, team IDs, and data shapes.

## Setup

Before first use, check if the CLI is available:
```bash
which sports-skills || pip install sports-skills
```
If `pip install` fails with a Python version error, the package requires Python 3.10+. Find a compatible Python:
```bash
python3 --version  # check version
# If < 3.10, try: python3.12 -m pip install sports-skills
# On macOS with Homebrew: /opt/homebrew/bin/python3.12 -m pip install sports-skills
```
No API keys required.

## Quick Start

Prefer the CLI — it avoids Python import path issues:
```bash
sports-skills cbb get_scoreboard
sports-skills cbb get_rankings
sports-skills cbb get_standings --group=23
```

## CRITICAL: Before Any Query

CRITICAL: Before calling any data endpoint, verify:
- Season year is derived from the system prompt's `currentDate` — never hardcoded.
- For standings, the `group` parameter is set to the correct conference ID (see `references/api-reference.md`).
- If only a team name is provided, use `get_teams` to resolve the team ID.

## Choosing the Season

Derive the current year from the system prompt's date (e.g., `currentDate: 2026-02-28` → current year is 2026).

- **If the user specifies a season**, use it as-is.
- **If the user says "current", "this season", or doesn't specify**: The CBB season runs November–April. If the current month is November or December, use `season = current_year + 1`. If January–April, use `season = current_year`. If May–October (offseason), use `season = current_year` (most recently completed season).

## Important: College vs. Pro Differences

- **Standings are per-conference** — use the `group` parameter to filter
- **Rankings replace leaders** — college uses AP Top 25 and Coaches Poll
- **Ranked teams** have a `rank` field (null = unranked) on scoreboard competitors
- **360+ D1 teams** — many games per day during the season (50+ during conference play)
- **March Madness** — NCAA Tournament runs in March/April with 68 teams

## Commands

| Command | Description |
|---|---|
| `get_scoreboard` | Live/recent college basketball scores |
| `get_standings` | Standings by conference (use `group` parameter) |
| `get_teams` | All 360+ D1 men's basketball teams |
| `get_team_roster` | Full roster for a team |
| `get_team_schedule` | Schedule for a specific team |
| `get_game_summary` | Detailed box score and player stats |
| `get_rankings` | AP Top 25 and Coaches Poll rankings |
| `get_news` | College basketball news |
| `get_play_by_play` | Full play-by-play for a game |
| `get_win_probability` | Win probability chart data |
| `get_schedule` | Schedule for a date or season |
| `get_futures` | Futures/odds markets (National Championship, etc.) |
| `get_team_stats` | Team statistical profile |
| `get_player_stats` | Player statistical profile |
| `get_ncaa_scoreboard` | Official NCAA scoreboard — D1, D2, and D3 |
| `get_ncaa_schedule` | Which dates have games (official index) |
| `get_ncaa_game` | Official NCAA game information |
| `get_ncaa_boxscore` | Official NCAA box score |
| `get_ncaa_play_by_play` | Official play-by-play |
| `get_ncaa_bracket` | March Madness bracket with live scores |
| `get_ncaa_schools` | NCAA schools index (all divisions) |
| `get_power_index` | BPI (Basketball Power Index) ratings for D1 teams |
| `get_tournament_projections` | NCAA tournament projections with seeds, regions, and advancement probabilities |
| `compare_teams` | Compare two teams using BPI ratings and season stats |
| `find_upset_candidates` | Potential upsets based on BPI vs seed differential |

See `references/api-reference.md` for full parameter lists and return shapes.

## Official NCAA Backend

The `get_ncaa_*` commands read the NCAA's own endpoints (sdataprod.ncaa.com +
ncaa.com) — coverage ESPN does not carry:

- **D2 and D3 scoreboards** via `division="d2"`/`"d3"` — ESPN's college
  coverage is D1-centric.
- Both scoreboards now return **all of Division I by default** — the
  ESPN-backed `get_scoreboard`/`get_schedule` previously inherited ESPN's
  Top-25-only un-grouped default (1 game on an ordinary Friday instead of ~24).
  Pass `group` explicitly for a narrower ESPN grouping.
- **The official March Madness bracket** with live scores: `get_ncaa_bracket`.
- **Official game detail**: `get_ncaa_game`, `get_ncaa_boxscore`,
  `get_ncaa_play_by_play`.
- **The schools index** (~1,200 schools, all divisions): `get_ncaa_schools`.

NCAA game ids (from `get_ncaa_scoreboard`) and ESPN event ids share nothing —
join on game date plus team names. NCAA reissues game ids, so take them from a
fresh `get_ncaa_scoreboard` call rather than storing them. `get_ncaa_bracket`
returns an error, not a placeholder bracket, when no game has teams: the 2020
tournaments were cancelled, and future brackets appear once the field is
announced. All `get_ncaa_*` commands except `get_ncaa_schools` ride NCAA's
GraphQL persisted queries, whose hashes rotate when ncaa.com redeploys; when
that happens they say so explicitly, and the ESPN-backed `get_scoreboard` /
`get_schedule` cover the same D1 games.

## Examples

Example 1: Current rankings
User says: "What are the college basketball rankings?"
Actions:
1. Call `get_rankings()`
Result: AP Top 25 and Coaches Poll with rank, previous rank, record, and points

Example 2: Conference standings
User says: "Show me SEC basketball standings"
Actions:
1. Derive season year from `currentDate`
2. Call `get_standings(group=23, season=<derived_year>)` (group 23 = SEC)
Result: SEC standings with W-L records per team

Example 3: Today's scores
User says: "What are today's college basketball scores?"
Actions:
1. Call `get_scoreboard()`
Result: All live and recent CBB games with scores and ranked status

Example 4: Team roster
User says: "Show me Duke's roster"
Actions:
1. Call `get_team_roster(team_id="150")`
Result: Full Duke roster with name, position, jersey number

Example 5: March Madness futures
User says: "Who's favored to win March Madness?"
Actions:
1. Call `get_futures(limit=10)`
Result: Top National Championship contenders with odds values

Example 6: Team statistics
User says: "Show me Duke's team stats"
Actions:
1. Derive season year from `currentDate`
2. Call `get_team_stats(team_id="150", season_year=<derived_year>)`
Result: Duke's season stats by category with value, rank, and per-game averages

## Commands that DO NOT exist — never call these

- ~~`get_odds`~~ / ~~`get_betting_odds`~~ — not available. For prediction market odds, use the polymarket or kalshi skill.
- ~~`search_teams`~~ — does not exist. Use `get_teams` instead.
- ~~`get_box_score`~~ — does not exist. Use `get_game_summary` instead.
- ~~`get_player_ratings`~~ — does not exist. Use `get_player_stats` instead.
- ~~`get_ap_poll`~~ — does not exist. Use `get_rankings` instead.

If a command is not listed in the Commands table above, it does not exist.

## Error Handling

When a command fails, **do not surface raw errors to the user**. Instead:
1. If no events found, check if it's the off-season (CBB runs November–April)
2. If standings are empty without a group filter, try a specific conference
3. During March Madness, the scoreboard will have tournament games
4. Only report failure with a clean message after exhausting alternatives

## Troubleshooting

Error: `sports-skills` command not found
Cause: Package not installed
Solution: Run `pip install sports-skills`

Error: No games found on scoreboard
Cause: CBB is seasonal (November–April); off-season scoreboard will be empty
Solution: Use `get_rankings` or `get_news` year-round; check `get_schedule` for when the season resumes

Error: Too many games returned — hard to filter
Cause: During the season, 50+ games per day are scheduled
Solution: Use `--group` to filter by conference, or `--limit` to cap results

Error: Rankings empty
Cause: Rankings are published weekly during the season (November–March) only
Solution: Use `get_news` in the offseason; rankings resume in November

© machina-sports · MIT · machina-sports/sports-skills

Похожие скиллы

Все скиллы по теме «Данные и базы» →
pp-espn Matt Van Horn Отвечает на вопросы про счёт, таблицы, расписание и бокс-скоры через CLI espn-pp-cli. Десять лиг, очные встречи, поиск по локальной базе. CX Codex +1 3 800установок data-analyst cline Скилл превращает агента в аналитика: уточняет вопрос, пишет ограниченный SQL к ClickHouse и объясняет, что стоит за цифрой. CX Codex +1 2 200установок data-feeds brightdata Достаёт структурированные данные с известных сайтов через готовые скраперы Bright Data. Пригодится, когда нужен чистый JSON, а не сырой HTML. CX Codex +1 415установок cx-data-pipeline coralogix Скилл для настройки парсинга, обогащения и Events2Metrics в Coralogix через CLI. Пригодится, когда логи надо превратить в поля и метрики. CX Codex +1 3 300установок mvp-case-builder OneWave-AI Собирает статистические доводы в пользу игрока в гонке за MVP или наградой: цифры, нарратив, сравнение с прошлыми лауреатами. CX Codex +1 310установок sports-meme-creator OneWave-AI Скилл для генерации мемов про спорт: реакции на свежие матчи, популярные шаблоны, шутки про конкретные команды и игроков. CX Codex +1 303установок

Из того же набора22

tennis-data Скилл для ИИ-агента, который тянет счёты турниров, рейтинги, календарь сезона, профили игроков и новости ATP и WTA через публичные эндпоинты ESPN. CX Codex +1 719установок cfb-data Скилл даёт агенту доступ к данным студенческого футбола США: счёты, таблицы, рейтинги, составы, травмы и статистика. Без ключей API. CX Codex +1 690установок sports-reporter Скилл пишет оригинальные спортивные тексты — превью, отчёты, разборы — на основе реальных данных, которые сам же и запрашивает через CLI. CX Codex +1 685установок nhl-data Скилл загружает статистику, расписание и результаты матчей НХЛ через эндпоинты ESPN и официальный API лиги. Работает без ключей авторизации. CX Codex +1 681установок world-cup Скилл находит данные по матчам чемпионатов мира и связывает агента с каталогом Machina ZeroClick. Пригодится для получения турнирной статистики, прогнозов и готовых отчётов. CX Codex +1 667установок wnba-data Скилл открывает доступ к статистике WNBA через эндпоинты ESPN без API-ключей. Пригодится, чтобы узнавать счёт матчей, составы и показатели игроков прямо в чате. CX Codex +1 665установок volleyball-data Тянет таблицы, расписания, результаты, клубы и новости Dutch volleyball через открытый API Nevobo. Без ключей и настройки. CX Codex +1 578установок xctf-data Тянет профили атлетов NCAA из TFRRS: личные рекорды, год допуска, школа и результаты по сезонам. Плюс новости The Stride Report. CX Codex +1 490установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой