板球数据
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/cricket-data-162w 到 AI 助手中。
技能介绍
要解决的问题
写一个板球数据查询脚本时,最头疼的是数据源不止一个。ESPN 覆盖正在进行的系列赛,Cricsheet 覆盖已结束的历史比赛,两者的 ID 体系完全不通,硬编码 series_id 更是踩坑起点。这个技能把两套后端收敛到同一组命令里,你只需要按场景选对命令。
核心能力
ESPN 后端(实时方向)
get_series:列出当前进行中的系列赛及其 ESPN series ID,是后续所有查询的起点get_scoreboard:按系列赛拉取比赛、比分与状态get_standings:系列赛积分榜get_game_summary:单场比赛详情,含阵容、领跑者、记分卡与场地信息get_news:该系列赛相关的新闻(新闻是系列赛维度的,没有全局 feed)
Cricsheet 后端(历史方向,ODC-BY 1.0)
get_competitions:列出比赛代码,例如iplget_matches:某赛事已完成的比赛,按时间倒序get_match_deliveries:已完成比赛的逐球记录get_player_stats:球员生涯击球与保龄聚合数据find_player:在 Cricsheet 球员库里搜索,返回 ESPNcricinfo ID 映射
典型工作流
看实时系列赛:get_series → 拿到 series_id → get_scoreboard → 需要单场细节再补 get_game_summary。查历史逐球:get_matches 找 match_id → get_match_deliveries。查球员数据:先 find_player 确认名字拼写,再 get_player_stats。查积分榜:get_standings,为空说明这是双边系列赛,没有官方积分榜。
注意点
- ESPN series ID 是系列赛粒度,不是联赛粒度,且每年会变。材料里的
8048只是示例,永远不要硬编码,先用get_series发现 - 两套 ID 空间互不相关:
get_series给的是数字 ESPN ID,get_competitions给的是字母 Cricsheet 代码,唯一桥梁是比赛级match_id(两者相等) - Cricsheet 只有已完赛数据,通常滞后约一天;实时和即将开赛的看 ESPN
get_player_stats要精确名字拼写,"V Kohli"而不是"Virat Kohli"- 没有 ICC 排名,这是 v1 的明确限制;积分榜只对联赛/小组赛有效
- 每个赛事每天首次 Cricsheet 调用会下载 zip,Tests/ODIs/IPL 这类大赛事有几十 MB,缓存 24 小时在
~/.cache/sports-skills/cricsheet/,当天后续调用很快 - 日期支持
YYYYMMDD或YYYY-MM-DD;season是起始年份 scripts/validate_params.sh可以在查询前预校验--competition、--series_id和--date- 转发 Cricsheet 数据时必须保留
Data from Cricsheet (cricsheet.org), ODC-BY 1.0归属字符串
使用场景
- 系列赛进行期间写资讯脚本,需要拉取当前系列赛的比赛比分、状态和相关新闻
- 分析 IPL 某个赛季的历史比赛,需要拿到已完成比赛的逐球记录做统计建模
- 撰写球员生涯数据报告,需要先确认球员在 Cricsheet 的准确名字拼写再拉取击球与保龄聚合数据
- 联赛积分榜发布期,需要拉取当前赛季的积分榜数据做页面渲染
适合人员
- 写体育数据脚本的后端工程师,需要稳定可调用的系列赛与比分查询接口
- 做板球历史数据分析的开发者,要批量拉取逐球数据做回测或可视化
- 维护板球统计站点的数据工程师,需要定期更新球员生涯数据和积分榜
- 搭建 AI agent 的开发者,要让 agent 能按自然语言查询板球赛事与比分