用途:在需要可复现的 Kaggle 发现、元数据检查、有界公开数据下载、竞赛或 Kernel 发现、模型相关操作的研究任务中使用。它通过本技能中执行策略的包装器调用官方 Kaggle CLI,包装器记录有界且脱敏的审计数据,将下载限制在已批准目录,并在用户未明确授权时阻止远程变更。
主要能力与工作流:先确认请求的 Kaggle 资源及动作属于读取、下载、写入还是删除,不扩大用户权限;使用隔离的 Python 3.11+ 环境,kaggle>=2.2,<3;在命令和源文件之外配置 Kaggle 认证,绝不读取、打印、回显、记录或提交凭据值;运行非变更前置检查:python scripts/kaggle_research.py doctor --json;在下载或变更前先运行发现命令,所有下载保持在明确选择的输出根目录下;将生成的审计 JSON 与产物哈希随研究输出一并保留;报告确切命令、资源引用、时间戳、失败和生成的产物,区分已验证观察与假设。
安全执行:Kaggle 参数放在 -- 之后以保持顺序,例如 python scripts/kaggle_research.py run --audit artifacts/audit.json -- datasets list -s iris -v 和 python scripts/kaggle_research.py run --output-root artifacts/kaggle -- datasets download -d owner/dataset。对可能变更的命令先预览:python scripts/kaggle_research.py run --dry-run --allow-write -- datasets create -p dataset-package。实际远程写入还需用户明确授权和 --allow-write;删除还需 --allow-delete 和与包装器分类的确切资源匹配的 --confirm-resource。运行时绝不重试写入或删除。
只读验证:实时冒烟工作流调用 Kaggle 真实服务,检查所有支持的资源组,下载一个小型公开数据集并验证其哈希:python scripts/kaggle_research.py smoke-readonly --output-root artifacts/kaggle-smoke --report artifacts/kaggle-smoke-report.json。对应集成测试为可选:AERS_KAGGLE_LIVE=1 python -m unittest discover -s tests -p "test_live_readonly.py" -v,仅在凭据已存在于进程环境时运行,且必须保持只读/只下载。
参考路由:认证与凭据边界见 references/authentication.md;数据集发现与有界下载见 references/datasets.md;竞赛发现与已批准提交见 references/competitions.md;Kernel/notebook 发现与已批准推送见 references/kernels.md;模型发现与已批准实例操作见 references/models.md;测试通道、安全策略与审计产物见 references/testing-and-safety.md。只读取当前任务所需的参考页。
限制:远程变更需明确授权;删除需额外确认;运行时不会重试写入或删除;实时测试需已有凭据且仅限只读。