wnba-data — Claude Code skill: what it does, how to install
Fetches WNBA stats, scores, standings, and rosters via public ESPN endpoints with zero configuration. Useful when you need basketball stats without API keys.
npx skills add machina-sports/sports-skills --skill wnba-data -a claude-codeWhat wnba-data does
This skill connects the assistant to ESPN public endpoints through the sports-skills CLI. It retrieves live scores, conference standings, team rosters, and game schedules without requiring an API key. It also supports detailed box scores, play-by-play feeds, and win probability data for individual matchups.
You must have Python 3.10 or newer, because the underlying CLI will fail to install on older versions. The tool determines the current season from the prompt date, mapping May through October to the active season.
During the offseason between November and April, the scoreboard endpoint returns zero games. Betting odds commands do not exist here, so prediction market data requires separate skills such as Polymarket or Kalshi.
What it helps with
- fetch live and recent WNBA scores
- retrieve conference standings and league leaders
- pull team rosters, injury reports, and recent transactions
- check championship futures and win probability charts
Example prompts for the agent
- What are today's WNBA scores?
- Show me the roster for Indiana Fever
- Show me A'ja Wilson's stats for this season
How to install wnba-data
1Skills CLI (Vercel)
npx skills add machina-sports/sports-skills --skill wnba-data -a claude-code2Manually: put the files in place
~/.claude/skills/wnba-data/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/wnba-data/
1Skills CLI (Vercel)
npx skills add machina-sports/sports-skills --skill wnba-data -a codex2Manually: put the files in place
.agents/skills/wnba-data/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add machina-sports/sports-skills --skill wnba-data -a cursor2Manually: put the files in place
.cursor/skills/wnba-data/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install machina-sports/sports-skills wnba-data2Manually: put the files in place
.github/skills/wnba-data/SKILL.md1Skills CLI (Vercel)
npx skills add machina-sports/sports-skills --skill wnba-data -a gemini-cli2Platform CLI
gemini skills install https://github.com/machina-sports/sports-skills --path skills/wnba-dataManually: put the files in place
.devin/skills/wnba-data/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add machina-sports/sports-skills --skill wnba-data -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about wnba-data
How to install wnba-data in Claude Code?
Run npx skills add machina-sports/sports-skills --skill wnba-data -a claude-code. You also need Python 3.10+ and the package installed via pip install sports-skills.
What does wnba-data do?
It gives your agent direct access to WNBA scores, standings, rosters, and player statistics using public ESPN endpoints.
Are API keys required to use wnba-data?
No API keys are required because it queries public ESPN endpoints. You only need Python 3.10 or newer with the sports-skills package installed.
Source text
SKILL.md · MIT
--- name: wnba-data description: | WNBA data via ESPN public endpoints — scores, standings, rosters, schedules, game summaries, play-by-play, win probability, injuries, transactions, futures, team/player stats, leaders, and news. Zero config, no API keys. Use when: user asks about WNBA scores, standings, team rosters, schedules, game stats, box scores, play-by-play, injuries, transactions, betting futures, team/player statistics, or WNBA news. Don't use when: user asks about NBA (use nba-data), college basketball (use cbb-data), or other sports. license: MIT metadata: author: machina-sports version: "0.1.0" --- # WNBA Data Before writing queries, consult `references/api-reference.md` for endpoints, ID conventions, and data shapes. ## 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 wnba get_scoreboard sports-skills wnba get_standings --season=2025 sports-skills wnba get_teams ``` ## CRITICAL: Before Any Query CRITICAL: Before calling any data endpoint, verify: - Season year is derived from the system prompt's `currentDate` — never hardcoded. - If only a team name is provided, call `get_teams` to resolve the team ID before using team-specific commands. ## Choosing the Season Derive the current year from the system prompt's date (e.g., `currentDate: 2026-02-18` → current year is 2026). - **If the user specifies a season**, use it as-is. - **If the user says "current", "this season", or doesn't specify**: The WNBA season runs May–October. If the current month is May–October, use `season = current_year`. If November–April (offseason), use `season = current_year - 1`. ## Commands | Command | Description | |---|---| | `get_scoreboard` | Live/recent WNBA scores | | `get_standings` | Standings by conference | | `get_teams` | All WNBA teams | | `get_team_roster` | Full roster for a team | | `get_team_schedule` | Schedule for a specific team | | `get_game_summary` | Detailed box score and scoring plays | | `get_leaders` | WNBA statistical leaders | | `get_news` | WNBA news articles | | `get_play_by_play` | Full play-by-play for a game | | `get_win_probability` | Win probability chart data | | `get_schedule` | Schedule for a specific date or season | | `get_injuries` | Injury reports across all teams | | `get_transactions` | Recent transactions | | `get_futures` | Futures/odds markets | | `get_team_stats` | Team statistical profile | | `get_player_stats` | Player statistical profile | See `references/api-reference.md` for full parameter lists and return shapes. ## Examples Example 1: Today's scores User says: "What are today's WNBA scores?" Actions: 1. Call `get_scoreboard()` Result: All live and recent WNBA games with scores and status Example 2: Standings User says: "Show me the WNBA standings" Actions: 1. Derive season year from `currentDate` 2. Call `get_standings(season=<derived_year>)` Result: Eastern and Western conference standings with W-L, PCT, GB Example 3: Team roster User says: "Who's on the Indiana Fever roster?" Actions: 1. Call `get_team_roster(team_id="5")` Result: Full Indiana Fever roster with name, position, jersey number Example 4: Statistical leaders User says: "Show me WNBA statistical leaders" Actions: 1. Derive season year from `currentDate` 2. Call `get_leaders(season=<derived_year>)` Result: Leaders ranked by stat category (points, rebounds, assists, etc.) Example 5: Championship odds User says: "What are the WNBA championship odds?" Actions: 1. Call `get_futures(limit=10)` Result: Top WNBA championship contenders with odds values Example 6: Player statistics User says: "Show me A'ja Wilson's stats" Actions: 1. Derive season year from `currentDate` 2. Call `get_player_stats(player_id="3149391", season_year=<derived_year>)` Result: Season stats by category with value, rank, and per-game averages ## Commands that DO NOT exist — never call these - ~~`get_odds`~~ / ~~`get_betting_odds`~~ — not available. For prediction market odds, use the polymarket or kalshi skill. - ~~`search_teams`~~ — does not exist. Use `get_teams` instead. - ~~`get_box_score`~~ — does not exist. Use `get_game_summary` instead. - ~~`get_player_ratings`~~ — does not exist. Use `get_player_stats` instead. 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. Catch silently and try alternatives 2. If team name given instead of ID, use `get_teams` to find the ID first 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: Team not found by ID Cause: Wrong or outdated ESPN team ID used Solution: Call `get_teams` to get the current list of all WNBA teams with their IDs Error: No data returned for a future game Cause: ESPN only returns data for completed or in-progress games Solution: Use `get_schedule` to see upcoming game details; `get_scoreboard` only covers active/recent games Error: Offseason (November–April) — scoreboard returns 0 events Cause: No games scheduled during the offseason Solution: Use `get_standings(season=<prior_year>)` or `get_news` instead
© machina-sports · MIT · machina-sports/sports-skills