notebook-lifecycle について
notebook-lifecycleは、Kaggle CLIでローカルフォルダーとKaggle Notebooksを管理するスキルです。初期化、同期、実行、監視、出力取得、安全な削除を案内します。
主な機能
- 01ノートブックフォルダーの初期化と検証
- 02カーネルのプッシュ、プル、実行
- 03状態、ログ、ファイルの確認
- 04ノートブック出力のダウンロード
- 05確認と秘密情報の取り扱いに関する安全策
活用シーン
- 01ローカルノートブックを準備してKaggleに送信
- 02カーネルを実行して進行状況を監視
- 03指定した出力ファイルを取得
- 04ローカル作業を上書きせずにリモートノートブックを同期
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill notebook-lifecycleインストール後、Claude Code で/notebook-lifecycleを入力して読み込まれたか確認します。
詳細
ノートブックのライフサイクル
概要
ローカルから Kaggle ノートブックを管理する際に、このスキルを使用します。初期化、プッシュ、プル、実行、ステータス/ログ/ファイルの確認、出力のダウンロード、カーネルの削除に対応します。CLI/API での運用では、Kaggle ノートブックと Kaggle カーネルを同じものとして扱います。
クイックリファレンス
| タスク | Kaggle CLI |
|---|---|
| カーネルの一覧表示 | kaggle kernels list |
| フォルダーの初期化 | kaggle kernels init -p <folder> |
| プッシュ/更新/実行 | kaggle kernels push -p <folder> [-t <timeout>] [--accelerator <ID>] |
| ソースとメタデータのプル | kaggle kernels pull <owner/slug> -p <folder> -m |
| ステータス | kaggle kernels status <owner/slug> |
| ファイル | kaggle kernels files <owner/slug> |
| 出力 | kaggle kernels output <owner/slug> -p <folder> -o [--file-pattern <REGEX>] |
| ログ | kaggle kernels logs <owner/slug> |
| 削除 | kaggle kernels delete <owner/slug> --yes |
認証
ライフサイクル関連のコマンドを実行する前に、認証を確認してください。サポートされている公開認証方法には、kaggle auth login、KAGGLE_API_TOKEN、~/.kaggle/kaggle.json、~/.kaggle/access_token があります。レスポンスやログにトークンの内容を出力しないでください。認証のトラブルシューティングでは、秘密情報を公開せずにファイルの有無と権限を確認してください。
標準的なワークフロー
- ローカルフォルダーを初期化するか、内容を確認します。
- プッシュする前に
kernel-metadata.jsonを検証します。スキーマを修正する場合はkernel-metadataを読み込みます。 code_fileで参照されているソースファイルが存在し、kernel_type/languageと一致していることを確認します。- 控えめなタイムアウトとアクセラレーターを選択します。クォータを消費する GPU/TPU の実行前には警告してください。
kaggle kernels push -p <folder>と、必要に応じて-tまたは--acceleratorを指定してプッシュします。- 完了または失敗するまで、
kaggle kernels status <owner/slug>で状態を確認します。 logs、files、outputを使って問題を診断するか、成果物を取得します。
プルと同期
ユーザーがソースとメタデータの両方を必要としている場合は、kaggle kernels pull <owner/slug> -p <folder> -m を使用します。空ではないフォルダーへのプルは、上書きに注意が必要な操作として扱います。ローカルの作業を置き換える前に確認するか、新しいフォルダーを使うよう案内してください。プル後、変更をプッシュし直す前にメタデータとコードを比較します。
出力の取得
すべての出力をダウンロードするには、kaggle kernels output <owner/slug> -p <folder> -o を使用します。大きな出力セットを絞り込むには、--file-pattern <REGEX> を追加します。たとえば、提出ファイルやモデルの成果物を対象にできます。コンペティションに提出する前に、必要なファイルが存在することを確認してください。
長時間実行するサービスやトンネルのノートブックでは、外部から必要な接続情報の取得をログだけに頼らないでください。キープアライブ用のセルの実行中は、ログが空の場合があります。公開トンネル URL などの取得した値を /kaggle/working/ollama_base_url.txt に書き込み、次の方法で取得してください。
kaggle kernels output <owner>/<kernel-slug> -p ./outputs -o --file-pattern "ollama_base_url.txt"
プッシュ後のノートブックのブラウザー URL の導出
kaggle kernels push が成功した後も、Kaggle CLI には標準出力にノートブック URL が含まれるという、文書化された安定した仕様はありません。E2E 管理では、kernel-metadata.json の id フィールドが、文書化された識別子形式 owner/kernel-slug を使用している場合に、ブラウザー URL を導出します。
https://www.kaggle.com/code/<owner>/<kernel-slug>
最初のプッシュが成功する前は、これを URL の予想値と呼びます。プッシュとステータス確認が成功した後は、ノートブック URL と呼びます。
kaggle kernels push -p <notebook-folder>
kaggle kernels status <owner/kernel-slug>
URL を取得するために kaggle kernels push の出力を解析しないでください。CLI のテキストは変更される可能性があります。URL の構築に、一覧表示コマンドの文書化されていない CSV 列を使用しないでください。プライベートノートブックにはサインインまたは適切な権限が必要となる場合があります。また、名前の変更後にスラッグが変わると、以前に導出した URL は古くなる可能性があります。
Python API の相当するメソッド
API 呼び出しの前に KaggleApi().authenticate() を使用します。関連するメソッドには、kernels_push、kernels_status、kernels_pull、kernels_output、kernels_list、kernels_logs、kernels_delete があります。ユーザーが Python による自動化を明示的に求めていない限り、CLI の例を優先してください。
安全確認
kaggle kernels delete <owner/slug> --yes を実行する前に、明示的な確認を必須としてください。削除は取り消せません。また、公開範囲の変更、ローカルフォルダーの上書き、シークレットが含まれている可能性のあるコードのプッシュ、アクセラレーターを使用する長時間の実行の前にも、確認を必須としてください。ノートブックのソースやメタデータにシークレットが見つかった場合は、処理を停止し、プッシュするのではなく Kaggle Secrets に移すことを提案してください。
公開 API の制限事項
ノートブックのスケジュール設定、シークレット管理、共同編集者の管理、ホストされたノートブックのセル単位の編集、Docker イメージの選択、クォータ管理について、公開 API がサポートしていると主張しないでください。適切な場合に限り、Kaggle UI での操作を提案してください。
参照元
- Kaggle kernels CLI:https://github.com/Kaggle/kaggle-api/blob/main/docs/kernels.md
- Kaggle notebooks のドキュメント:https://www.kaggle.com/docs/notebooks
- Kaggle API のドキュメント:https://www.kaggle.com/docs/api