はじめに
2026年7月3日、NVIDIAが「NVIDIA Kaggle Plugin」を公開しました。
リポジトリは以下です。
NVIDIA Kaggle Pluginは、Kaggleコンペの情報収集、公開NotebookやDiscussionの調査、Notebookのローカル環境への再現、Submission(提出)などをAIエージェントから実行するためのプラグインです。
本記事では、NVIDIA Kaggle Pluginの概要と、Codex / Claude Code / その他のAgent Skills対応エージェントへの導入方法を整理します。
※ 本記事は2026年8月時点の情報です。
対象読者
- 既にCodexやClaude Codeを使用してKaggleに取り組んでいる方
- コーディングエージェントを使用してKaggleに挑戦したい方
- Agent Skillsを利用したKaggleワークフローに関心がある方
NVIDIA Kaggle Pluginとは
NVIDIA Kaggle Pluginは、Kaggleコンペに関する一連の作業をAIエージェントから実行するためのプラグインです。内部にはnvidia-kaggle-skillというAgent Skillが含まれており、主に以下のワークフローをサポートしています。
| ワークフロー | 内容 |
|---|---|
| Competition context | コンペ概要、ルール、評価指標、開催期間、データセット説明の取得 |
| Solution writeups | 上位解法のWriteupを検索・要約 |
| Discussions | Discussionの取得・検索・参照 |
| Kernels | 公開Notebookの取得・検索・調査 |
| Kernel reproduction | Notebookと依存データのローカル環境への展開 |
| Submission | Kaggle Notebookの実行、Submission、結果確認 |
| Dataset upload | Kaggle Datasetの作成・更新 |
※ Kaggleでは現在「Notebook」という名称が主に使用されていますが、APIやスクリプト内では従来の「Kernel」という名称も使われています。本記事でも、スクリプト名などの固有名詞についてはKernelと表記します。
入力には、Competition slugだけでなく、KaggleのURL、Notebookの参照先、WriteupのURL、ローカルディレクトリなどを指定できます。例えば、以下のように自然言語で依頼できます。
Titanicコンペの概要とデータセット構成を調査してください。
評価の高い公開Notebookも確認し、使用されている手法をまとめてください。
エージェントは依頼内容を解釈し、Skillに含まれるワークフローやスクリプトを選択します。
Kaggleコンペに参加する際は、モデルの実装に加えて、ルールの確認、データセットの把握、過去の解法や公開Notebookの調査が必要です。本プラグインは、これらの調査を一定の手順で実行する用途に適しています。またコンペ参加後の振り返りや過去コンペの調査等でも役に立つと思います。
Skillの構成
nvidia-kaggle-skillの主な構成は以下です。
nvidia-kaggle-skill/
├── SKILL.md
├── research-brief.md
├── writeups.md
├── kernels.md
├── kernel-setup.md
├── submission.md
└── scripts/
各ファイルの役割は以下のとおりです。
| ファイル | 内容 |
|---|---|
SKILL.md |
Skillの適用条件、権限、前提条件、基本ワークフローを定義 |
research-brief.md |
コンペの戦略レポートを作成する際の調査・引用・可視化方針を定義 |
writeups.md |
上位解法のWriteupを取得・要約する手順を定義 |
kernels.md |
公開Notebookを収集・検索・参照する手順を定義 |
kernel-setup.md |
Notebookと依存データをローカル環境へ展開する手順を定義 |
submission.md |
Notebookの実行、Submission、結果確認の手順を定義 |
scripts/ |
Kaggle API、SDK、CLIを操作するPythonスクリプトを格納 |
SKILL.mdが入口となり、依頼内容に応じて個別のMarkdownファイルに定義されたワークフローを参照します。実際のデータ取得やSubmissionは、主にscripts/配下のスクリプトが担当します。
scripts配下の構成
scripts/配下には、コンペ情報の取得、DiscussionやNotebookの検索、Submissionなどを実行するPythonスクリプトが含まれています。大別すると以下の構成です。
scripts/
├── discussions/
├── kernels/
├── fetch_competition_info.py
├── fetch_dataset_info.py
├── fetch_leaderboard_writeups.py
├── fetch_writeup.py
├── discussion_ingest.py
├── discussion_query.py
├── discussion_read.py
├── discussion_db_info.py
├── kernel_ingest.py
├── kernel_query.py
├── kernel_read.py
├── kernel_db_info.py
├── fetch_kernel_score.py
├── fetch_top_kernel_scores.py
├── kernel_archive.py
├── submission_quota.py
├── submit_kernel.py
├── submission_history.py
├── submission_log.py
├── upload_dataset.py
├── runtime.py
├── constants.py
└── db_info.py
コンペ情報・Writeup
| スクリプト | 内容 |
|---|---|
fetch_competition_info.py |
Competition slugまたはURLを受け取り、コンペのDescriptionとEvaluationをMarkdownとして取得 |
fetch_dataset_info.py |
コンペのData Descriptionを取得 |
fetch_leaderboard_writeups.py |
Leaderboardから順位、チーム名、Solution WriteupのURLを取得 |
fetch_writeup.py |
指定されたWriteupの本文を取得し、Markdownとして出力・保存 |
fetch_competition_info.pyとfetch_dataset_info.pyは、Webブラウザで画面を操作するのではなく、Kaggle APIからコンペページの情報を取得します。
fetch_leaderboard_writeups.pyはLeaderboardのチーム情報からWriteupのURLを取得し、fetch_writeup.pyが個別のWriteup本文を取得する構成です。
Discussion
| スクリプト | 内容 |
|---|---|
discussion_ingest.py |
コンペのDiscussionとコメントを取得し、ローカルのSQLiteデータベースへ保存 |
discussion_query.py |
保存済みDiscussionをキーワード、著者、Vote数などで検索 |
discussion_read.py |
指定したDiscussionの本文とコメントを表示 |
discussion_db_info.py |
保存済みコンペ、Discussion件数、著者、Voteなどの統計情報を表示 |
Discussionは、基本的に以下の順序で処理します。
Kaggleから取得
↓
discussion_ingest.py
↓
SQLiteへ保存
↓
discussion_query.pyで検索
↓
discussion_read.pyで本文を確認
取得したDiscussionは、プロジェクト配下のdata/discussions.dbに保存されます。一度ローカルへ取り込むことで、複数の条件による検索や再参照を行いやすくしています。
discussions/ディレクトリには、Discussion APIへのアクセス、SQLite操作、データモデル、保存先パスなどの内部実装が含まれています。
discussions/
├── database.py
├── discussion_client.py
├── models.py
└── paths.py
公開Notebook
| スクリプト | 内容 |
|---|---|
kernel_ingest.py |
コンペに紐づく公開Notebookのメタデータを取得し、ローカルデータベースへ保存 |
kernel_query.py |
保存済みNotebookをキーワード、著者、Vote数などで検索 |
kernel_read.py |
Notebookをダウンロードし、Markdownとコードセルを読みやすい形式で表示 |
kernel_db_info.py |
保存済みNotebookの件数、著者、Voteなどの統計情報を表示 |
fetch_kernel_score.py |
指定したNotebookのPublic Leaderboard Scoreを取得 |
fetch_top_kernel_scores.py |
コンペに紐づく公開NotebookのScoreをまとめて取得・並べ替え |
kernel_archive.py |
Notebookの各VersionとPublic Scoreを調べ、指定Versionまたは最良Versionを保存 |
公開Notebookについても、Discussionと同様に、最初にkernel_ingest.pyでメタデータをローカルへ取り込み、その後kernel_query.pyで検索する構成です。
kernel_read.pyは最新Versionを取得します。過去のVersionや、Public Leaderboard Scoreが最も良いVersionを取得する場合はkernel_archive.pyを使用します。
kernels/ディレクトリには、Kaggle APIクライアント、検索処理、SQLite操作、Notebookの読み取り、Versionの保存などの内部実装が含まれています。
kernels/
├── archive.py
├── database.py
├── kaggle_client.py
├── kaggle_search.py
├── models.py
├── notebook_reader.py
└── paths.py
Notebookのローカル再現
Notebookのローカル再現については、単一のPythonスクリプトがすべてを処理するのではなく、kernel-setup.mdに定義された手順に沿って、エージェントがKaggle CLIを組み合わせて実行します。
主な処理は以下です。
- Notebookと
kernel-metadata.jsonを取得 -
dataset_sources、competition_sources、model_sources、kernel_sourcesを確認 - Competition DataやDatasetなどの依存データをダウンロード
- Notebook内の
/kaggle/input/...参照を調査 - ローカル環境向けのシンボリックリンク作成スクリプトを生成
- 実行手順や未解決の依存関係を
README.mdへ記録
作成されるワークスペースは、概ね以下の構成です。
<workspace>/
├── input/
├── tmp/
├── scripts/
├── working/
├── create_symlinks.sh
└── README.md
Notebook本体だけでなく、参照するCompetition Data、Dataset、Model、別のNotebookの出力なども再現対象となります。
Submission
| スクリプト | 内容 |
|---|---|
submission_quota.py |
1日のSubmission上限、使用数、残り回数を確認 |
submit_kernel.py |
NotebookをKaggleへPushし、実行完了後にコンペへSubmission |
submission_log.py |
Submissionと評価結果をローカルのJSONLファイルへ追記 |
submission_history.py |
ローカルに記録されたSubmission履歴を表示 |
submit_kernel.pyは、以下の処理を連続して実行します。
-
kernel-metadata.jsonと認証情報を検証 - NotebookをKaggleへPush
- Notebookの実行状態をポーリング
- 実行完了後、生成されたファイルをコンペへSubmission
- 評価完了まで状態を確認
- Public Scoreと実行時間を表示
- 実行結果をローカルログへ保存
Submission履歴は、以下にJSON Lines形式で保存されます。
data/submissions.jsonl
ターミナルを閉じた場合や、評価待ちの途中で処理が終了した場合でも、過去の実行内容を確認できます。
ただし、このログに記録されるのはsubmit_kernel.py経由のSubmissionのみです。KaggleのWeb画面や別のCLIから行ったSubmissionは記録されません。また、submission_quota.pyによる残り回数の確認は、Submission前の補助的なチェックです。最終的にはKaggle側の応答が正となります。
Dataset Upload
| スクリプト | 内容 |
|---|---|
upload_dataset.py |
ローカルディレクトリからKaggle Datasetを作成または更新 |
upload_dataset.pyは、以下の処理を行います。
-
KAGGLE_API_TOKENからKaggleユーザー名を取得 - Dataset名から有効なslugを生成
-
dataset-metadata.jsonを作成・更新 - 新規Datasetを作成、または既存DatasetのVersionを追加
- Public/Private設定を反映
- Reader/WriterのCollaboratorを追加
- Kaggle DatasetのURLを出力
既定ではPrivate Datasetとして作成されます。Public Datasetにする場合は、明示的な指定が必要です。
共通処理
| スクリプト | 内容 |
|---|---|
runtime.py |
.envの読み込み、認証、URLの正規化、Kaggle APIクライアント生成、HTMLからMarkdownへの変換などを提供 |
constants.py |
ページサイズ、ポーリング間隔、タイムアウトなどの既定値を定義 |
db_info.py |
DiscussionとNotebookのデータベース統計を表示する共通処理を提供 |
ユーザーがこれらのスクリプトを個別に選択する必要はありません。通常は自然言語で目的を伝え、エージェントがSKILL.mdと各ワークフロー定義を参照して必要なスクリプトを実行します。
事前準備
動作要件は以下です。
- Python 3.10以上
- Codex、Claude CodeなどのAgent Skills対応エージェント
- Kaggleアカウント
KAGGLE_API_TOKEN
Kaggle APIを使用する処理では、環境変数KAGGLE_API_TOKENが必要です。
KAGGLE_API_TOKEN=xxxxx
リポジトリの説明では、環境変数または.envから読み込む構成となっています。
.envを使用する場合は、認証情報をGit管理へ含めないようにします。
.env
また、CompetitionへのSubmissionやDataset Uploadは、Kaggle上のリソースを変更する操作です。特にSubmissionはコンペごとに設定された提出回数を消費します。エージェントに実行させる場合も、実行対象、NotebookのVersion、出力ファイルなどを事前の確認をお勧めします。
Codexでの使用
Codexでは、最初にNVIDIA Kaggle PluginのリポジトリをMarketplaceとして追加します。
codex plugin marketplace add https://github.com/NVIDIA/nvidia-kaggle.git
導入後は、以下のように依頼できます。
nvidia-kaggleスキルを使用して、ARC Prize 2025の概要と
データセット構成を調査してください。
Skillを明示的に呼び出す場合は、以下の形式を使用します。
/nvidia-kaggle:nvidia-kaggle-skill
Home Credit Default Riskコンペの上位公開Notebookを調査し、
使用されているモデル、特徴量、Validation方法をまとめてください。
既存Notebookをローカル環境へ展開する場合は、NotebookのURLを指定します。
次のKaggle Notebookと依存データをダウンロードし、
ローカル環境で実行できるようにセットアップしてください。
https://www.kaggle.com/code/<user>/<notebook>
このワークフローでは、Notebook本体に加えて、Competition DataやNotebookが参照しているKaggle Datasetなども取得対象となります。
ただし、以下の場合は完全に再現できない可能性があります。
- 非公開または削除済みのDatasetが含まれる
- Kaggleアカウントにアクセス権がない
- コンペのルールへ同意していない
- Notebookが外部のデータやサービスに依存している
Claude Codeでの使用
Claude Codeでも、リポジトリをMarketplaceとして追加します。
claude plugin marketplace add https://github.com/NVIDIA/nvidia-kaggle.git
続いて、プラグインをユーザースコープへインストールします。
claude plugin install nvidia-kaggle@nvidia-kaggle --scope user
使用例は以下です。
/nvidia-kaggle:nvidia-kaggle-skill
AI Mathematical Olympiad - Progress Prize 2の
上位3チームのWriteupを調査してください。
各チームの手法と共通点を日本語でまとめてください。
複数の調査を組み合わせたレポートも作成できます。
nvidia-kaggleスキルを使用して、このコンペの戦略レポートを作成してください。
- 評価指標と制約
- 上位解法で使用された技術
- 主要な公開Notebook
- 重要なDiscussion
- ベースラインからの改善案
参照元のURLを記載し、結果はbrief.mdへ保存してください。
リポジトリには、コンペ概要、Discussion、公開Notebook、Writeupを組み合わせたStrategy Briefの実行例が掲載されています。CodexとClaude Codeの両方について出力例を確認できます。
その他のエージェントでの使用
Codex、Claude Code以外でも、Agent Skillsをサポートするエージェントであれば利用できます。
以下は、npx skillsを使用してAntigravityへ追加する例です。
npx skills add https://github.com/NVIDIA/nvidia-kaggle \
--skill nvidia-kaggle-skill \
--agent antigravity
OpenCodeへ追加する場合は以下です。
npx skills add https://github.com/NVIDIA/nvidia-kaggle \
--skill nvidia-kaggle-skill \
--agent opencode
上記はカレントプロジェクトへのインストールです。ユーザー単位で利用する場合は--globalまたは-gを追加します。
npx skills add https://github.com/NVIDIA/nvidia-kaggle \
--skill nvidia-kaggle-skill \
--agent opencode \
--global
npx skillsが対応するエージェントとインストール先は、以下で確認できます。
Agent Skillsへ直接対応している別のエージェントでは、リポジトリをCloneし、Skillディレクトリ全体を所定の場所へコピーする方法もあります。
git clone https://github.com/NVIDIA/nvidia-kaggle.git
cp -R nvidia-kaggle/skills/nvidia-kaggle-skill <your-skills-directory>/
この場合も、SKILL.mdだけでなく、ワークフローを定義するMarkdownファイルとscripts/ディレクトリを含めてコピーする必要があります。
評価
リポジトリには、Skillを使用した場合と使用しなかった場合を比較するEvaluation Reportが公開されています。
評価対象は以下の18タスクです。
- Skillを使用すべきタスク:12件
- Skillを使用すべきでないタスク:6件
評価項目は、Security、Skill execution、Skill efficiency、Accuracy、Goal accuracy、Behavior checkです。
公開されている結果は以下です。括弧内は、Skillを使用しない場合からの改善幅を示します。
| 評価項目 | Claude Code | Codex |
|---|---|---|
| Security | 0.970(+0.014) | 0.917(+0.042) |
| Skill execution | 0.967(+0.308) | 0.837(+0.203) |
| Skill efficiency | 0.917(+0.378) | 0.759(+0.215) |
| Accuracy | 0.939(+0.104) | 0.839(+0.172) |
| Goal accuracy | 0.864(+0.139) | 0.642(+0.107) |
| Behavior check | 0.721(+0.056) | 0.782(+0.170) |
Claude CodeではClaude Opus 4.6、CodexではGPT-5.4が評価に使用されています。すべての評価項目で改善が報告されており、特にSkill executionとSkill efficiencyで比較的大きな改善が見られます。ただし、これはリポジトリで定義された18タスクに対する評価です。すべてのKaggleコンペや実行環境で、同等の結果を保証するものではありません。
おわりに
NVIDIA Kaggle Pluginの概要と導入方法を整理しました。
本プラグインを利用すると、以下のKaggle関連作業をAIエージェントから実行できます。
- コンペ概要やデータセットの調査
- Discussionや公開Notebookの検索
- 上位解法の要約
- Notebookのローカル環境への再現
- CompetitionへのSubmission
- Datasetの作成・更新
特に、コンペ参加初期に必要となる情報収集を、再利用可能なワークフローとして実行できる点が有用です。
一方で、コンペルール、外部データの利用条件、Submissionの内容などは、エージェントの出力だけで判断せず、Kaggle上の原文確認をお勧めします。SubmissionやDataset Uploadのように外部へ変更を加える操作についても同様です。
私はこのpluginを実際のコンペでも使用しており、現時点では情報収集からNotebook操作までの一連のワークフローが動作することを確認できています。今後も実際のコンペを通して、具体的な活用方法を検証していきます。