kernel-metadata

v2026.09.24

Kaggle `kernel-metadata.json` setup and repair. PROACTIVELY activate for: (1) creating kernel-metadata.json, (2) fixing metadata validation errors, (3) setting `id`, `title`, `code_file`, language, or kernel type, (4) configuring private/public, internet, GPU, or accelerator behavior, (5) attaching dataset_sources, competition_sources, kernel_sources, or model_sources, (6) preparing metadata before `kaggle kernels push`, (7) converting script/notebook metadata. Provides: schema checklist, valid fields, source arrays, defaults, and push-readiness review.

GitHub
Install command
npx skhub add josiahsiegel/kernel-metadata
Markdown
SKILL.md

Kernel Metadata

Overview

Use this skill to create, validate, or repair kernel-metadata.json for Kaggle notebook/kernel pushes. Keep metadata minimal, explicit, and aligned with the local code file.

Required and Common Fields

FieldPurpose
idFull kernel id, usually <owner>/<slug>
id_noNumeric id when available
titleHuman-readable notebook title
code_fileLocal source file to run
languagepython, r, or rmarkdown
kernel_typescript or notebook
is_privateDefaults to true
enable_gpuDefaults to false
enable_internetDefaults to false
dataset_sourcesAttached dataset references
competition_sourcesAttached competition references
kernel_sourcesAttached notebook/kernel references
model_sourcesAttached model references

Validation Procedure

  1. Confirm kernel-metadata.json is valid JSON.
  2. Confirm id uses the expected owner/slug and matches the intended Kaggle notebook.
  3. Confirm code_file exists in the same folder passed to kaggle kernels push -p <folder>.
  4. Confirm language is one of python, r, or rmarkdown.
  5. Confirm kernel_type matches the file and execution mode: notebook for .ipynb, script for scripts.
  6. Confirm privacy and internet settings are deliberate. Default private and no internet are safer.
  7. Confirm source arrays contain valid public Kaggle references and no local filesystem paths.
  8. Load notebook-lifecycle before push or pull workflows.

Source Attachments

Use dataset_sources, competition_sources, kernel_sources, and model_sources to attach Kaggle resources. Prefer exact owner/slug references where available. For competition notebooks, ensure the competition source is attached and rules allow all data/model sources used.

id and Browser URL Construction

The id field identifies the Kaggle notebook/kernel using the documented suffix format owner/kernel-slug. When id is present and valid, agents may derive the human browser URL:

https://www.kaggle.com/code/<owner>/<kernel-slug>

Validate before deriving: id contains exactly one /, both owner and slug are non-empty, id is not a full URL, and the slug comes from the actual id rather than a generated title guess. If id_no is also present, treat it as a stable numeric identifier for API operations where supported, but do not use id_no alone to construct the browser URL.

The derived URL is a practical browser path based on the documented identifier suffix, not a separately documented CLI return value. Private notebooks may require sign-in or permissions, and renames or slug changes can make older derived URLs stale.

Accelerators and Metadata

enable_gpu is a legacy/simple boolean for GPU enablement, while CLI push can specify accelerator IDs with --accelerator <ID>. Valid accelerator IDs include NvidiaTeslaP100, NvidiaTeslaT4, NvidiaTeslaT4Highmem, NvidiaTeslaA100, NvidiaL4, NvidiaL4X1, NvidiaH100, NvidiaRtxPro6000, TpuV38, Tpu1VmV38, TpuV5E8, and TpuV6E8. Warn before high-end accelerators or long timeouts because they can consume quotas.

Safe Defaults

Keep is_private: true unless the user explicitly requests public visibility. Keep enable_internet: false for competition notebooks unless rules and reproducibility needs allow internet. Avoid embedding secrets in metadata or notebook source; recommend Kaggle Secrets for sensitive values.

Unsupported Metadata Fields

Kaggle kernel-metadata.json does not support secrets or arbitrary environment variables. Do not add fake fields such as secrets, environment, or env. For internet/GPU tunnel workloads, verify supported fields instead:

{
  "enable_gpu": true,
  "enable_internet": true
}

Secrets must not be modeled as metadata. If a CLI-pushed committed run needs auth-free connectivity, redesign the workflow to avoid secrets.

Repair Patterns

  • Missing code_file: identify the intended .ipynb, .py, .R, or .Rmd file and set the field explicitly.
  • Wrong language: infer from extension only after confirming with the user when ambiguous.
  • Broken source arrays: remove local paths and replace with Kaggle dataset, competition, kernel, or model references.
  • Visibility changes: require explicit confirmation before changing private to public.

Sources

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

plugins/kaggle-master/skills/kernel-metadata

Default branch

main

Latest commit

5a1b112

Tree SHA

376c8e0