$npx -y skills add NVIDIA/nvidia-kaggle --skill nvidia-kaggle-skillUse for Kaggle competition overview fetches, writeups, discussion/kernel research, submissions, and dataset uploads. Not for unrelated ML code.
| 1 | # NVIDIA Kaggle Skill |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | Use this skill for Kaggle competition work: context gathering, writeups, discussions, kernels, local reproduction, submission, and dataset upload. |
| 6 | |
| 7 | Do not use it for unrelated ML training, generic notebook editing, general data analysis, or non-Kaggle dataset management unless the user explicitly ties the task to Kaggle. |
| 8 | |
| 9 | ## Inputs |
| 10 | |
| 11 | | Input | Required | Description | |
| 12 | |---|---|---| |
| 13 | | Kaggle slug, URL, writeup URL, kernel ref, or local folder | Depends on task | Primary target for the requested Kaggle action. | |
| 14 | | `KAGGLE_API_TOKEN` | Required for API/CLI-backed workflows | KGAT token string for Kaggle API, CLI, and SDK calls. | |
| 15 | | Disk space | Required for kernel setup | Must fit input datasets, competition data, models, and extracted archives. | |
| 16 | |
| 17 | ## Prerequisites |
| 18 | |
| 19 | - Run commands from this skill directory unless a referenced workflow says otherwise. |
| 20 | - Install only the runtime packages needed for the requested workflow. |
| 21 | - Set `KAGGLE_API_TOKEN` before API, CLI, kernel, discussion, dataset, or submission workflows. |
| 22 | - Confirm local disk space before downloading competition data, kernel inputs, or extracted archives. |
| 23 | - Require explicit user confirmation before sensitive, externally visible actions: competition submissions (each can consume a daily slot), dataset uploads, and creating a public dataset. Treat `KAGGLE_API_TOKEN` as a secret — never print, log, or echo it. |
| 24 | |
| 25 | ## Runtime Dependencies |
| 26 | |
| 27 | Install only the packages needed for the requested task into the current environment, then run scripts with `python`. |
| 28 | |
| 29 | Kaggle API, CLI, kernels, discussions, datasets, competition pages, and writeups: |
| 30 | |
| 31 | ```bash |
| 32 | if command -v uv >/dev/null 2>&1; then |
| 33 | uv pip install httpx kaggle kagglesdk nbformat pydantic python-dotenv rich |
| 34 | else |
| 35 | python -m pip install httpx kaggle kagglesdk nbformat pydantic python-dotenv rich |
| 36 | fi |
| 37 | ``` |
| 38 | |
| 39 | For API/CLI tasks, verify credentials before calling Kaggle: |
| 40 | |
| 41 | ```bash |
| 42 | : "${KAGGLE_API_TOKEN:?ERROR: KAGGLE_API_TOKEN environment variable is not set}" |
| 43 | ``` |
| 44 | |
| 45 | ## Workflows |
| 46 | |
| 47 | Use this workflow catalog to choose the right path. Run the direct script commands for quick tasks. For workflows that point to another markdown file, read that file only when the request needs that workflow. |
| 48 | |
| 49 | Prefer the runtime's `run_script` helper when it exists, for example `run_script("scripts/fetch_competition_info.py", args=["titanic"])`. Otherwise run the equivalent `python ./scripts/<script>.py ...` command from this skill directory. |
| 50 | |
| 51 | ### Competition Details |
| 52 | |
| 53 | Use this when the user asks to retrieve or summarize a Kaggle competition overview, rules, evaluation, timeline, or dataset description. |
| 54 | |
| 55 | Fetch overview: |
| 56 | |
| 57 | ```bash |
| 58 | python ./scripts/fetch_competition_info.py <competition-slug-or-url> |
| 59 | ``` |
| 60 | |
| 61 | Fetch dataset description: |
| 62 | |
| 63 | ```bash |
| 64 | python ./scripts/fetch_dataset_info.py <competition-slug-or-url> |
| 65 | ``` |
| 66 | |
| 67 | The scripts accept a bare competition slug or `https://www.kaggle.com/competitions/<slug>` URL and extract the slug automatically. Convert output to markdown when the user asks for saved documentation, using `{slug}_competition_overview.md` and `{slug}_dataset_description.md` in the current working directory. |
| 68 | |
| 69 | ### Research Brief |
| 70 | |
| 71 | Use this when the user asks you to **research a competition and write a strategy |
| 72 | brief** in natural terms (e.g. "research this competition and brief me, with |
| 73 | links and a few charts"). You chain the skill's individual research workflows |
| 74 | yourself, write your own analysis/plotting code, and produce the brief. Read |
| 75 | `./research-brief.md` for the principles that keep the brief accurate, informative, |
| 76 | and useful to a reader — how to cite real sources as links, and how to make plots |
| 77 | honest and legible (every plotted number traces to what you gathered). These |
| 78 | principles live in the skill so the user does not have to spell them out. |
| 79 | |
| 80 | ### Writeups |
| 81 | |
| 82 | Use this when the user asks to fetch one writeup, fetch top-k writeups, discover leaderboard writeup links, or summarize solution posts. Read `./writeups.md`. |
| 83 | |
| 84 | ### Discussions |
| 85 | |
| 86 | Use this when the user asks for Kaggle competition discussions, community insights, qu |