mcpField
N
nvidia-kaggle-skill

nvidia-kaggle-skill

github.com/nvidia数据与数据库34254 次安装12 周前更新
代码仓库

关于 nvidia-kaggle-skill

面向 Kaggle 竞赛任务的技能,适用于竞赛研究、内容整理、内核复现和提交等工作。它通过独立工作流和脚本覆盖竞赛信息、讨论、数据集及提交,并要求敏感操作先获确认。

主要功能

  1. 01获取竞赛与数据集信息
  2. 02整理讨论和内核资料
  3. 03研究竞赛方案与写作
  4. 04本地复现 Kaggle 笔记本
  5. 05上传数据集或提交内核

适用场景

  1. 01汇总竞赛规则、评估方式和时间线
  2. 02查询社区讨论或竞赛内核
  3. 03在本地下载并复现竞赛笔记本
  4. 04上传数据集或准备竞赛提交

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/nvidia-kaggle --skill nvidia-kaggle-skill

安装后在 Claude Code 中输入/nvidia-kaggle-skill确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

kernel-setup.md
kernels.md
research-brief.md
evals/
evals.json
scripts/
constants.py
db_info.py
discussion_db_info.py
discussion_ingest.py
discussion_query.py
discussion_read.py
fetch_competition_info.py
fetch_dataset_info.py
fetch_kernel_score.py
fetch_leaderboard_writeups.py
fetch_top_kernel_scores.py
fetch_writeup.py
kernel_archive.py
kernel_db_info.py
kernel_ingest.py
kernel_query.py
kernel_read.py
scripts/discussions/
__init__.py
database.py
discussion_client.py
models.py
paths.py
scripts/kernels/
__init__.py
archive.py
database.py
kaggle_client.py

详细介绍

NVIDIA Kaggle 技能

目的

将此技能用于 Kaggle 竞赛相关工作:收集背景信息、撰写总结、参与讨论、处理内核、本地复现、提交结果和上传数据集。

除非用户明确说明任务与 Kaggle 有关,否则不要将其用于无关的机器学习训练、通用笔记本编辑、常规数据分析或非 Kaggle 数据集管理。

输入

输入必填说明
Kaggle slug、URL、总结 URL、内核引用或本地文件夹视任务而定所请求 Kaggle 操作的主要目标。
KAGGLE_API_TOKENAPI/CLI 工作流必填用于 Kaggle API、CLI 和 SDK 调用的 KGAT 令牌字符串。
磁盘空间内核设置必需必须足以容纳输入数据集、竞赛数据、模型和解压后的存档文件。

前提条件

  • 除非所引用的工作流另有说明,否则请在此技能目录中运行命令。
  • 仅安装所请求工作流所需的运行时软件包。
  • 在执行 API、CLI、内核、讨论、数据集或提交工作流之前,设置 KAGGLE_API_TOKEN。
  • 下载竞赛数据、内核输入或解压存档文件之前,确认本地磁盘空间充足。
  • 执行敏感且对外可见的操作前,必须获得用户明确确认:提交竞赛结果(每次提交都会占用一个每日名额)、上传数据集以及创建公开数据集。将 KAGGLE_API_TOKEN 视为机密信息——绝不打印、记录或回显该令牌。

运行时依赖项

仅将所请求任务所需的软件包安装到当前环境,然后使用 python 运行脚本。

Kaggle API、CLI、内核、讨论、数据集、竞赛页面和总结:

if command -v uv >/dev/null 2>&1; then
  uv pip install httpx kaggle kagglesdk nbformat pydantic python-dotenv rich
else
  python -m pip install httpx kaggle kagglesdk nbformat pydantic python-dotenv rich
fi

对于 API/CLI 任务,请在调用 Kaggle 之前验证凭据:

: "${KAGGLE_API_TOKEN:?ERROR: KAGGLE_API_TOKEN environment variable is not set}"

工作流

使用此工作流目录选择合适的路径。快速任务请直接运行脚本命令。对于指向其他 Markdown 文件的工作流,仅在请求需要该工作流时阅读相应文件。

如果运行时提供 run_script 辅助函数,请优先使用,例如 run_script("scripts/fetch_competition_info.py", args=["titanic"])。否则,请在此技能目录中运行等效的 python ./scripts/<script>.py ... 命令。

竞赛详情

当用户要求获取或总结 Kaggle 竞赛概览、规则、评估方式、时间线或数据集描述时,使用此工作流。

获取概览:

python ./scripts/fetch_competition_info.py <competition-slug-or-url>

获取数据集描述:

python ./scripts/fetch_dataset_info.py <competition-slug-or-url>

脚本接受裸竞赛 slug 或 https://www.kaggle.com/competitions/<slug> URL,并自动提取 slug。用户要求保存文档时,将输出转换为 Markdown,并在当前工作目录中使用 {slug}_competition_overview.md 和 {slug}_dataset_description.md。

研究简报

当用户要求你研究一项竞赛并撰写策略简报时,使用此工作流;用户可能会用自然语言提出请求(例如“研究这项竞赛并给我一份简报,附上链接和几张图表”)。你需要自行串联该技能中的各项研究工作流,编写自己的分析和绘图代码,并制作简报。请阅读 ./research-brief.md,了解确保简报准确、内容丰富且对读者有用的原则——包括如何将真实来源作为链接引用,以及如何制作诚实、清晰易读的图表(每个绘制的数据都必须能追溯到收集到的信息)。这些原则已包含在此技能中,因此用户无需特别说明。

总结文章

当用户要求获取一篇总结文章、获取排名前 k 的总结文章、查找排行榜总结文章链接或总结解决方案文章时,使用此工作流。请阅读 ./writeups.md。

讨论

当用户要求获取 Kaggle 竞赛讨论、社区见解、问题、技巧或特定讨论帖时,使用此工作流。

python ./scripts/discussion_ingest.py <competition_id> [--max-pages N] [--sort-by hotness|votes|comments|created|updated] [--page-size N] [--nofetch-comments]
python ./scripts/discussion_query.py <competition_id> [--search TERM] [--min-votes N] [--author NAME] [--limit N] [--as-json]
python ./scripts/discussion_read.py <discussion_id> [--competition-id ID]
python ./scripts/discussion_db_info.py [competition_id]

存储:

路径内容
data/discussions.db用于缓存讨论、评论和竞赛元数据的 SQLite 数据库

如果数据库为空,查询或读取之前务必先运行数据导入。若 Kaggle 限流或 API 格式发生变化,请控制重试次数。

内核

当用户要求摄取、查询或读取内核、研究热门公开内核、获取内核分数或分析内核谱系时使用。阅读 ./kernels.md。

内核设置

当用户要求将 Kaggle notebook 及其输入下载到本地并复现时使用。阅读 ./kernel-setup.md。

提交

当用户要求将 Kaggle 内核推送到竞赛、轮询其状态或提交内核时使用。阅读 ./submission.md。

上传数据集

当用户想要根据本地文件创建或更新 Kaggle 数据集时使用。

python ./scripts/upload_dataset.py <path-to-data-folder> [--title "My Dataset"] [--public] [--version-notes "notes"] [--dir-mode zip|tar|skip] [--collaborator user:reader]

默认设置:

  • 除非用户明确要求使用 --public,否则数据集均为私有。
  • 如果省略 --title,则根据文件夹名称生成标题。
  • 如果现有的 dataset-metadata.json 中包含 description、keywords、subtitle 或 license 字段,请保留这些字段。
  • 如果数据集已存在,请勿静默覆盖;应要求用户提供或使用 --version-notes。

输出

  • 竞赛详情脚本会输出经过清理的文本,可将其保存为 Markdown。
  • 讨论脚本会写入/读取 data/discussions.db,并输出表格、JSON 或渲染后的帖子串。
  • 数据集上传会在数据文件夹中写入 dataset-metadata.json,并输出 Kaggle 数据集 URL。
  • 相关工作流可能会按其 Markdown 文件中的说明,写入 Markdown 报告、notebook 缓存、本地内核工作区或提交日志。

故障排除

使用此表排查 Kaggle 工作流中的常见故障。工作流文件只能补充此处未涵盖的特定条目。

症状原因操作
缺少或无效的 KAGGLE_API_TOKEN启动由 API/CLI 支持的工作流时,没有有效的 Kaggle 凭据。停止调用 Kaggle API/CLI,设置 KAGGLE_API_TOKEN,然后重新运行完全相同的命令。
讨论或内核查询结果为空尚未为该竞赛填充本地缓存。先运行对应的摄取脚本,然后重新查询。
Kaggle 内容为私有、受限或不可用当前账号没有访问权限、尚未接受相关规则,或内容已被移除。报告 URL/ref,并在重试前询问用户有关访问权限的情况。
Kaggle API、SDK、速率限制或页面结构故障Kaggle 返回了不完整数据、API/布局已更改,或请求受到限制。保留失败的命令和输出,将重试次数控制在有限范围内,并标注无法获取的证据。
磁盘空间不足或解压存档失败竞赛数据、内核输入、模型或解压后的存档超出本地容量,或解压失败。停止操作,报告工作区的部分状态,并在删除文件或重试前征求同意。
重试提交或提交状态不确定成功提交可能会消耗竞赛提交次数。阅读现有日志,并在重新运行提交工作流前要求用户明确确认。

运行时兼容性

此技能适用于任何遵循 Agent Skills 规范的 Agent 运行时。Codex 使用仓库检出版本或插件安装,Claude Code 使用市场插件安装,Claude Agent SDK 可加载相同的项目级插件设置。脚本均独立存放于此技能的 scripts/ 目录下。

评论

支持 Markdown