Repository navigation
v2.5.0 — Upstream refresh, security pass, CI
Fixes found by running the skill against today's Kaggle CLI (2.2.4) and MCP server (71 tools), a security pass, a refresh of every reference, and CI. The full list is in CHANGELOG.md.
Highlights
Fixed
- The bundled Kaggle MCP server loads in Claude Code, and sign-in to it completes.
.mcp.jsonlacked"type": "http", and it now names the OAuth client ID that Claude Code needs. cli_execute.shandpoll_kernel.shdetect the end of a notebook run and stop after a maximum wait.list_competitions.pyandcompetition_details.pyreport real team counts, metrics, file sizes and votes, and print valid JSON.- Server errors, and Kaggle CLI commands that fail with exit status 0, are no longer reported as success.
list_writeups.pyfilters winners and reports a denial as a denial.
Security
- The skill pre-approves only
Read,GrepandGlob. It no longer pre-approvesBashorWebFetch. - Text from Kaggle is printed inside blocks whose tag has a random suffix, so the text cannot close its block.
- Publish scripts refuse a folder that contains a credential file, and the kagglehub download scripts refuse an
--output-dirthat has files in it. - The credential checker only reads.
--verifymakes a call that the server checks.
Changed
cli_competition.shis split intocli_download.shandcli_submit.sh. Submitting is a dry run unless--yesis given.- One credential checker,
check_all_credentials.py.check_credentials.pyandcheck_registration.pyare removed. - Exit codes are the same across scripts; see
SKILL.md.
Added
- CI on every pull request, and a weekly job that compares Kaggle's MCP tool list, CLI command tree, package versions and OAuth registration answer with committed snapshots.
competition-operations.md: what to check before and after a submission.- A root
plugin.jsonin the Agent Plugins format, and an eval suite underevals/.
Verification
- 1027 offline tests pass on Python 3.11, 3.12 and 3.13.
- 107 read-only live tests pass against Kaggle CLI 2.2.4 and the MCP server.
- The Claude Code and Codex plugin validators pass, and both clients install the plugin.