Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add machina-sports/sports-skills --skill wnba-data -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/wnba-data/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/wnba-data/

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

Similar skills

All skills for Data and databases →

From the same set22

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor