skills/golf-data/SKILL.md
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.
npx skillsauth add machina-sports/sports-skills golf-dataInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Before writing queries, consult references/api-reference.md for endpoints, player IDs, and score formats.
Before first use, check if the CLI is available:
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:
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.
Prefer the CLI — it avoids Python import path issues:
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 calling any data endpoint, verify:
tour parameter is specified (pga, lpga, or eur) — there is no default tour.get_leaderboard results or ESPN golf URLs — never guessed.tour ParameterMost commands require --tour=pga, --tour=lpga, or --tour=eur:
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.
| Command | Description |
|---|---|
| get_leaderboard | Current tournament leaderboard with all golfer scores |
| 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 |
| get_news | Golf news articles |
See references/api-reference.md for full parameter lists and return shapes.
Example 1: Current leaderboard User says: "What's the PGA leaderboard right now?" Actions:
get_leaderboard(tour="pga")
Result: Current tournament leaderboard sorted by position with each golfer's score and round-by-round breakdownExample 2: Season schedule User says: "Show me the LPGA schedule for 2026" Actions:
get_schedule(tour="lpga", year=2026)
Result: Full LPGA tournament calendar with names, dates, and venuesExample 3: Golfer profile User says: "Tell me about Scottie Scheffler" Actions:
get_player_info(player_id="9478", tour="pga")
Result: Scheffler's profile with age, nationality, height/weight, turned pro yearExample 4: Upcoming major User says: "When is the Masters this year?" Actions:
currentDateget_schedule(tour="pga", year=<derived_year>)Example 5: Player scorecard User says: "Show me Scottie Scheffler's scorecard" Actions:
get_scorecard(tour="pga", player_id="9478")
Result: Hole-by-hole scores for each completed round with strokes and score-to-parExample 6: Player season form User says: "How has Rory McIlroy been playing this season?" Actions:
get_player_overview(player_id="3470", tour="pga")
Result: Season stats (scoring average, earnings, wins, top-10s), world ranking, and recent resultsget_tournament_results~~ — does not exist. Use get_leaderboard for current/recent tournament scores.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.
When a command fails, do not surface raw errors to the user. Instead:
get_leaderboard to find current player IDsError: 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)
development
Sports metadata via TheSportsDB free API (key=3). Team logos and badges, player photos, stadium info, league info, and biographical data across 100+ leagues. No API key required, zero config. Use when: user asks for a team logo, crest, badge, banner, jersey, kit, player photo or headshot, stadium info, club description, or wants to search for teams or players by name across sports. Good for enriching responses from other skills with images and visual identifiers. Don't use when: user asks for scores, standings, fixtures, stats, or odds — use the sport-specific skill instead: football-data (soccer), nfl-data (NFL), nba-data (NBA), wnba-data (WNBA), nhl-data (NHL), mlb-data (MLB), tennis-data (tennis), golf-data (golf), cricket-data (cricket), cfb-data (college football), cbb-data (college basketball), fastf1 (F1), volleyball-data (Dutch volleyball), xctf-data (NCAA XC/TF). Don't use for prediction markets — use polymarket or kalshi.
development
Cricket data via ESPN public endpoints and Cricsheet open data — live-ish series scoreboards, standings, match summaries and news (ESPN), plus historical ball-by-ball, player stats, and player registry (Cricsheet, ODC-BY 1.0). Zero config, no API keys. Use when: user asks about cricket scores, IPL/BBL/PSL/international series, points tables, match details, cricket news, ball-by-ball history, or player career stats. 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), golf-data (golf), cfb-data (college football), cbb-data (college basketball), or fastf1 (F1). For betting odds use polymarket or kalshi. For general news use sports-news. Don't use for ICC rankings — no free source exists (v1 limitation).
development
NCAA cross country and track & field athlete data via TFRRS (tfrrs.org) and news via The Stride Report. Fetch athlete profiles including all personal records (PRs), eligibility year, school, full season-by-season results history, and XC/TF news. Zero config, no API keys. Use when: user asks about NCAA cross country, NCAA track and field, college running, TFRRS athlete profiles, personal records, PRs, XC or TF season results, individual athlete performance history, or XC/TF news. Don't use when: user asks about professional track, Diamond League, or other sports — use nfl-data, nba-data, wnba-data, nhl-data, mlb-data, golf-data, cricket-data, cfb-data, cbb-data, tennis-data, fastf1, or volleyball-data. For betting use polymarket or kalshi.
development
Dutch volleyball data (Eredivisie, Topdivisie, Superdivisie, and the full Dutch pyramid) via the Nevobo API. Standings, schedules, results, clubs, tournaments, and news. Zero config, no API keys. Use when: user asks about Dutch volleyball, Eredivisie volleyball, Nevobo, volleyball standings, volleyball match results, volleyball schedules, or Dutch volleyball clubs. 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), golf-data (golf), cricket-data (cricket), cfb-data (college football), cbb-data (college basketball), tennis-data (tennis), or fastf1 (F1). For betting odds use polymarket or kalshi. For general news use sports-news.