关于 golf-data
golf-data 是通过 sports-skills 命令行工具查询 PGA、LPGA 和 DP World Tour 数据的技能,提供锦标赛、球员、赛程和新闻信息,查询时需指定巡回赛。
主要功能
- 01获取锦标赛排行榜
- 02查看赛季锦标赛日程
- 03查询球员资料和赛季概览
- 04获取逐洞记分卡
- 05阅读高尔夫新闻
适用场景
- 01查看当前锦标赛成绩
- 02查找巡回赛日程中的日期和场地
- 03了解球员赛季数据
- 04查看已完成轮次的逐洞成绩
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ machina-sports/ sports-skills --skill golf-data安装后在 Claude Code 中输入/golf-data确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api-reference.mdmajors.mdplayer-ids.mdscripts/validate_params.sh详细介绍
高尔夫数据(PGA / LPGA / DP World Tour)
编写查询前,请查阅 references/api-reference.md,了解端点、球员 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 golf get_leaderboard --tour=pga
sports-skills golf get_schedule --tour=pga --year=2026
sports-skills golf get_news --tour=pga
重要:执行任何查询前
重要:调用任何数据端点前,请确认:
- 已指定
tour参数(pga、lpga或eur)——没有默认巡回赛。 - 球员 ID 来自
get_leaderboard结果或 ESPN 高尔夫 URL,绝不可猜测。
重要:高尔夫不是团体运动
- 锦标赛,而非比赛:每场赛事都是为期多天的锦标赛(通常为 4 轮,从周四到周日)。
- 个人运动员:排行榜上有 72–147 名高尔夫球员,而不是 2 支队伍。
- 相对标准杆的得分:得分是类似 "-17"、"E"(平标准杆)、"+2" 的字符串,而非总分。
- 每周一场赛事:与团体运动不同,每个巡回赛每周只有一场锦标赛。
- 没有排名端点:无法通过此 API 获取 FedEx Cup 排名。
tour 参数
大多数命令都需要 --tour=pga、--tour=lpga 或 --tour=eur:
- PGA:PGA Tour(男子职业高尔夫)
- LPGA:LPGA Tour(女子职业高尔夫)
- EUR:DP World Tour(前身为 European Tour)
如果用户未指定,则默认使用 pga。如果用户说“女子高尔夫”或“LPGA”,则使用 lpga。如果提到 European Tour 或 DP World Tour,则使用 eur。
命令
| 命令 | 说明 |
|---|---|
get_leaderboard | 锦标赛排行榜,包含所有球员的得分(当前赛事,或通过 event_id / date 指定) |
get_schedule | 完整赛季的锦标赛日程 |
get_player_info | 个别球员资料 |
get_player_overview | 详细概览,包含赛季数据、排名和近期成绩 |
get_scorecard | 球员逐洞记分卡(当前赛事,或通过 event_id / date 指定) |
get_news | 高尔夫新闻文章 |
完整参数列表和返回结构请参阅 references/api-reference.md。
示例
示例 1:当前排行榜 用户说:“现在 PGA 排行榜是什么情况?” 操作:
- 调用
get_leaderboard(tour="pga")结果:按名次排序的当前锦标赛排行榜,包含每位球员的得分和逐轮明细
示例 2:赛季日程 用户说:“给我看看 2026 年 LPGA 日程” 操作:
- 调用
get_schedule(tour="lpga", year=2026)结果:完整的 LPGA 锦标赛日历,包含名称、日期和场地
示例 3:球员资料 用户说:“介绍一下 Scottie Scheffler” 操作:
- 调用
get_player_info(player_id="9478", tour="pga")结果:Scheffler 的个人资料,包含年龄、国籍、身高/体重和转为职业球员的年份
示例 4:即将举行的大满贯赛事 用户说:“今年的 Masters 是什么时候?” 操作:
- 从
currentDate推导年份 - 调用
get_schedule(tour="pga", year=<derived_year>) - 在结果中搜索 "Masters Tournament" 结果:Masters 的日期、球场(Augusta National)和锦标赛 ID
示例 5:球员记分卡 用户说:“给我看看 Scottie Scheffler 的记分卡” 操作:
- 调用
get_scorecard(tour="pga", player_id="9478")结果:每个已完成轮次的逐洞得分,包含击球数和相对标准杆得分
示例 6:球员赛季状态 用户说:“Rory McIlroy 这个赛季表现如何?” 操作:
- 调用
get_player_overview(player_id="3470", tour="pga")结果:赛季数据(平均杆数、奖金、冠军数、前 10 名次数)、世界排名和近期成绩
不存在的命令 — 绝不要调用这些命令
— 不存在。请使用get_tournament_resultsget_leaderboard(对于已结束的赛事,使用get_schedule返回的event_id)。— 不存在。此 API 不提供 FedEx Cup/世界排名。个人排名请使用get_rankingsget_player_overview。/get_odds— 不可用。要查询预测市场赔率,请使用 polymarket 或 kalshi skill。get_betting_odds— 不存在。请使用search_playerget_leaderboard查找当前参赛阵容中的球员 ID。
如果某个命令未列在上方的 Commands 表中,则该命令不存在。
错误处理
命令失败时,不要向用户展示原始错误。请改为:
- 如果当前没有正在进行的赛事,请告知用户,并建议查看赛程
- 如果球员 ID 有误,请建议使用
get_leaderboard查找当前球员 ID - 穷尽替代方案后,再用清晰易懂的消息说明失败
故障排除
错误:找不到 sports-skills 命令
原因:未安装软件包
解决方案:运行 pip install sports-skills
错误:排行榜中没有正在进行的赛事
原因:高尔夫赛事在周四至周日举行;赛事间歇期,排行榜可能不会显示正在进行的赛事
解决方案:调用 get_schedule(tour="pga") 查找下一场即将举行的赛事
错误:回合数据有限 — 分数为空
原因:赛事开始前,回合分数为空。赛事期间,只有已完成的回合才会显示分数。
解决方案:通过 get_leaderboard 查看赛事状态和当前回合;等待回合结束
错误:按 ID 找不到球员
原因:球员 ID 不正确,或者该球员不在当前赛事参赛阵容中
解决方案:从 get_leaderboard 结果中获取球员 ID,或查找 ESPN 高尔夫网址(espn.com/golf/player/_/id/<id>/player-name)