kaggle-skill

An agent skill for everything Kaggle: account setup, competition landscape reports, dataset/model downloads, notebook execution, competition submissions, hackathon writeup retrieval and grading, badge collection, and general Kaggle questions.
Works with any AI coding agent that supports the SKILL format — including Claude Code, OpenClaw, Gemini CLI, Cursor, Codex, and 35+ more agents via skills.sh.
Available On
Modules
- Registration — Account creation, API token generation, credential storage
- Competition Reports — Landscape reports with API + Playwright scraping
- Kaggle Interaction (kllm) — kagglehub, kaggle-cli, MCP Server (66 tools), UI workflows
- Hackathon — Writeup retrieval, overview/rubric extraction, role-aware grading bundles
- Badge Collector — Systematic badge earning across 5 phases (~38 automatable)
Installation
Via skills.sh (all agents)
Installs to Claude Code, OpenClaw, Codex, Cursor, Gemini CLI, and 35+ other agents:
npx skills add shepsci/kaggle-skill
Via ClawHub (OpenClaw)
clawhub install kaggle
Via Claude Code Plugin Marketplace
Add the catalog once, then install:
/plugin marketplace add shepsci/claude-marketplace
/plugin install kaggle-skill@shepsci
Or load directly from a local clone:
claude --plugin-dir /path/to/kaggle-skill
Manual
git clone https://github.com/shepsci/kaggle-skill.git
pip install kagglehub kaggle python-dotenv requests
Then copy skills/kaggle/ into your agent's skills directory.
Prerequisites
- Python 3.11+
pip install kagglehub kaggle python-dotenv requests
- Kaggle API token (the skill walks you through setup)
- Optional: Playwright for browser badges and competition report scraping
Credential Setup
- Go to kaggle.com/settings
- Under API Tokens (Recommended), click Generate New Token
- Save the token:
mkdir -p ~/.kaggle
echo 'YOUR_TOKEN' > ~/.kaggle/access_token
chmod 600 ~/.kaggle/access_token
Or set the environment variable:
export KAGGLE_API_TOKEN=YOUR_TOKEN
Legacy credentials (~/.kaggle/kaggle.json) are also supported. Run the credential checker for details:
python3 shared/check_all_credentials.py
Usage
Once installed, your agent automatically detects the skill when you mention anything Kaggle-related:
- "Set up my Kaggle credentials"
- "Summarize the rules and evaluation metric for the titanic competition"
- "Generate a Kaggle competition landscape report for the last 30 days"
- "Download the Titanic dataset"
- "Pull every writeup from kaggle-measuring-agi and group by track"
- "What badges can I still earn through API activity?"
- "Push this notebook to Kaggle Kernels and tell me when it finishes"
- "What competitions are running right now?"
Quick examples (run from the agent OR directly from a shell)
Pull the rules + evaluation metric for any competition
python3 skills/kaggle/modules/kllm/scripts/list_competition_pages.py \
--competition titanic --summary
# → page count, key-page detection (rules / evaluation / data-description / timeline)
python3 skills/kaggle/modules/kllm/scripts/list_competition_pages.py \
--competition titanic --page evaluation
# → just the evaluation page content (host-authored markdown/HTML)
Enumerate every writeup in a hackathon
python3 skills/kaggle/modules/hackathon/scripts/list_writeups.py \
--competition kaggle-measuring-agi --array | jq '.total_count'
# → 1069
Fetch a specific writeup body with the safe fallback chain