with one click
change-grug
Modify or upstream a Grug/Grugformer experiment variant.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Modify or upstream a Grug/Grugformer experiment variant.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Lint, run the pre-PR checks, commit, push, and author or update the branch's pull request in the required plain-text format. Use when committing, pushing, or creating/updating a PR.
Run a perf gate on a PR that touches lib/zephyr internals.
Curate the experiment report index at docs/reports/index.md.
Triage a failed canary ferry run (CI-invoked).
Refresh Marin TPU-vLLM forks from a tpu-inference release/LKG pair, update exact SHA pins, run TPU smokes, and open the Marin PR.
Profile JAX training and analyze hotspots. Use when profiling or optimizing training throughput.
| name | change-grug |
| description | Modify or upstream a Grug/Grugformer experiment variant. |
Grug is intentionally template-first: the canonical edit surface lives in experiments/grug/base/, not in a shared levanter.grug trainer stack.
This skill covers two steps: trying a change in an experiment copy, and upstreaming it into the base template when it proves out.
experiments/grug/base/ — model.py, train.py, launch.py.experiments/grug/<variant>/ — copy from base and modify locally (e.g. MoE).experiments/speedrun/... — useful for exploration, not canonical.Keep each pass scoped to one bucket:
experiments/grug/base to a new variant directory.Update docs/reports/grug-archive.md with: path, origin (base, moe, or another source variant), commit SHA (when known), purpose, status (active, superseded, deleted), and diff link (prefer the CI-posted PR comment link; fallback to local report path).
For PRs that add a new experiments/grug/<variant>/, CI posts a visual diff comment automatically — copy that link into the archive entry.
For a local fallback, generate the diff report manually and link the report in the archive entry:
uv run python scripts/ci/grug_dir_diff.py \
experiments/grug/base \
experiments/grug/<variant> \
--out /tmp/grug-diff
Port the successful change back into experiments/grug/base/model.py, train.py, and launch.py. Keep it grug-style:
init + __call__docs/references/hbm-optimization.md before bespoke memory hacksAfter upstreaming, delete superseded experiment code; keep only the archive trail in docs/reports/grug-archive.md.
./infra/pre-commit.py --all-files
uv run pytest tests/test_grug_variant_contracts.py
Add focused tests for any behavior changes.
This workflow is inspired by modded-nanogpt: iterate quickly in copy-paste experiments, then upstream only what stays simple and useful.