Complete Kaggle Integration

VerifiedCaution

Complete Kaggle integration for AI agents: account setup, dataset/model downloads, notebook execution, competition submissions, badge collection, and Q&A. Helps when users need to interact with Kaggle platform via API, CLI, MCP, or web UI, with four modules (registration, competition reports, core interaction, badge collector) that handle all aspects of the workflow.

Sby Skills Guide Bot
Data & AIIntermediate
3/8/2026
Claude CodeCursorWindsurfCodex
#kaggle#datasets#competitions#notebooks#ml-workflow

Recommended for

Automated summary

Unified skill that bundles Kaggle credential setup, competition landscape reports, dataset and model downloads, notebook execution, and competition submissions.

Strengths

  • Four complementary modules (registration, comp-report, kllm, badge-collector) cover the whole Kaggle workflow
  • A credential checker validates all three token types (KAGGLE_USERNAME, KAGGLE_KEY, KAGGLE_API_TOKEN) before acting
  • Competition reports blend Python API metadata with Playwright scraping for SPA content
  • Offers several interaction paths (kagglehub, kaggle-cli, MCP server, web UI) depending on the task

Limitations

  • Requires a Kaggle account and outbound HTTPS to api.kaggle.com, www.kaggle.com and storage.googleapis.com
  • Competition reporting depends on Playwright MCP tooling, adding setup overhead
  • Does not handle hackathon grading, which is delegated to a separate skill
When to use it

Use it whenever you need to download a Kaggle dataset or model, submit to a competition, or generate a report on recent competition activity.

When not to use it

Avoid it for hackathon grading or alignment analysis, which belong to the kaggle-hackathon-grading skill, or when Kaggle credentials are unavailable.

Security analysis

Caution
Quality score76/100

Nothing here is destructive, obfuscated, or exfiltrating — credentials stay local and the skill explicitly forbids echoing or logging secret values. However it is credential-handling software that persists API keys to plaintext files, runs a large set of bundled bash/python scripts the auditor cannot see, scrapes the web via Playwright, and automates account actions (submissions, badge farming) that may breach Kaggle's ToS. That is legitimate-purpose use of powerful tools, so 'caution' rather than 'risky'.

Findings
  • •Handles live Kaggle API credentials (KAGGLE_USERNAME, KAGGLE_KEY, KAGGLE_API_TOKEN) and instructs writing them to disk in .env and ~/.kaggle/kaggle.json — plaintext secrets at rest; no guidance on file permissions or gitignoring .env
  • •Requires broad Bash execution of many bundled Python/bash scripts (check_all_credentials.py, setup_env.sh, orchestrator.py, etc.) whose contents are not reviewed in this document
  • •Outbound network to api.kaggle.com, www.kaggle.com, storage.googleapis.com plus Playwright-driven browser scraping of Kaggle pages
  • •Badge Collector module explicitly automates earning ~38 badges, which likely violates Kaggle Terms of Service / manipulates platform activity metrics
  • •Competition submission automation (kernels push, competitions submit) can publish artifacts and consume compute/GPU quota on the user's account
  • •References Playwright MCP tools that are outside the declared allowed-tools (Bash Read WebFetch), expanding the effective capability surface
How this analysis is made

Examples

Dataset download
Download the Titanic competition dataset from Kaggle and load it into a pandas DataFrame.
Competition report
Generate a report on the Kaggle competitions opened in the last 30 days, with evaluation metrics and the main writeup insights.
Credential setup
Check my Kaggle credentials and walk me through creating an account and API keys if anything is missing.

name: kaggle description: "Unified Kaggle skill. Use when the user mentions kaggle, kaggle.com, Kaggle competitions, datasets, models, notebooks, GPUs, TPUs, badges, or anything Kaggle-related. Handles account setup, competition reports, dataset/model downloads, notebook execution, competition submissions, badge collection, and general Kaggle questions." license: MIT compatibility: "Python 3.9+, pip packages kagglehub, kaggle, requests, python-dotenv. Optional: playwright for browser badges. Playwright MCP tools for competition reports." homepage: https://github.com/shepsci/kaggle-skill metadata: {"author": "shepsci", "version": "1.0.1", "primaryEnv": "KAGGLE_KEY", "openclaw": {"requires": {"bins": ["python3", "pip3"], "env": ["KAGGLE_USERNAME", "KAGGLE_KEY", "KAGGLE_API_TOKEN"]}}} allowed-tools: Bash Read WebFetch

Kaggle — Unified Skill

Complete Kaggle integration for any LLM or agentic coding system (Claude Code, gemini-cli, Cursor, etc.): account setup, competition reports, dataset/model downloads, notebook execution, competition submissions, badge collection, and general Kaggle questions. Four integrated modules working together.

Overlap guard: For hackathon grading evaluation and alignment analysis, use the kaggle-hackathon-grading skill instead.

Network requirements: outbound HTTPS to api.kaggle.com, www.kaggle.com, and storage.googleapis.com.

Modules

| Module | Purpose | |--------|---------| | registration | Account creation, API key generation, credential storage | | comp-report | Competition landscape reports with Playwright scraping | | kllm | Core Kaggle interaction (kagglehub, CLI, MCP, UI) | | badge-collector | Systematic badge earning across 5 phases |

Credential Setup

Always run the credential checker first:

python3 skills/kaggle/shared/check_all_credentials.py

Three credential types are needed for full compatibility:

| Variable | Format | Purpose | |----------|--------|---------| | KAGGLE_USERNAME | Kaggle handle | Identity for all tools | | KAGGLE_KEY | 32-char hex | Legacy key (CLI, kagglehub, most MCP) | | KAGGLE_API_TOKEN | KGAT_-prefixed | Scoped token (some MCP endpoints) |

If any are missing, follow the registration walkthrough: Read modules/registration/README.md for the full step-by-step guide.

Security: Never echo, log, or commit actual credential values.

Module: Registration

Walks users through creating a Kaggle account and generating all three API credentials. Saves to .env and ~/.kaggle/kaggle.json.

Key commands:

python3 skills/kaggle/modules/registration/scripts/check_registration.py
bash skills/kaggle/modules/registration/scripts/setup_env.sh

Read modules/registration/README.md for the complete walkthrough.

Module: Competition Reports

Generates comprehensive landscape reports of recent Kaggle competition activity. Uses Python API for metadata + Playwright MCP tools for SPA content.

6-step workflow:

  1. Verify credentials
  2. Gather competition list across all categories
  3. Get structured details per competition (files, leaderboard, kernels)
  4. Scrape problem statements, evaluation metrics, writeups via Playwright
  5. Compose markdown report with Methods & Insights analysis
  6. Present inline
python3 skills/kaggle/modules/comp-report/scripts/list_competitions.py --lookback-days 30 --output json
python3 skills/kaggle/modules/comp-report/scripts/competition_details.py --slug SLUG

Read modules/comp-report/README.md for full details including hackathon handling.

Module: Kaggle Interaction (kllm)

Four methods to interact with kaggle.com:

| Method | Best For | |--------|----------| | kagglehub | Quick dataset/model download in Python | | kaggle-cli | Full workflow scripting | | MCP Server | AI agent integration | | Kaggle UI | Account setup, verification |

Capability matrix:

| Task | kagglehub | kaggle-cli | MCP | UI | |------|-----------|------------|-----|-----| | Download dataset | dataset_download() | datasets download | Yes | Yes | | Download model | model_download() | models instances versions download | Yes | Yes | | Execute notebook | — | kernels push/status/output | Yes | Yes | | Submit to competition | — | competitions submit | Yes | Yes | | Publish dataset | dataset_upload() | datasets create | Yes | Yes | | Publish model | model_upload() | models create | Yes | Yes |

Known issues:

  • dataset_load() broken in kagglehub v0.4.3 — use dataset_download() + pd.read_csv()
  • competitions download has no --unzip in CLI >= 1.8
  • Competition-linked datasets return 403 — use standalone copies

Read modules/kllm/README.md for full details and all task workflows.

Module: Badge Collector

Systematically earns ~38 automatable Kaggle badges across 5 phases:

| Phase | Name | Badges | Time | |-------|------|--------|------| | 1 | Instant API | ~16 | 5-10 min | | 2 | Competition | ~7 | 10-15 min | | 3 | Pipeline | ~3 | 15-30 min | | 4 | Browser | ~8 | 5-10 min | | 5 | Streaks | ~4 | Setup only |

python3 skills/kaggle/modules/badge-collector/scripts/orchestrator.py --dry-run
python3 skills/kaggle/modules/badge-collector/scripts/orchestrator.py --phase 1
python3 skills/kaggle/modules/badge-collector/scripts/orchestrator.py --status

Read modules/badge-collector/README.md for full details.

Orchestration Workflow

This skill is primarily a reference — use the modules and scripts as needed based on the user's request. When explicitly asked to run the full Kaggle workflow, follow these steps:

Step 1: Check Credentials

python3 skills/kaggle/shared/check_all_credentials.py

If any credentials are missing, walk through the registration module. Never echo or log actual credential values.

Step 2: Generate Competition Landscape Report

Run the comp-report workflow: list competitions, get details, scrape with Playwright, compose report. Output inline.

Step 3: Summarize Kaggle Interaction Methods

Present a concise summary of the four ways to interact with Kaggle (kagglehub, kaggle-cli, MCP Server, UI) with the capability matrix from the kllm module.

Step 4: Present Interactive Menu

Ask the user what they'd like to do next:

  • Earn Kaggle badges — Run the badge collector (5 phases, ~38 automatable badges)
  • Explore recent competitions — Dive deeper into specific competitions from the report
  • Enter a Kaggle competition — Register, download data, build a submission, submit
  • Download a Kaggle dataset — Search for and download any public dataset
  • Download a Kaggle model — Download pre-trained models (LLMs, CV, etc.)
  • Run a notebook on Kaggle — Push and execute a notebook on KKB with free GPU/TPU
  • Publish to Kaggle — Upload a dataset, model, or notebook
  • Learn about Kaggle progression — Tiers, medals, how to rank up
  • Something else — Free-form Kaggle help

Step 5: Execute and Continue

Handle the user's choice using the appropriate module, then loop back to offer more options.

Security

  • Never commit .env, kaggle.json, or any credential files
  • Never echo or log actual credential values in terminal output
  • The .gitignore excludes .env, kaggle.json, and related files
  • Set file permissions: chmod 600 .env ~/.kaggle/kaggle.json
  • If credentials are accidentally exposed, rotate them immediately at https://www.kaggle.com/settings

Scope of Operations

This skill performs both read-only and write operations on kaggle.com.

Read-only operations (no account side-effects):

  • List/search competitions, datasets, models, notebooks
  • Download datasets, models, competition data
  • View leaderboards, competition details, badge progress
  • Generate competition landscape reports

Write operations (create or modify resources on your account):

  • Create/publish datasets, notebooks, models (always private by default)
  • Submit predictions to competitions
  • Push and execute notebooks on Kaggle Kernel Backend (KKB)
  • Earn badges through API activity (profile-visible)

Phase 5 (Streaks) generates a local shell script for daily execution but does not auto-install cron jobs or launchd plists. Users must manually configure scheduling if desired.

Scripts Index

Shared:

  • shared/check_all_credentials.py — Unified credential checker (all 3 types)

Registration:

  • modules/registration/scripts/check_registration.py — Check all 3 credentials
  • modules/registration/scripts/setup_env.sh — Auto-configure credentials from env/dotenv

Competition Reports:

  • modules/comp-report/scripts/utils.py — Credential check, API init, rate limiting
  • modules/comp-report/scripts/list_competitions.py — Fetch competitions across categories
  • modules/comp-report/scripts/competition_details.py — Files, leaderboard, kernels per competition

Kaggle Interaction (kllm):

  • modules/kllm/scripts/setup_env.sh — Auto-configure credentials (with .env loading)
  • modules/kllm/scripts/check_credentials.py — Verify and auto-map credentials
  • modules/kllm/scripts/network_check.sh — Check Kaggle API reachability
  • modules/kllm/scripts/cli_download.sh — Download datasets/models via CLI
  • modules/kllm/scripts/cli_execute.sh — Execute notebook on KKB
  • modules/kllm/scripts/cli_competition.sh — Competition workflow (list/download/submit)
  • modules/kllm/scripts/cli_publish.sh — Publish datasets/notebooks/models
  • modules/kllm/scripts/poll_kernel.sh — Poll kernel status and download output
  • modules/kllm/scripts/kagglehub_download.py — Download via kagglehub
  • modules/kllm/scripts/kagglehub_publish.py — Publish via kagglehub

Badge Collector:

  • modules/badge-collector/scripts/orchestrator.py — Main entry point
  • modules/badge-collector/scripts/badge_registry.py — 59 badge definitions
  • modules/badge-collector/scripts/badge_tracker.py — Progress persistence
  • modules/badge-collector/scripts/utils.py — Shared utilities
  • modules/badge-collector/scripts/phase_1_instant_api.py — Instant API badges
  • modules/badge-collector/scripts/phase_2_competition.py — Competition badges
  • modules/badge-collector/scripts/phase_3_pipeline.py — Pipeline badges
  • modules/badge-collector/scripts/phase_4_browser.py — Browser badges
  • modules/badge-collector/scripts/phase_5_streaks.py — Streak automation

References Index

  • modules/registration/references/kaggle-setup.md — Full credential setup guide with troubleshooting
  • modules/comp-report/references/competition-categories.md — Competition types and API mapping
  • modules/kllm/references/kaggle-knowledge.md — Comprehensive Kaggle platform knowledge
  • modules/kllm/references/kagglehub-reference.md — Full kagglehub Python API reference
  • modules/kllm/references/cli-reference.md — Complete kaggle-cli command reference
  • modules/kllm/references/mcp-reference.md — Kaggle MCP server reference
  • modules/badge-collector/references/badge-catalog.md — Complete 59-badge catalog

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/complete-kaggle-integration-mmh8qqqd' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/complete-kaggle-integration-mmh8qqqd/download' --output '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md.part' && mv '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md.part' '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Environment declared by the author: Python 3.9+, pip packages kagglehub, kaggle, requests, python-dotenv. Optional: playwright for browser badges. Playwright MCP tools for competition reports.

Tools declared by the author (check availability in your agent): Bash Read WebFetch

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md' && test -s '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/kaggle' && cp -R '.skill-downloads/complete-kaggle-integration-mmh8qqqd' '.claude/skills/kaggle'

Cursor
test -f '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md' && test -s '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/kaggle' && cp -R '.skill-downloads/complete-kaggle-integration-mmh8qqqd' '.cursor/skills/kaggle'

Codex
test -f '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md' && test -s '.skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/kaggle' && cp -R '.skill-downloads/complete-kaggle-integration-mmh8qqqd' '.agents/skills/kaggle'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/complete-kaggle-integration-mmh8qqqd'

openskills read 'complete-kaggle-integration-mmh8qqqd'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/complete-kaggle-integration-mmh8qqqd/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills