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

golf-data — скилл для Claude Code: лидерборды и статистика гольфа

Тянет таблицы лидеров, счёты по лункам и расписания турниров PGA, LPGA и DP World Tour через публичные эндпоинты ESPN. Ключи API не нужны.

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

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

Скилл даёт агенту шесть команд: текущий лидерборд турнира, календарь сезона, профиль игрока, его расширенную статистику, счёт по лункам и новости гольфа. Всё это поверх публичного API ESPN, поэтому настраивать ничего не придётся.

Внутри лежит references/api-reference.md с эндпоинтами, ID игроков и форматами счёта — агент сверяется с ним перед запросами. Сам скилл работает через CLI sports-skills, который ставится отдельно: pip install sports-skills. Пакету нужен Python 3.10+, на более старом pip install упадёт с ошибкой версии.

Параметр --tour обязателен: pga, lpga или eur. Если его не передать, запрос не пройдёт. ID гольфистов скилл советует брать из выдачи get_leaderboard, а не придумывать. Гольф устроен иначе, чем командные виды: один турнир в неделю на тур, счёт считается относительно пара строками вида «-17» или «E», а таблицы FedEx Cup здесь нет.

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

  • посмотреть текущую таблицу лидеров турнира
  • узнать расписание турниров PGA на сезон
  • найти профиль гольфиста и его гражданство
  • разобрать счёт игрока по лункам за раунд
  • проверить статистику сезона: средний счёт, победы, топ-10

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

  • Покажи текущий лидерборд PGA
  • Какие турниры LPGA пройдут в 2026 году?
  • Дай статистику сезона для игрока 3470 в туре pga

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

1Через Skills CLI (Vercel)

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

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

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

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

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

Вопросы о golf-data

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

Выполните npx skills add machina-sports/sports-skills --skill golf-data -a claude-code, затем проверьте, что скилл появился в ~/.claude/skills/golf-data/SKILL.md.

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

Отвечает на вопросы о гольфе: лидерборды, расписания, профили и статистика игроков, счёт по лункам, новости. Данные приходят с публичных эндпоинтов ESPN.

Почему запрос без указания тура не работает?

Тур нужно задать явно: pga, lpga или eur. Значения по умолчанию у параметра нет, поэтому без него команда завершится ошибкой.

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

SKILL.md · MIT
---
name: golf-data
description: |
  PGA Tour, LPGA, and DP World Tour golf data via ESPN public endpoints — tournament leaderboards, scorecards, season schedules, golfer profiles/overviews, and news. Zero config, no API keys.

  Use when: user asks about golf scores, tournament leaderboards, scorecards, PGA Tour schedule, golfer profiles, golfer season stats, LPGA results, or golf news.
  Don't use when: user asks about other sports — use football-data (soccer), nfl-data (NFL), nba-data (NBA), wnba-data (WNBA), nhl-data (NHL), mlb-data (MLB), tennis-data (tennis), cricket-data (cricket), cfb-data (college football), cbb-data (college basketball), or fastf1 (F1). For betting odds use polymarket or kalshi. For news use sports-news.
license: MIT
metadata:
  author: machina-sports
  version: "0.1.0"
---

# Golf Data (PGA / LPGA / DP World Tour)

Before writing queries, consult `references/api-reference.md` for endpoints, player IDs, and score formats.

## 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 golf get_leaderboard --tour=pga
sports-skills golf get_schedule --tour=pga --year=2026
sports-skills golf get_news --tour=pga
```

## CRITICAL: Before Any Query

CRITICAL: Before calling any data endpoint, verify:
- The `tour` parameter is specified (`pga`, `lpga`, or `eur`) — there is no default tour.
- Player IDs are obtained from `get_leaderboard` results or ESPN golf URLs — never guessed.

## Important: Golf is Not a Team Sport

- **Tournaments, not games**: Each event is a multi-day tournament (typically 4 rounds, Thu–Sun).
- **Individual athletes**: The leaderboard has 72–147 individual golfers, not 2 teams.
- **Score relative to par**: Scores are strings like "-17", "E" (even), "+2" — not point totals.
- **One event per week**: Unlike team sports, golf has one tournament per week per tour.
- **No standings endpoint**: FedEx Cup standings are not available via this API.

## The `tour` Parameter

Most commands require `--tour=pga`, `--tour=lpga`, or `--tour=eur`:
- **PGA**: PGA Tour (men's professional golf)
- **LPGA**: LPGA Tour (women's professional golf)
- **EUR**: DP World Tour (formerly European Tour)

If the user doesn't specify, default to `pga`. If they say "women's golf" or "LPGA", use `lpga`. If they mention the European Tour or DP World Tour, use `eur`.

## Commands

| Command | Description |
|---|---|
| `get_leaderboard` | Tournament leaderboard with all golfer scores (current, or `event_id` / `date`) |
| `get_schedule` | Full season tournament schedule |
| `get_player_info` | Individual golfer profile |
| `get_player_overview` | Detailed overview with season stats, rankings, recent results |
| `get_scorecard` | Hole-by-hole scorecard for a golfer (current, or `event_id` / `date`) |
| `get_news` | Golf news articles |

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

## Examples

Example 1: Current leaderboard
User says: "What's the PGA leaderboard right now?"
Actions:
1. Call `get_leaderboard(tour="pga")`
Result: Current tournament leaderboard sorted by position with each golfer's score and round-by-round breakdown

Example 2: Season schedule
User says: "Show me the LPGA schedule for 2026"
Actions:
1. Call `get_schedule(tour="lpga", year=2026)`
Result: Full LPGA tournament calendar with names, dates, and venues

Example 3: Golfer profile
User says: "Tell me about Scottie Scheffler"
Actions:
1. Call `get_player_info(player_id="9478", tour="pga")`
Result: Scheffler's profile with age, nationality, height/weight, turned pro year

Example 4: Upcoming major
User says: "When is the Masters this year?"
Actions:
1. Derive year from `currentDate`
2. Call `get_schedule(tour="pga", year=<derived_year>)`
3. Search results for "Masters Tournament"
Result: Masters date, course (Augusta National), and tournament ID

Example 5: Player scorecard
User says: "Show me Scottie Scheffler's scorecard"
Actions:
1. Call `get_scorecard(tour="pga", player_id="9478")`
Result: Hole-by-hole scores for each completed round with strokes and score-to-par

Example 6: Player season form
User says: "How has Rory McIlroy been playing this season?"
Actions:
1. Call `get_player_overview(player_id="3470", tour="pga")`
Result: Season stats (scoring average, earnings, wins, top-10s), world ranking, and recent results

## Commands that DO NOT exist — never call these

- ~~`get_tournament_results`~~ — does not exist. Use `get_leaderboard` (with `event_id` from `get_schedule` for a past tournament).
- ~~`get_rankings`~~ — does not exist. FedEx Cup/world rankings are not available via this API. Use `get_player_overview` for individual rankings.
- ~~`get_odds`~~ / ~~`get_betting_odds`~~ — not available. For prediction market odds, use the polymarket or kalshi skill.
- ~~`search_player`~~ — does not exist. Use `get_leaderboard` to find player IDs from the current field.

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 active tournament, tell the user and suggest checking the schedule
2. If a player ID is wrong, suggest using `get_leaderboard` to find current player IDs
3. 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 active tournament on leaderboard
Cause: Golf tournaments run Thursday–Sunday; between events the leaderboard may show no active tournament
Solution: Call `get_schedule(tour="pga")` to find the next upcoming event

Error: Limited round data — scores are empty
Cause: Before a tournament starts, round scores will be empty. During the tournament, only completed rounds have scores.
Solution: Check `get_leaderboard` for tournament status and current round; wait for rounds to complete

Error: Player not found by ID
Cause: Player ID is incorrect or the player is not in the current tournament field
Solution: Get player IDs from `get_leaderboard` results, or look up ESPN golf URLs (`espn.com/golf/player/_/id/<id>/player-name`)

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

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

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

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

kalshi Скилл даёт агенту доступ к рынкам предсказаний Kalshi: события, серии, контракты, сделки и свечи по спортивным исходам. Пригодится, когда нужны цены-вероятности, а не результаты матчей. CX Codex +1 1 000установок nba-data Скилл для загрузки статистики NBA, счёта матчей и координат бросков через CLI без API-ключей. Пригодится при анализе игр, составов и истории лиги с 1946 года. CX Codex +1 989установок markets Скилл связывает расписания ESPN с рынками прогнозов Kalshi и Polymarket: единые дашборды, сравнение цен и оценка ставки. CX Codex +1 861установок nfl-data Скилл даёт агенту доступ к расписаниям, составам, статистике и play-by-play NFL через публичные эндпоинты ESPN и nflverse. Ключи API не нужны. CX Codex +1 752установок mlb-data Скилл даёт доступ к текущим и архивным данным MLB из ESPN и официального API лиги. Пригодится, когда агенту нужны счета матчей, ростеры, списки травм или метрики бросков. CX Codex +1 737установок tennis-data Скилл для ИИ-агента, который тянет счёты турниров, рейтинги, календарь сезона, профили игроков и новости ATP и WTA через публичные эндпоинты ESPN. CX Codex +1 719установок cfb-data Скилл даёт агенту доступ к данным студенческого футбола США: счёты, таблицы, рейтинги, составы, травмы и статистика. Без ключей API. CX Codex +1 690установок sports-reporter Скилл пишет оригинальные спортивные тексты — превью, отчёты, разборы — на основе реальных данных, которые сам же и запрашивает через CLI. CX Codex +1 685установок

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

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