plugins/kaggle-master/skills/kernel-metadata/SKILL.md
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.
npx skillsauth add JosiahSiegel/claude-plugin-marketplace kernel-metadataInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
| Field | Purpose |
|---|---|
| id | Full kernel id, usually <owner>/<slug> |
| id_no | Numeric id when available |
| title | Human-readable notebook title |
| code_file | Local source file to run |
| language | python, r, or rmarkdown |
| kernel_type | script or notebook |
| is_private | Defaults to true |
| enable_gpu | Defaults to false |
| enable_internet | Defaults to false |
| dataset_sources | Attached dataset references |
| competition_sources | Attached competition references |
| kernel_sources | Attached notebook/kernel references |
| model_sources | Attached model references |
kernel-metadata.json is valid JSON.id uses the expected owner/slug and matches the intended Kaggle notebook.code_file exists in the same folder passed to kaggle kernels push -p <folder>.language is one of python, r, or rmarkdown.kernel_type matches the file and execution mode: notebook for .ipynb, script for scripts.notebook-lifecycle before push or pull workflows.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 ConstructionThe 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.
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.
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.
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.
code_file: identify the intended .ipynb, .py, .R, or .Rmd file and set the field explicitly.development
Use for Clerk sessions, tokens, webhooks, orgs, and security. PROACTIVELY activate for session tokens, JWT templates, getToken(), custom claims, pending sessions, multi-session UX, organizations, roles, permissions, system vs custom permissions, features/plans, MFA/passkeys/password policy/bot protection, Clerk webhooks, Svix signatures, verifyWebhook(), user/org sync, retries/replays, environment variables, custom domains, secret rotation, logs, and auth security reviews. Provides token semantics, webhook idempotency, authorization defaults, and hardening checklist.
tools
Use for Clerk in Next.js. PROACTIVELY activate for @clerk/nextjs setup, App Router auth()/currentUser(), clerkMiddleware(), proxy.ts/middleware.ts, createRouteMatcher(), protected pages/layouts/Route Handlers/Server Actions/API routes/tRPC, auth.protect() role/permission/token checks, ClerkProvider placement, server-only clerkClient, Link prefetch, redirects, 401/404 auth failures, custom domains, __clerk proxy paths, and deployment gotchas. Provides file patterns, server/client boundary rules, matcher templates, and production checks.
development
Use for Clerk frontend auth flows. PROACTIVELY activate for React, JavaScript, Vue, Nuxt, Astro, Expo, React Router, TanStack React Start, or SPA setup; ClerkProvider and publishable-key wiring; SignIn/SignUp/UserButton/UserProfile/OrganizationSwitcher; custom useUser/useAuth/useClerk/useSignIn/useSignUp/useSession/useOrganization flows; multi-session UX; cross-origin getToken() fetches; loading states, redirects, routing, CORS/cookies, or hydration bugs. Provides SDK selection, UI patterns, token-fetch templates, and frontend gotchas.
development
Use for Clerk dev/prod readiness, deployment, and multi-language implementation planning. PROACTIVELY activate for environment variables, pk_test/sk_test vs pk_live/sk_live, local dev, preview/staging/prod instances, domains/DNS, redirects, OAuth credentials, custom domains/proxy, authorizedParties, CSP, CORS/cookies, webhooks/tunnels, Vercel/Netlify/Cloudflare/API gateways, monitoring/troubleshooting, and backends in Node/Express/Fastify, Python/FastAPI/Django/Flask, Go, Ruby/Rails, Java/Spring, .NET, PHP/Laravel. Provides checklists, rollout plans, and language-portable patterns.