From machina-sports-sports-skills
Fetches ATP/WTA tennis data from ESPN public endpoints: tournament scores, calendars, player rankings, profiles, news. CLI commands like get_scoreboard, get_rankings for tennis queries.
npx claudepluginhub joshuarweaver/cascade-data-analytics --plugin machina-sports-sports-skillsThis skill uses the workspace's default tool permissions.
Before writing queries, consult `references/api-reference.md` for endpoints, ID conventions, and data shapes.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
Before writing queries, consult references/api-reference.md for endpoints, ID conventions, and data shapes.
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 calling any data endpoint, verify:
tour parameter is specified (atp or wta) — there is no default.currentDate — never hardcoded.tour ParameterMost commands require --tour=atp or --tour=wta:
If the user doesn't specify, ask which tour or show both by calling the command twice.
| Command | Description |
|---|---|
get_scoreboard | Live/recent tournament scores for a tour |
get_rankings | ATP or WTA player rankings |
get_calendar | Full season tournament calendar |
get_player_info | Individual tennis player profile |
See references/api-reference.md for full parameter lists and return shapes.
get_scoreboard --tour=<atp|wta>get_player_info --player_id=<id>.get_rankings --tour=<atp|wta> --limit=20get_calendar --tour=<atp|wta> --year=<year>Example 1: Live matches User says: "What ATP matches are happening right now?" Actions:
get_scoreboard(tour="atp")
Result: Current tournament matches organized by round with scores and statusExample 2: Women's rankings User says: "Show me the WTA rankings" Actions:
get_rankings(tour="wta", limit=20)
Result: Top 20 WTA players with rank, name, points, and trendExample 3: Upcoming Grand Slam date User says: "When is the French Open this year?" Actions:
currentDateget_calendar(tour="atp", year=<derived_year>)get_matchesget_scoreboard for current match scores.get_drawget_head_to_headget_standingsget_rankings, not standings.If a command is not listed in the Commands table above, it does not exist.
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