mcpField
G
golf-data

golf-data

github.com/machina-sports其他261751 次安装今天更新
代码仓库

关于 golf-data

golf-data 是通过 sports-skills 命令行工具查询 PGA、LPGA 和 DP World Tour 数据的技能,提供锦标赛、球员、赛程和新闻信息,查询时需指定巡回赛。

主要功能

  1. 01获取锦标赛排行榜
  2. 02查看赛季锦标赛日程
  3. 03查询球员资料和赛季概览
  4. 04获取逐洞记分卡
  5. 05阅读高尔夫新闻

适用场景

  1. 01查看当前锦标赛成绩
  2. 02查找巡回赛日程中的日期和场地
  3. 03了解球员赛季数据
  4. 04查看已完成轮次的逐洞成绩

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/machina-sports/sports-skills --skill golf-data

安装后在 Claude Code 中输入/golf-data确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api-reference.md
majors.md
player-ids.md
scripts/
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 排行榜是什么情况?” 操作:

  1. 调用 get_leaderboard(tour="pga") 结果:按名次排序的当前锦标赛排行榜,包含每位球员的得分和逐轮明细

示例 2:赛季日程 用户说:“给我看看 2026 年 LPGA 日程” 操作:

  1. 调用 get_schedule(tour="lpga", year=2026) 结果:完整的 LPGA 锦标赛日历,包含名称、日期和场地

示例 3:球员资料 用户说:“介绍一下 Scottie Scheffler” 操作:

  1. 调用 get_player_info(player_id="9478", tour="pga") 结果:Scheffler 的个人资料,包含年龄、国籍、身高/体重和转为职业球员的年份

示例 4:即将举行的大满贯赛事 用户说:“今年的 Masters 是什么时候?” 操作:

  1. 从 currentDate 推导年份
  2. 调用 get_schedule(tour="pga", year=<derived_year>)
  3. 在结果中搜索 "Masters Tournament" 结果:Masters 的日期、球场(Augusta National)和锦标赛 ID

示例 5:球员记分卡 用户说:“给我看看 Scottie Scheffler 的记分卡” 操作:

  1. 调用 get_scorecard(tour="pga", player_id="9478") 结果:每个已完成轮次的逐洞得分,包含击球数和相对标准杆得分

示例 6:球员赛季状态 用户说:“Rory McIlroy 这个赛季表现如何?” 操作:

  1. 调用 get_player_overview(player_id="3470", tour="pga") 结果:赛季数据(平均杆数、奖金、冠军数、前 10 名次数)、世界排名和近期成绩

不存在的命令 — 绝不要调用这些命令

  • get_tournament_results — 不存在。请使用 get_leaderboard(对于已结束的赛事,使用 get_schedule 返回的 event_id)。
  • get_rankings — 不存在。此 API 不提供 FedEx Cup/世界排名。个人排名请使用 get_player_overview。
  • get_odds / get_betting_odds — 不可用。要查询预测市场赔率,请使用 polymarket 或 kalshi skill。
  • search_player — 不存在。请使用 get_leaderboard 查找当前参赛阵容中的球员 ID。

如果某个命令未列在上方的 Commands 表中,则该命令不存在。

错误处理

命令失败时,不要向用户展示原始错误。请改为:

  1. 如果当前没有正在进行的赛事,请告知用户,并建议查看赛程
  2. 如果球员 ID 有误,请建议使用 get_leaderboard 查找当前球员 ID
  3. 穷尽替代方案后,再用清晰易懂的消息说明失败

故障排除

错误:找不到 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)

评论

支持 Markdown