Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
machina-sports avatar

Tennis Data

  • 564 installs
  • 201 repo stars
  • Updated August 5, 2026
  • machina-sports/sports-skills

tennis-data is a sports analytics skill that explores tennis match results, rankings, and player stats for developers sizing a tennis product opportunity and prioritizing which data signals to support first.

About

tennis-data is a skill from machina-sports/sports-skills for exploring tennis match results, rankings, and player statistics before building a sports product. It helps developers assess data availability, signal richness, and feature priority—such as live scores, head-to-head history, ranking trends, or player biometrics—when scoping an API, dashboard, or content app. Reach for tennis-data during product discovery for tennis verticals, competitive analysis of sports data offerings, or deciding which endpoints and caches a tennis service needs on day one. The skill produces a scoped signal inventory and opportunity assessment rather than production ETL pipelines, making it a validate-phase research aid for sports engineering teams.

  • tennis matches
  • player rankings
  • historical results
  • signal discovery
  • domain scouting

Tennis Data by the numbers

  • 564 all-time installs (skills.sh)
  • +9 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #423 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/machina-sports/sports-skills --skill tennis-data

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs564
repo stars201
Last updatedAugust 5, 2026
Repositorymachina-sports/sports-skills

What tennis data signals should a product support?

Explore tennis match results, rankings, and player stats to size a tennis product opportunity and choose which signals merit first-class support.

Who is it for?

Developers scoping a tennis app or API who need to explore match, ranking, and player data before choosing first-class signals.

Skip if: Teams building non-tennis products or engineers who already have finalized data contracts and production ETL pipelines.

When should I use this skill?

A tennis product idea needs exploration of match results, rankings, and player stats to decide which data signals deserve first-class API or UI support.

What you get

Tennis data signal inventory, ranking and match coverage assessment, and prioritized feature scope for sports products.

  • Tennis data signal inventory
  • Product scope and priority assessment

Files

SKILL.mdMarkdownGitHub ↗

Tennis Data (ATP + WTA)

Before writing queries, consult references/api-reference.md for endpoints, ID conventions, and data shapes.

Quick Start

Prefer the CLI — it avoids Python import path issues:

sports-skills tennis get_scoreboard --tour=atp
sports-skills tennis get_rankings --tour=wta
sports-skills tennis get_calendar --tour=atp --year=2026

CRITICAL: Before Any Query

CRITICAL: Before calling any data endpoint, verify:

  • The tour parameter is specified (atp or wta) — there is no default.
  • Year is derived from the system prompt's currentDate — never hardcoded.

The tour Parameter

Most commands require --tour=atp or --tour=wta:

  • ATP: Men's professional tennis tour
  • WTA: Women's professional tennis tour

If the user doesn't specify, ask which tour or show both by calling the command twice.

Commands

CommandDescription
get_scoreboardLive/recent tournament scores for a tour
get_rankingsATP or WTA player rankings
get_calendarFull season tournament calendar
get_player_infoIndividual tennis player profile

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

Workflows

Live Tournament Check

1. get_scoreboard --tour=<atp|wta> 2. Present current matches by round. 3. For player info, use get_player_info --player_id=<id>.

Rankings Lookup

1. get_rankings --tour=<atp|wta> --limit=20 2. Present rankings with points and trend.

Season Calendar

1. get_calendar --tour=<atp|wta> --year=<year> 2. Filter for specific tournament.

Examples

Example 1: Live matches User says: "What ATP matches are happening right now?" Actions: 1. Call get_scoreboard(tour="atp") Result: Current tournament matches organized by round with scores and status

Example 2: Women's rankings User says: "Show me the WTA rankings" Actions: 1. Call get_rankings(tour="wta", limit=20) Result: Top 20 WTA players with rank, name, points, and trend

Example 3: Upcoming Grand Slam date User says: "When is the French Open this year?" Actions: 1. Derive year from currentDate 2. Call get_calendar(tour="atp", year=<derived_year>) 3. Search results for "Roland Garros" (the French Open's official name) Result: French Open dates, location (Paris), and surface (clay)

Commands that DO NOT exist — never call these

  • ~~get_matches~~ — does not exist. Use get_scoreboard for current match scores.
  • ~~get_draw~~ — does not exist. Tournament draw data is not available via this API.
  • ~~get_head_to_head~~ — does not exist. Head-to-head records are not available via this API.
  • ~~get_standings~~ — does not exist. Tennis uses get_rankings, not standings.

If a command is not listed in the Commands table above, it does not exist.

Troubleshooting

Error: get_scoreboard returns no matches Cause: Tennis tournaments run specific weeks; no tournament may be scheduled this week Solution: Call get_calendar(tour=...) to find when the next event is scheduled

Error: Rankings are empty Cause: Rankings update weekly on Mondays; there may be a brief update window Solution: The command auto-retries previous weeks. If still empty, retry in a few minutes

Error: Player profile fails Cause: Player ID is incorrect Solution: Use get_rankings to find player IDs from the current rankings list, or verify via ESPN tennis URLs

Error: Scores seem delayed or don't update live Cause: Scores update after each set/match is completed, not point-by-point Solution: This is expected behavior. Refresh get_scoreboard periodically for updated set scores

Related skills

How it compares

Pick tennis-data over generic analytics skills when scoping a tennis-specific product and ranking which match, player, and ranking signals to support first.

FAQ

What does the tennis-data skill help developers decide?

The tennis-data skill helps developers explore match results, rankings, and player stats to size a tennis product opportunity. Output is a prioritized signal inventory showing which data domains merit first-class API, cache, or UI support before build starts.

Is tennis-data for production data pipelines?

tennis-data focuses on validate-phase exploration and scoping, not production ETL. Developers use it to assess tennis data richness and feature priority when planning sports apps, dashboards, or content products.

Data Science & MLanalyticspipelines

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.