Build fast, strong, correctly-validated baselines for the current competition from the plugin's templates — the main model plus diverse families on the same folds — log them to the ledger, decide the accepted baseline and produce a validated submission file.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Kg Baseline?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tranbadat2607-kg-baseline)
---
name: kg-baseline
description: Build fast, strong, correctly-validated baselines for the current competition from the plugin's templates — the main model plus diverse families on the same folds — log them to the ledger, decide the accepted baseline and produce a validated submission file.
argument-hint: "[model: lgbm|xgb|cat|hgb|linear|knn|svm|mlp|image|transformer]"
allowed-tools:
- Read
- Glob
- Grep
- 'Bash(PYTHONPATH="${CLAUDE_PLUGIN_ROOT}" python -m kgkit ledger *)'
- 'Bash(python -m kgkit ledger *)'
- 'PowerShell(python -m kgkit ledger *)'
- 'Bash(PYTHONPATH="${CLAUDE_PLUGIN_ROOT}" python -m kgkit validate *)'
- 'Bash(python -m kgkit validate *)'
- 'PowerShell(python -m kgkit validate *)'
- 'Bash(PYTHONPATH="${CLAUDE_PLUGIN_ROOT}" python -m kgkit status *)'
- 'Bash(python -m kgkit status *)'
- 'PowerShell(python -m kgkit status *)'
---
# /kg-baseline
Run kgkit with the Bash tool, as `PYTHONPATH="${CLAUDE_PLUGIN_ROOT}" python -m kgkit <command>`: this command
pre-approves that form for the kgkit calls it makes. Submitting, pushing or publishing still asks (so does a
PowerShell `$env:` assignment).
Arguments: `$ARGUMENTS`
1. Read `.kaggle-gm/competition.json` and CLAUDE.md; require frozen folds (run `/kg-cv` first if
`data/folds.csv` is missing).
2. Choose the template from `${CLAUDE_PLUGIN_ROOT}/templates/` by task: tabular → `train_gbdt.py`;
images → `train_image.py`; text → `train_transformer.py`. Copy into `src/`, vendor kgkit with
`PYTHONPATH="$KGKIT_HOME" python -m kgkit vendor third_party/` so `from kgkit import ...` works (the templates
look in `third_party/`), and adapt the CONFIG block
(paths, target, id, metric, features, model).
3. Smoke test (1 fold, tiny settings), then the full run. Keep the baseline simple and fast — its
job is to be correct and to calibrate CV vs LB. With a local NVIDIA GPU, train XGBoost / CatBoost
there: `python src/train_gbdt.py --model xgb --device cuda` (or `KG_DEVICE=cuda`). Without `--name`
the run is named `<model>_baseline`. Keep the templates' compute defaults (skill `compute-efficiency`).
Images and text: after the smoke test run `--bench` once. An INPUT-BOUND verdict (images decoded from full size
every epoch) slows every later experiment, so pre-resize or cache the inputs before the full run.
4. **Tabular: diverse baselines on the same folds.** Also run `--model linear` and `--model mlp`
(plus `knn` / `svm` on data below ~50k rows, or a row subsample), each a few minutes. Report
which families fit (GBDT ≫ linear → interactions to engineer; linear ≈ GBDT → simple signal or a leak
to check). Their OOFs are kept for the blend. Images/text: one fast backbone is enough on day 1;
a second family comes in the exploration phase.
5. Ensure each run logs to the ledger with OOF + test predictions and writes `subs/<exp_id>.csv`.
6. Mark the main baseline as the reference: `python -m kgkit ledger decide <exp_id> baseline "<why>"`.
7. `python -m kgkit validate subs/<exp_id>.csv data/sample_submission.csv`.
8. Report CV ± std, per-fold scores, runtime per family, and recommend submitting the main baseline
(via `/kg-submit`) to calibrate CV↔LB.