关于 cbb-data
cbb-data 是通过 `sports-skills` 命令行查询大学篮球数据的 skill,涵盖赛况、球队、统计数据和 NCAA 锦标赛信息,并说明赛季选择及球队、联盟 ID 的查询方法。
主要功能
- 01赛况、赛程与排名
- 02球队名单和统计数据
- 03排名、新闻与逐回合记录
- 04覆盖各级别的 NCAA 官方数据
- 05锦标赛对阵表与预测
适用场景
- 01查询大学篮球实时赛况
- 02查看某个联盟的排名
- 03查找球队名单或统计数据
- 04跟进 NCAA 锦标赛结果与预测
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ machina-sports/ sports-skills --skill cbb-data安装后在 Claude Code 中输入/cbb-data确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api-reference.mdconference-ids.mdteam-ids.mdscripts/validate_params.sh详细介绍
大学篮球数据(CBB)
编写查询前,请查阅 references/api-reference.md,了解端点、分区 ID、球队 ID 和数据结构。
设置
首次使用前,检查 CLI 是否可用:
which sports-skills || pip install sports-skills
如果 pip install 因 Python 版本错误而失败,则此软件包需要 Python 3.10 及以上版本。查找兼容的 Python 版本:
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
无需 API 密钥。
快速入门
优先使用 CLI,以避免 Python 导入路径问题:
sports-skills cbb get_scoreboard
sports-skills cbb get_rankings
sports-skills cbb get_standings --group=23
重要:执行任何查询前
重要:调用任何数据端点前,请确认:
- 赛季年份根据系统提示中的
currentDate推导得出,绝不能硬编码。 - 查询排名时,
group参数设为正确的分区 ID(见references/api-reference.md)。 - 如果只提供了球队名称,请使用
get_teams解析球队 ID。
选择赛季
根据系统提示中的日期推导当前年份(例如,currentDate: 2026-02-28 → 当前年份为 2026)。
- 如果用户指定了赛季,按原样使用。
- 如果用户说“当前”“本赛季”,或未指定赛季:CBB 赛季从 11 月持续到 4 月。如果当前月份是 11 月或 12 月,使用
season = current_year + 1。如果是 1 月至 4 月,使用season = current_year。如果是 5 月至 10 月(休赛期),使用season = current_year(最近结束的赛季)。
重要:大学联赛与职业联赛的区别
- 排名按分区统计——使用
group参数筛选 - 排名榜取代球员领跑榜——大学篮球使用 AP Top 25 和 Coaches Poll
- 排名球队在比分板参赛队数据中有一个
rank字段(null = 未排名) - 360 多支 D1 球队——赛季期间每天有许多场比赛(分区赛期间每天 50 场以上)
- 疯狂三月——NCAA 锦标赛在 3 月/4 月举行,共有 68 支球队
命令
| 命令 | 说明 |
|---|---|
get_scoreboard | 实时/近期大学篮球比分 |
get_standings | 按分区查看排名(使用 group 参数) |
get_teams | 所有 360 多支 D1 男子篮球球队 |
get_team_roster | 球队完整名单 |
get_team_schedule | 指定球队的赛程 |
get_game_summary | 详细技术统计和球员数据 |
get_rankings | AP Top 25 和 Coaches Poll 排名 |
get_news | 大学篮球新闻 |
get_play_by_play | 比赛完整逐回合记录 |
get_win_probability | 胜率图表数据 |
get_schedule | 指定日期或赛季的赛程 |
get_futures | 未来赛果/赔率市场(全国锦标赛等) |
get_team_stats | 球队统计资料 |
get_player_stats | 球员统计资料 |
get_ncaa_scoreboard | NCAA 官方比分板——D1、D2 和 D3 |
get_ncaa_schedule | 有比赛的日期(官方索引) |
get_ncaa_game | NCAA 官方比赛信息 |
get_ncaa_boxscore | NCAA 官方技术统计 |
get_ncaa_play_by_play | 官方逐回合记录 |
get_ncaa_bracket | 疯狂三月对阵表及实时比分 |
get_ncaa_schools | NCAA 学校索引(所有级别) |
get_power_index | D1 球队的 BPI(篮球实力指数)评级 |
get_tournament_projections | NCAA 锦标赛预测,包括种子排名、赛区和晋级概率 |
compare_teams | 使用 BPI 评级和赛季统计数据比较两支球队 |
find_upset_candidates | 根据 BPI 与种子排名差异查找可能爆冷的比赛 |
完整的参数列表和返回数据结构请参见 references/api-reference.md。
NCAA 官方后端
get_ncaa_* 命令读取 NCAA 自己的端点(sdataprod.ncaa.com +
ncaa.com)——这些赛事覆盖范围不包含在 ESPN 中:
- 通过
division="d2"/"d3"获取 D2 和 D3 记分牌——ESPN 的大学篮球 覆盖以 D1 为主。 - 现在,两个记分牌默认都会返回 所有 Division I 赛事——由 ESPN
支持的
get_scoreboard/get_schedule以前沿用了 ESPN 未分组时仅显示 Top 25 的默认设置(普通周五只有 1 场比赛,而不是约 24 场)。 显式传入group可指定范围更窄的 ESPN 分组。 - 带实时比分的 官方 March Madness 对阵表:
get_ncaa_bracket。 - 官方比赛详情:
get_ncaa_game、get_ncaa_boxscore、get_ncaa_play_by_play。 - 学校索引(约 1,200 所学校,涵盖所有级别):
get_ncaa_schools。
NCAA 比赛 ID(来自 get_ncaa_scoreboard)与 ESPN 赛事 ID 毫无关联——请按比赛日期和球队名称进行匹配。NCAA 会重新发放比赛 ID,因此请从最新的 get_ncaa_scoreboard 调用中获取,不要将其保存。没有比赛球队时,get_ncaa_bracket 会返回错误,而非占位对阵表:2020 年赛事已取消,未来的对阵表会在参赛队伍公布后生成。除 get_ncaa_schools 外,所有 get_ncaa_* 命令都依赖 NCAA 的 GraphQL 持久化查询,其哈希值会在 ncaa.com 重新部署时轮换;发生这种情况时,命令会明确说明,而由 ESPN 支持的 get_scoreboard /
get_schedule 可覆盖相同的 D1 比赛。
示例
示例 1:当前排名 用户说:“大学篮球排名是多少?” 操作:
- 调用
get_rankings()结果:AP Top 25 和教练投票榜,包含排名、上期排名、战绩和得分
示例 2:联盟排名 用户说:“显示 SEC 篮球排名” 操作:
- 根据
currentDate推算赛季年份 - 调用
get_standings(group=23, season=<derived_year>)(group 23 = SEC) 结果:SEC 排名,包含各队的胜负战绩
示例 3:今日比分 用户说:“今天的大学篮球比分是多少?” 操作:
- 调用
get_scoreboard()结果:所有正在进行和近期的 CBB 比赛,包含比分和排名状态
示例 4:球队阵容 用户说:“显示 Duke 的阵容” 操作:
- 调用
get_team_roster(team_id="150")结果:Duke 的完整阵容,包含姓名、位置和球衣号码
示例 5:March Madness 冠军赔率 用户说:“谁最有希望赢得 March Madness?” 操作:
- 调用
get_futures(limit=10)结果:全国冠军的热门竞争者及其赔率值
示例 6:球队统计数据 用户说:“显示 Duke 的球队统计数据” 操作:
- 根据
currentDate推算赛季年份 - 调用
get_team_stats(team_id="150", season_year=<derived_year>)结果:Duke 按类别划分的赛季统计数据,包含数值、排名和场均数据
不存在的命令——绝不要调用
/get_odds——不可用。要查询预测市场赔率,请使用 polymarket 或 kalshi 技能。get_betting_odds——不存在。请改用search_teamsget_teams。——不存在。请改用get_box_scoreget_game_summary。——不存在。请改用get_player_ratingsget_player_stats。——不存在。请改用get_ap_pollget_rankings。
如果某个命令未列在上方的 Commands 表格中,则该命令不存在。
错误处理
命令失败时,不要向用户展示原始错误。请改为:
- 如果未找到赛事,检查是否处于休赛期(CBB 赛季为 11 月至 4 月)
- 如果未指定分组筛选条件且排名为空,请尝试指定具体联盟
- March Madness 期间,记分牌会显示锦标赛比赛
- 穷尽其他方案后,再用清晰的消息说明失败
故障排除
错误:找不到 sports-skills 命令
原因:未安装软件包
解决方案:运行 pip install sports-skills
错误:记分牌上没有比赛
原因:CBB 具有季节性(11 月至 4 月);休赛期的记分牌将为空
解决方案:全年使用 get_rankings 或 get_news;使用 get_schedule 查看赛季何时恢复
错误:返回的比赛太多,难以筛选
原因:赛季期间,每天安排的比赛超过 50 场
解决方案:使用 --group 按联盟筛选,或使用 --limit 限制结果数量
错误:排名为空
原因:排名仅在赛季期间(11 月至 3 月)每周发布
解决方案:休赛期使用 get_news;排名将于 11 月恢复