关于 nvidia-kaggle-skill
面向 Kaggle 竞赛任务的技能,适用于竞赛研究、内容整理、内核复现和提交等工作。它通过独立工作流和脚本覆盖竞赛信息、讨论、数据集及提交,并要求敏感操作先获确认。
主要功能
- 01获取竞赛与数据集信息
- 02整理讨论和内核资料
- 03研究竞赛方案与写作
- 04本地复现 Kaggle 笔记本
- 05上传数据集或提交内核
适用场景
- 01汇总竞赛规则、评估方式和时间线
- 02查询社区讨论或竞赛内核
- 03在本地下载并复现竞赛笔记本
- 04上传数据集或准备竞赛提交
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nvidia/ nvidia-kaggle --skill nvidia-kaggle-skill安装后在 Claude Code 中输入/nvidia-kaggle-skill确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
kernel-setup.mdkernels.mdresearch-brief.mdevals/evals.jsonscripts/constants.pydb_info.pydiscussion_db_info.pydiscussion_ingest.pydiscussion_query.pydiscussion_read.pyfetch_competition_info.pyfetch_dataset_info.pyfetch_kernel_score.pyfetch_leaderboard_writeups.pyfetch_top_kernel_scores.pyfetch_writeup.pykernel_archive.pykernel_db_info.pykernel_ingest.pykernel_query.pykernel_read.pyscripts/discussions/__init__.pydatabase.pydiscussion_client.pymodels.pypaths.pyscripts/kernels/__init__.pyarchive.pydatabase.pykaggle_client.py详细介绍
NVIDIA Kaggle 技能
目的
将此技能用于 Kaggle 竞赛相关工作:收集背景信息、撰写总结、参与讨论、处理内核、本地复现、提交结果和上传数据集。
除非用户明确说明任务与 Kaggle 有关,否则不要将其用于无关的机器学习训练、通用笔记本编辑、常规数据分析或非 Kaggle 数据集管理。
输入
| 输入 | 必填 | 说明 |
|---|---|---|
| Kaggle slug、URL、总结 URL、内核引用或本地文件夹 | 视任务而定 | 所请求 Kaggle 操作的主要目标。 |
KAGGLE_API_TOKEN | API/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/ 目录下。