name: kaggle description: > Kaggle CLI for downloading competition/dataset data and managing submissions. Use when the user says "kaggle", "download dataset", "submit to competition", "kaggle competition", or works with Kaggle data/competitions. Do NOT use for general data science tasks (use data-science skill) or non-Kaggle data sources. allowed-tools: Bash(kaggle *)
Setup
The Kaggle CLI is installed via uv tool install kaggle (included in make install). If missing:
uv tool install kaggle
Authentication — set both credential env vars (add to ~/.zshrc):
export KAGGLE_USERNAME="your-username"
export KAGGLE_KEY="your-key"
Or download kaggle.json from kaggle.com → Account → "Create New Token" (it contains your username and key, not a single token) and place it at ~/.kaggle/kaggle.json — or point KAGGLE_CONFIG_DIR at the directory holding it.
Verify: kaggle competitions list should return results without error.
Competition Data
kaggle competitions list # browse active competitions
kaggle competitions list -s "search term" # search competitions
kaggle competitions files <competition> # list available files
kaggle competitions download <competition> -p ./data # download all files
kaggle competitions download <competition> -f <file> # download single file
kaggle competitions leaderboard <competition> # view leaderboard
The competition slug is the URL suffix (e.g. titanic from kaggle.com/competitions/titanic).
Datasets
kaggle datasets list -s "search term" # search datasets
kaggle datasets files <owner>/<dataset> # list files
kaggle datasets download <owner>/<dataset> -p ./data --unzip # download + extract
Dataset slug format: <owner>/<dataset-name> (e.g. zillow/zecon).
Submissions
kaggle competitions submit <competition> -f submission.csv -m "description"
kaggle competitions submissions <competition> # list past submissions
Config
kaggle config set -n competition -v <slug> # set default competition
kaggle config view # show current config