kaggle
Unified Kaggle skill. Use when the user mentions kaggle, kaggle.com, Kaggle competitions, datasets, models, notebooks, GPUs, TPUs, hackathons, writeups, badges, or anything Kaggle-related. Handles account setup, competition reports, dataset/model downloads, notebook execution, competition submissions, hackathon writeup retrieval, badge collection, and general Kaggle questions.
What this skill does
# 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, hackathon writeup retrieval, badge collection, and general Kaggle questions. Five integrated modules working together. **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 (Python API + optional Playwright via host agent) | | **kllm** | Core Kaggle interaction (kagglehub, CLI, MCP) — includes the `hackathon/` submodule for writeup retrieval and overview/rubric extraction | | **badge-collector** | Systematic badge earning across 5 phases | ## Credential Setup **Always run the credential checker first:** ```bash python3 shared/check_all_credentials.py ``` **Primary credential (recommended):** | Variable | How to Get | Purpose | |----------|------------|---------| | `KAGGLE_API_TOKEN` | "Generate New Token" at kaggle.com/settings | Works with CLI (>= 1.8.0), kagglehub (>= 0.4.1), MCP | **Legacy credentials (optional, for older tools):** | Variable | How to Get | Purpose | |----------|------------|---------| | `KAGGLE_USERNAME` | Account creation | Identity (auto-detected from token) | | `KAGGLE_KEY` | "Create Legacy API Key" at kaggle.com/settings | Legacy key for older CLI/kagglehub versions | Store your API token in `~/.kaggle/access_token` (recommended) or as an env var. 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 API credentials (API token as primary, legacy key as optional). Saves to `~/.kaggle/access_token` and optionally `.env` and `~/.kaggle/kaggle.json`. Key commands: ```bash python3 modules/registration/scripts/check_registration.py bash 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; SPA-only content (problem statement, rendered evaluation details, winner writeup links) requires the host agent to provide Playwright MCP tools — the skill itself does not bundle them. For most overview content, prefer `list_competition_pages` in the kllm module (no Playwright required). 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 ```bash python3 modules/comp-report/scripts/list_competitions.py --lookback-days 30 --output json python3 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. ### Sub-module: kllm/hackathon Retrieves hackathon writeups, rules, and judging rubrics from Kaggle's MCP hackathon endpoints. Lives under kllm because it's a focused MCP-workflow surface like the rest of kllm. Built around the endpoint order from the 2026-04-22 audit (retested 2026-05-04): 1. `get_hackathon_overview` — rules, eligibility, rubric, prizes 2. `list_hackathon_write_ups` — submission roster (paginated, with track ids) 3. `list_hackathon_tracks` — resolve numeric track ids to titles 4. `get_writeup` — preferred full-body fetch (simpler arg shape than `get_hackathon_write_up`) 5. `get_writeup_by_topic` / `get_writeup_by_slug` — fallbacks when id missing 6. `get_resolved_writeup_links` — host/judge-gated link enrichment ```bash python3 modules/kllm/hackathon/scripts/hackathon_overview.py --competition kaggle-measuring-agi python3 modules/kllm/hackathon/scripts/list_writeups.py --competition kaggle-measuring-agi python3 modules/kllm/hackathon/scripts/fetch_writeup.py --writeup-id 123456 ``` **Live-server status** (verified 2026-05-04): - `get_hackathon_write_up` — was broken in the 2026-04-22 audit, **now works**. - `get_benchmark_leaderboard` — was permission-blocked in 2026-04-22, **now PASS** for ordinary KGAT tokens. - `get_competition` for classic competitions — **now PASS** (recovered upstream). - `download_hackathon_write_ups` may return CSV header only in some host contexts. - `get_resolved_writeup_links` is role-gated; participants get an explicit denial. `Read modules/kllm/hackathon/README.md` for the full retrieval workflow, role-specific guidance (host/judge vs. participant), and the bundle shape returned to the agent. ## 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 | ```bash python3 modules/badge-collector/scripts/orchestrator.py --dry-run python3 modules/badge-collector/scripts/orchestrator.py --phase 1 python3 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 ```bash python3 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
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.