jpskill.com
🛠️ 開発・MCP コミュニティ

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.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して engineering-nba-data.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → engineering-nba-data フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

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] を使用します。

フェーズ2: データ取得

選手/チームのルックアップ (API呼び出しなし):

  • 選手検索には players.find_players_by_full_name('player_name') を使用します。
  • チーム検索には teams.find_teams_by_full_name('team_name') を使用します。
  • どちらも idfull_name、およびその他のメタデータを含む辞書を返します。
  • HTTPリクエストは送信されません。データはパッケージに埋め込まれています。

統計エンドポイント (API呼び出しあり):

  • 目次から正しいエンドポイントを特定します。
  • 必須パラメータでエンドポイントを初期化します: endpoint_class(param1=value1, param2=value2)
  • ドット記法を使用してデータセットにアクセスします: response_object.dataset_name
  • 目的の形式でデータを取得します:
    • JSON文字列には .get_json()
    • 辞書には .get_dict()
    • pandas DataFrameには .get_data_frame()

カスタムリクエスト設定:

  • カスタムヘッダーを設定します: 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のベストプラクティスに従っていること。
  • 結果が期待される構造に対して検証されていること。
  • 関連するドキュメント参照が含まれていること。

参考ドキュメント

一般的なリソースへのクイックアクセス:

エンドポイント固有のドキュメント:

各エンドポイントの詳細なパラメータとデータセット情報については、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_api if not yet installed
  • Import required modules based on task:
    • from nba_api.stats.endpoints import [endpoint_name] for stats.nba.com data
    • from nba_api.stats.static import players, teams for static lookups
    • from 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() or df.to_json()
  • Store in database using pandas .to_sql() method
  • Cache responses to minimize API calls

Rules

  • Required packages: nba_api must 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:

Endpoint-specific documentation:

Refer to docs/nba_api/stats/endpoints/[endpoint_name].md for detailed parameter and dataset information for each endpoint.