engineering-nba-data
Extracts, transforms, and analyzes NBA statistics using the nba_api Python library. Use when working with NBA player stats, team data, game logs, shot charts, league statistics, or any NBA-related data engineering tasks. Supports both stats.nba.com endpoints and static player/team lookups.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o engineering-nba-data.zip https://jpskill.com/download/19039.zip && unzip -o engineering-nba-data.zip && rm engineering-nba-data.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19039.zip -OutFile "$d\engineering-nba-data.zip"; Expand-Archive "$d\engineering-nba-data.zip" -DestinationPath $d -Force; ri "$d\engineering-nba-data.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
engineering-nba-data.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
engineering-nba-dataフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[スキル名] engineering-nba-data 目標: nba_apiライブラリを使用してNBAの統計データを効率的に抽出し、処理することで、データ分析、レポート作成、およびアプリケーション開発に活用します。
重要: nba_apiライブラリはstats.nba.comのエンドポイントにアクセスします。すべてのデータリクエストは、JSON、辞書、またはpandas DataFrameとして出力できる構造化されたデータセットを返します。
ワークフロー
フェーズ1: セットアップとインストール
- nba_apiのインストール: まだインストールされていない場合は
pip install nba_apiを実行します。 - タスクに基づいて必要なモジュールをインポートします。
- stats.nba.comのデータには
from nba_api.stats.endpoints import [endpoint_name]を使用します。 - 静的ルックアップには
from nba_api.stats.static import players, teamsを使用します。 - 有効なパラメータ値には
from nba_api.stats.library.parameters import [parameter_classes]を使用します。
- stats.nba.comのデータには
フェーズ2: データ取得
選手/チームのルックアップ (API呼び出しなし):
- 選手検索には
players.find_players_by_full_name('player_name')を使用します。 - チーム検索には
teams.find_teams_by_full_name('team_name')を使用します。 - どちらも
id、full_name、およびその他のメタデータを含む辞書を返します。 - HTTPリクエストは送信されません。データはパッケージに埋め込まれています。
統計エンドポイント (API呼び出しあり):
- 目次から正しいエンドポイントを特定します。
- 必須パラメータでエンドポイントを初期化します:
endpoint_class(param1=value1, param2=value2) - ドット記法を使用してデータセットにアクセスします:
response_object.dataset_name - 目的の形式でデータを取得します:
- JSON文字列には
.get_json() - 辞書には
.get_dict() - pandas DataFrameには
.get_data_frame()
- JSON文字列には
カスタムリクエスト設定:
- カスタムヘッダーを設定します:
endpoint_class(player_id=123, headers=custom_headers) - プロキシを設定します:
endpoint_class(player_id=123, proxy='127.0.0.1:80') - タイムアウトを設定します:
endpoint_class(player_id=123, timeout=100)(秒単位)
フェーズ3: データ処理
- エンドポイントのレスポンスから特定のデータセットを抽出します。
- pandasを使用して、集計、フィルタリング、結合のためにデータを変換します。
- 必要に応じてネストされたデータ構造を正規化します。
- 単一のエンドポイントによって返される複数のデータセットを処理します。
フェーズ4: 出力と保存
- CSVへのエクスポート:
df.to_csv('output.csv', index=False) - JSONへのエクスポート:
.get_json()またはdf.to_json()を使用します。 - pandasの
.to_sql()メソッドを使用してデータベースに保存します。 - API呼び出しを最小限に抑えるためにレスポンスをキャッシュします。
ルール
- 必須パッケージ:
nba_apiは使用前にインストールされている必要があります。 - 静的優先: API呼び出しを行う前に、常に静的ルックアップ (players/teams) を使用してIDを取得してください。
- パラメータ検証: 有効なパラメータ値については parameters.md を参照してください。
- エンドポイント選択: 正しいエンドポイントを見つけるには 目次 を確認してください。
- レート制限: APIのレート制限に注意し、可能な場合はデータをキャッシュしてください。
- エラー処理: ネットワーク障害を処理するために、API呼び出しをtry-exceptブロックで囲んでください。
- データ形式: ダウンストリームの要件に基づいて、JSON、dict、またはDataFrameをいつ使用するかを把握してください。
- シーズン形式: シーズンは
YYYY-YY形式 (例:2019-20) を使用します。 - リーグID: NBA=
00、ABA=01、WNBA=10、G-League=20
受け入れ基準
- 適切なエンドポイントまたは静的ソースからデータが正常に取得されていること。
- ドキュメントに基づいて正しいパラメータが使用されていること。
- 意図されたユースケースに合わせてデータが適切にフォーマットされていること。
- API障害に対するエラー処理が実装されていること。
- コードがPythonのベストプラクティスに従っていること。
- 結果が期待される構造に対して検証されていること。
- 関連するドキュメント参照が含まれていること。
参考ドキュメント
一般的なリソースへのクイックアクセス:
- 目次 - 完全なドキュメントインデックス
- 例 - エンドポイントと静的データの使用例
- パラメータ - 有効なパラメータ値とパターン
- エンドポイントデータ構造 - レスポンス形式とメソッド
- 選手 - 静的選手ルックアップ関数
- チーム - 静的チームルックアップ関数
- HTTPライブラリ - HTTPリクエストの詳細
エンドポイント固有のドキュメント:
各エンドポイントの詳細なパラメータとデータセット情報については、docs/nba_api/stats/endpoints/[endpoint_name].md を参照してください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Goal: Extract and process NBA statistical data efficiently using the nba_api library for data analysis, reporting, and application development.
IMPORTANT: The nba_api library accesses stats.nba.com endpoints. All data requests return structured datasets that can be output as JSON, dictionaries, or pandas DataFrames.
Workflow
Phase 1: Setup and Installation
- Install nba_api:
pip install nba_apiif not yet installed - Import required modules based on task:
from nba_api.stats.endpoints import [endpoint_name]for stats.nba.com datafrom nba_api.stats.static import players, teamsfor static lookupsfrom nba_api.stats.library.parameters import [parameter_classes]for valid parameter values
Phase 2: Data Retrieval
For Player/Team Lookups (No API Calls):
- Use
players.find_players_by_full_name('player_name')for player searches - Use
teams.find_teams_by_full_name('team_name')for team searches - Both return dictionaries with
id,full_name, and other metadata - No HTTP requests are sent; data is embedded in the package
For Stats Endpoints (API Calls):
- Identify the correct endpoint from table of contents
- Initialize endpoint with required parameters:
endpoint_class(param1=value1, param2=value2) - Access datasets using dot notation:
response_object.dataset_name - Retrieve data in desired format:
.get_json()for JSON string.get_dict()for dictionary.get_data_frame()for pandas DataFrame
Custom Request Configuration:
- Set custom headers:
endpoint_class(player_id=123, headers=custom_headers) - Set proxy:
endpoint_class(player_id=123, proxy='127.0.0.1:80') - Set timeout:
endpoint_class(player_id=123, timeout=100)(in seconds)
Phase 3: Data Processing
- Extract specific datasets from endpoint responses
- Transform data using pandas for aggregations, filtering, joins
- Normalize nested data structures as needed
- Handle multiple datasets returned by single endpoint
Phase 4: Output and Storage
- Export to CSV:
df.to_csv('output.csv', index=False) - Export to JSON: Use
.get_json()ordf.to_json() - Store in database using pandas
.to_sql()method - Cache responses to minimize API calls
Rules
- Required packages:
nba_apimust be installed before use - Static first: Always use static lookups (players/teams) for ID retrieval before making API calls
- Parameter validation: Reference parameters.md for valid parameter values
- Endpoint selection: Check table of contents to find the correct endpoint
- Rate limiting: Be mindful of API rate limits; cache data when possible
- Error handling: Wrap API calls in try-except blocks to handle network failures
- Data formats: Know when to use JSON, dict, or DataFrame based on downstream requirements
- Season format: Seasons use format
YYYY-YY(e.g.,2019-20) - League IDs: NBA=
00, ABA=01, WNBA=10, G-League=20
Acceptance Criteria
- Data retrieved successfully from appropriate endpoint or static source
- Correct parameters used based on documentation
- Data formatted appropriately for intended use case
- Error handling implemented for API failures
- Code follows Python best practices
- Results validated against expected structure
- Documentation references included where relevant
Reference Documentation
Quick access to common resources:
- Table of Contents - Full documentation index
- Examples - Usage examples for endpoints and static data
- Parameters - Valid parameter values and patterns
- Endpoints Data Structure - Response format and methods
- Players - Static player lookup functions
- Teams - Static team lookup functions
- HTTP Library - HTTP request details
Endpoint-specific documentation:
Refer to docs/nba_api/stats/endpoints/[endpoint_name].md for detailed parameter and dataset information for each endpoint.