nutmeg-store について
nutmeg-storeは、サッカーデータの保存形式、プロジェクト構成、公開方法を選ぶためのスキルです。規模や目的に応じて案内し、研究成果のパッケージでは生データを含めるか制御できます。
主な機能
- 01規模に応じた保存方法の選択
- 02サッカーデータのディレクトリ構成
- 03ダッシュボードや静的サイトの公開方法
- 04データ共有方法の提案
- 05生データを制御できる研究成果の梱包
- 06目的に応じたコストの注意点
活用シーン
- 01サッカー分析データの形式選定
- 02ダッシュボードや静的ビジュアルの公開
- 03共同作業者とのデータセット共有
- 04レビューや引き継ぎ用の研究成果の梱包
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ withqwerty/ nutmeg --skill nutmeg-storeインストール後、Claude Code で/nutmeg-storeを入力して読み込まれたか確認します。
詳細
保存
ユーザーがサッカーデータの保存形式、保存先、公開方法を選べるよう支援します。
正確性
プロバイダー固有の事実(ID、エンドポイント、スキーマ、座標、レート制限)に関する質問に答える前に、${CLAUDE_PLUGIN_ROOT}/docs/accuracy-guardrail.md を読み、その指示に従ってください。必ず search_docs を使用してください。学習データをもとに推測してはいけません。
まずプロフィールを確認
.nutmeg.user.md を読みます。存在しない場合は、妥当な既定値(Python と pandas、中級レベル)を使用して続行し、最後に /nutmeg のセットアップを実行するよう提案してください。
保存形式の選択ツリー
小規模プロジェクト(100MB 未満、ユーザー 1 人)
| 形式 | 最適な用途 | ツール |
|---|---|---|
| JSON | 生イベントデータ、API レスポンス | あらゆる言語 |
| CSV | 表形式の統計データ、共有のしやすさ | スプレッドシート、pandas、R |
| Parquet | 列指向分析、高速なクエリ | polars、pandas、DuckDB、Arrow |
| SQLite | リレーショナルクエリ、複数のテーブル | あらゆる言語、DB ブラウザーツール |
推奨: 生データには JSON、処理済みデータには Parquet から始めましょう。
中規模プロジェクト(100MB ~ 10GB)
| 形式 | 最適な用途 | 備考 |
|---|---|---|
| Parquet ファイル | 分析ワークロード | JSON より 5~10 倍小さく、高速な列指向読み込み |
| DuckDB | ローカルファイルでの SQL 分析 | Parquet/CSV を直接クエリでき、サーバーは不要 |
| SQLite | 結合を伴うリレーショナルデータ | 単一ファイルで移植性があり、ACID に準拠 |
推奨: 保存には Parquet、クエリには DuckDB を使用しましょう。
大規模プロジェクト(10GB 超、複数ユーザー)
| ソリューション | 最適な用途 | 費用 |
|---|---|---|
| PostgreSQL | 本番アプリ、複雑なクエリ | セルフホストは無料、マネージドホスティングは有料 |
| BigQuery | 大規模な分析クエリ | 無料枠の後はクエリごとに課金 |
| Cloudflare R2 | オブジェクトストレージ(生ファイル) | 無料枠の後は GB ごとに課金 |
| S3 / GCS | 大規模なオブジェクトストレージ | GB ごとに課金 |
価格と無料枠は変更されます。金額を提示する前に、プロバイダーの最新の料金ページを確認してください。
ディレクトリ構成
サッカーデータプロジェクトには、次の構成を推奨します。
project/
data/
raw/ # Untouched API/scrape responses
statsbomb/
events/
matches.json
fbref/
2024/
processed/ # Cleaned, transformed data
events.parquet
shots.parquet
passes.parquet
derived/ # Computed metrics
xg_model.parquet
passing_networks/
notebooks/ # Analysis notebooks
scripts/ # Data pipeline scripts
outputs/ # Charts, reports, exports
.env # API keys (gitignored)
.nutmeg.user.md # Nutmeg profile
公開と共有
インタラクティブダッシュボード
| プラットフォーム | 言語 | 費用 | 備考 |
|---|---|---|---|
| Streamlit | Python | 無料(コミュニティクラウド) | サッカー分析で最も人気があります。GitHub からデプロイできます |
| Observable | JavaScript | 無料枠あり | D3.js の可視化に最適です。ノートブック + Framework |
| Shiny | R | 無料枠あり(shinyapps.io) | R エコシステムとの統合 |
| Gradio | Python | 無料(HuggingFace Spaces) | ML モデルのデモをすばやく作成できます |
静的サイト
| プラットフォーム | 備考 |
|---|---|
| GitHub Pages | 無料。静的なグラフ(D3、matplotlib のエクスポート)に適しています |
| Cloudflare Pages | 無料。GH Pages より高速で、機能も充実しています |
| Vercel | 無料枠あり。Next.js/Astro サイトに適しています |
データの共有
| 方法 | 最適な用途 |
|---|---|
| GitHub リポジトリ | 小規模なデータセット(100MB 未満)、コードとデータをまとめて管理 |
| GitHub Releases | 大きなファイル(GitHub の最新のサイズ制限を確認してください) |
| Kaggle Datasets | コミュニティでの共有、見つけやすさ、無料 |
| HuggingFace Datasets | ML 向け、バージョン管理、無料 |
研究プロジェクトの引き継ぎ
研究プロジェクト(research/.active が存在する)の成果をチームメイト、レビュアー、またはクライアントに引き継ぐため、python3 "${CLAUDE_PLUGIN_ROOT}/core/nutmeg.py" bundle --raw no(または --raw yes)でパッケージ化します。その都度、必ずユーザーにどちらを選ぶか確認してください。
--raw noは生データ(プロジェクトのdata/、実行出力、図のスナップショット)を含めず、ハッシュで一覧表示します。ライセンス対象のプロバイダーデータやクラブのデータを扱う場合に安全です。--raw yesは生データを含めます。ユーザーにデータを共有する権利がある場合に限ります。確認画面にはチームのライセンスに関する注記が表示されます。
バンドルには必ず、質問、計画、台帳、受領記録、出力、コードを含む実行記録、データマニフェスト、環境(ロックファイル、または Python のバージョンとパッケージ一覧)が含まれます。
SNS/コンテンツ
| 出力 | ツール | 備考 |
|---|---|---|
| 静的チャート | matplotlib, ggplot2, D3.js | PNG/SVG としてエクスポート |
| アニメーション付きチャート | matplotlib.animation, D3 transitions | GIF/MP4 としてエクスポート |
| Twitter/X のスレッド | チャート画像 + 代替テキスト | アクセシビリティが重要です |
| ブログ記事 | Markdown + 埋め込みチャート | GitHub Pages, Medium, Substack |
コストへの配慮
ユーザーの .nutmeg.user.md の目標に基づき、コストに関する注意を促します:
- 探索/学習: すべて無料で利用できます。StatsBomb のオープンデータ + Jupyter/Colab + GitHub Pages。
- コンテンツ作成: Streamlit Community Cloud は無料です。Cloudflare Pages は無料です。
- プロフェッショナル用途: 商用データへのアクセスを予算に含めます。プロバイダーの料金は交渉によって決まるため、具体的な金額は提示しないでください。
- 製品: データベースのホスティング(月額 7~50 ドル)。データライセンス費用は別途検討してください。