Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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-dat
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-18 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-16 | ✓→✓ | = Same ✓ | 27% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 140% | 0% |
| case-09 | ✓→✓ | = Same ✓ | 148% | 0% |
Before writing queries, consult references/api-reference.md for endpoints, player IDs, and score formats.
Before first use, check if the CLI is available:
bashwhich 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:
bashpython3 --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:
bashsports-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 breakdown
Example 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 venues
Example 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 year
Example 4: Upcoming major User says: "When is the Masters this year?" Actions:
currentDateget_schedule(tour="pga", year=<derived_year>)Result: Masters date, course (Augusta National), and tournament ID
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-par
Example 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 results
get_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)
Other measured skills in the registry, with their headline benchmark lift.