Shipping and Launch Checklist
addyosmani/agent-skills
Prepares a production launch with a pre-launch checklist, monitoring, a staged rollout and a rollback plan so every release is reversible and observable.
Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures.
$ npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install climate-analytics-lab/jax-gcm jcm-run --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/climate-analytics-lab/jax-gcm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/jcm-run .claude/skills/jcm-run && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "jcm-run" agent skill from https://github.com/climate-analytics-lab/jax-gcm/tree/dev/.claude/skills/jcm-run into .claude/skills/jcm-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jcm-run", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/climate-analytics-lab/jax-gcm/tree/dev/.claude/skills/jcm-runType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install climate-analytics-lab/jax-gcm jcm-run --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/climate-analytics-lab/jax-gcm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/jcm-run .agents/skills/jcm-run && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jcm-run" agent skill from https://github.com/climate-analytics-lab/jax-gcm/tree/dev/.claude/skills/jcm-run into .agents/skills/jcm-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jcm-run", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install climate-analytics-lab/jax-gcm jcm-run --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/climate-analytics-lab/jax-gcm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/jcm-run .cursor/skills/jcm-run && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jcm-run" agent skill from https://github.com/climate-analytics-lab/jax-gcm/tree/dev/.claude/skills/jcm-run into .cursor/skills/jcm-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jcm-run", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/climate-analytics-lab/jax-gcm.git --path .claude/skills/jcm-run--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install climate-analytics-lab/jax-gcm jcm-run --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/climate-analytics-lab/jax-gcm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/jcm-run .gemini/skills/jcm-run && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jcm-run" agent skill from https://github.com/climate-analytics-lab/jax-gcm/tree/dev/.claude/skills/jcm-run into .gemini/skills/jcm-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jcm-run", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install climate-analytics-lab/jax-gcm jcm-runInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/climate-analytics-lab/jax-gcm.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/jcm-run .github/skills/jcm-run && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jcm-run" agent skill from https://github.com/climate-analytics-lab/jax-gcm/tree/dev/.claude/skills/jcm-run into .github/skills/jcm-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jcm-run", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install climate-analytics-lab/jax-gcm jcm-run --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/climate-analytics-lab/jax-gcm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/jcm-run .opencode/skills/jcm-run && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jcm-run" agent skill from https://github.com/climate-analytics-lab/jax-gcm/tree/dev/.claude/skills/jcm-run into .opencode/skills/jcm-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jcm-run", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jcm-runLaunch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures.
Jcm Run is an agent skill from climate-analytics-lab/jax-gcm. Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures. Site-agnostic; pair with devbox-jcm-runs (shared workstation) or derecho-jcm-runs (NCAR PBS) for machine specifics.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: GCM Physics written in JAX. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 20ca89d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythongitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Jcm Run loads about 2.1k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 913 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from climate-analytics-lab/jax-gcm at commit 20ca89d, republished under its Apache-2.0 licence (© climate-analytics-lab). 913 words, ~2,063 tokens.
.claude/skills/jcm-run/SKILL.md (or your agent's skills folder).Layering. This skill is the site-agnostic model layer. For where to run,
see the machine skill: devbox-jcm-runs (shared UCSD workstation, no
scheduler, you pick the GPU) or derecho-jcm-runs (NCAR Derecho, PBS
allocates GPUs). For throughput measurement see jcm-benchmark.
Every runnable configuration goes through python -m jcm.main with Hydra
groups and overrides. Never write a bespoke driver script — see the "No
bespoke run scripts" rule in CLAUDE.md. If a configuration is worth
repeating, it becomes a config file under jcm/config/<group>/.
| group | options |
|---|---|
physics | speedy, held_suarez, echam, echam-rrtmgp, echam-rrtmgp-2m, echam-rrtmgp-2m-cosp, echam-strong-conv, echam-jam, echam-jam-aerocom, echam-jam-aerocom-optics, echam-jam-aci |
grid | speedy_t31_l8, held_suarez_t31_l8, echam_t42_l8_sigma, echam_t63_l47_hybrid, echam_t85_l47_hybrid, echam_t63_l95_hybrid, echam_t106_l95_hybrid, echam_t119_l95_hybrid |
init | isothermal, balanced_isothermal, jw |
terrain | aquaplanet, from_file |
forcing | default, from_file |
run | default, smoke, longrun, pyses_year |
dycore | dinosaur, pyses_ne30l47 |
diffusion | default, strong |
Discover current options rather than trusting this table if it looks stale:
ls jcm/config/<group>/.
This is the known-stable production baseline. Use it as the starting point for any T63L47 run — the pieces below are not optional decoration, they are what keeps the run from going NaN (see "Stability" below).
PY=/home/dwatsonparris/micromamba/envs/jcm/bin/python
REPO=/data/dwatsonparris/jax-gcm
TS=$(date +%y%m%d_%H%M%S)
COMMON="physics=echam \
grid=echam_t63_l47_hybrid \
init=jw init.rh=0.0 \
terrain=from_file terrain.file=hf://bundles/t63/terrain.nc \
forcing=from_file forcing.file=hf://bundles/t63/forcing_pd.nc \
run=longrun"
PREFIX=myrun_$TS
nohup env CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_PREALLOCATE=false \
$PY -m jcm.main $COMMON \
run.output_prefix=$PREFIX \
+run.checkpoint_path=${PREFIX}.ckpt \
> $REPO/run_logs/${PREFIX}.log 2>&1 &
echo "$PREFIX PID=$!"Write outputs to /scr/dwatsonparris/... for anything large — /data is
near-full. Logs conventionally go in run_logs/ at the repo root.
GPU selection is machine-specific and lives in the site skills:
devbox-jcm-runs — shared workstation. You self-allocate, so you must
verify a card is genuinely free (python tools/gpu_util.py) and avoid
stomping on colleagues. Utilisation and memory each individually look
idle for a parked job; both must be checked.derecho-jcm-runs — PBS allocates exclusive GPUs; pre-flight the Hydra
composition before spending a queue slot instead.kubernetes-jcm-runs — a pod gets exclusive GPUs, so timings are
trustworthy and a sweep runs in parallel; in exchange the run must survive
eviction and the code has to be pinned by SHA.JAX_PLATFORMS=cpu is for unit tests only. Anything beyond ~5 simulated
days belongs on a GPU.
A T63L47 ECHAM run started from an isothermal cold start with no sponge will go NaN within a few days. The stable recipe needs:
init=jw init.rh=0.0 — Jablonowski-Williamson balanced initial state.
init=isothermal on a real-orography grid is not a viable start.terrain=from_file + forcing=from_file — real orography/land-sea mask and
SSTs.run=longrun — one calendar year (run.total_time: 12 months from
run.start_time) written as calendar-month means
(<prefix>_monthly_YYYY-MM.nc, run.monthly_means, #901) from daily means
in 5-day chunks; no per-chunk _dayN.nc unless run.save_chunks=true.
forcing_pd.nc + the auto emission/ozone/oxidant bundles are the
present-day (2005–2014) climatological AMIP forcing.run=longrun — this already carries ECHAM's upper sponge (uspnge:
the zonal anomalies of u, v and T at the top level damped on 3 h, the zonal
mean untouched; rationale in run/longrun.yaml). Do not re-specify it
on the command line. There is no absolute temperature target any more:
run.sponge.target_T_K is not a key and an override of it fails.run.time_step is in MINUTES, not seconds.save_interval must be ≤ chunk_days. Otherwise a chunk contains zero
output times and the chunk write dies with a confusing
IndexError: index 0 is out of bounds for axis 0 with size 0 from
predictions.to_xarray(). This is easy to hit when shortening a run for a
quick test and forgetting to shorten save_interval with it.run/longrun.yaml has no checkpoint_path key, so adding one needs
Hydra's add syntax: +run.checkpoint_path=.... Plain
run.checkpoint_path=... fails with Key 'checkpoint_path' is not in struct. run/default.yaml does define it.forcing.ozone_file: auto is the shipped default and resolves a
packaged climatology matching the grid (jcm/data/bc/t63/ozone.nc — already
on L47 levels, already S→N). Leave it alone. Confirm in the log:
forcing.ozone_file=auto resolved to .../t63/ozone.nc. On a hybrid grid
auto now raises rather than degrading if it resolves nothing: the
analytic profile carries ~7.6× the tropospheric ozone column, a large
clear-sky OLR bias and not a valid basis for any radiation comparison. The
error distinguishes a missing product from a cold cache and names the remedy.
For any other grid auto also consults the HF mirror's level-resolved
bundles; set one explicitly with
forcing.ozone_file=hf://bundles/<grid>_l<levels>/ozone_pd.nc (prefetch on a
node with internet), or regenerate a packaged file with
jcm.data.bc.interpolate_ozone for offline work. forcing.ozone_file=analytic
takes the analytic profile deliberately; a sigma grid, for which no ozone
product exists, still warns and falls back.One tail -F with an alternation that covers both progress and every
failure signature — a filter that only matches success is silent through a
crash, which reads identically to "still running":
tail -F -n 0 run_logs/PREFIX.log 2>/dev/null | grep -E --line-buffered \
"Saved .*_day[0-9]+\.nc|Wall: |NaN vars|unhealthy|Traceback|Error|FAILED|Killed|OOM|CUDA_ERROR|HydraException"NaN vars: N/239 is the health-check line. Parse the count — do not grep
for the bare string nan, which matches unrelated output.
specific_humidity in the saved netCDF and the health report is genuinely in
g/kg, and the units: 'g/kg' label is correct — state_bridge calls
dimensionalize(q, gram/kilogram) on the way out. Healthy tropical surface
values are ~20-30 g/kg. (An earlier version of check_health assumed kg/kg
and applied a *1000, which double-counted and tripped the q_max > 100
threshold on every chunked run; that conversion was removed. Do not
reintroduce the assumption in either direction.)
data_to_xarray has no dims for. The write order is to_xarray → check_health → to_netcdf → save_checkpoint, so a crash here loses the whole
chunk with no checkpoint. Fix by adding the dotted key to
ComposablePhysics._EXCLUDED_OUTPUT_KEYS or registering a band coord.jcm, jax-rrtmgp and mam4-jax are
installed editable, so the working tree is the running code. Check
git -C <repo> rev-parse --abbrev-ref HEAD before trusting any result. The
site skills cover how to A/B a library version safely (worktree +
PYTHONPATH, never git checkout in a shared clone).© climate-analytics-lab, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/jcm-run of climate-analytics-lab/jax-gcm.
Open the folder on GitHubat commit 20ca89d
Jcm Run next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jcm Run this skillclimate-analytics-lab/jax-gcm | 108 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Shipping and Launch Checklistaddyosmani/agent-skills | 103k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Launch Strategyalirezarezvani/claude-skills | 28k | — | ~1.4k | Automated safety check: Pass | MIT | |
| HTML Ppt Product Launchnexu-io/open-design | 100k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Product Launch Videoheygen-com/hyperframes | 59k | 3 repos | ~8.5k | Automated safety check: Notes | Apache-2.0 | |
| Launch Registryaaron-he-zhu/aaron-marketing-skills | 2.9k | 1 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 |
addyosmani/agent-skills
Prepares a production launch with a pre-launch checklist, monitoring, a staged rollout and a rollback plan so every release is reversible and observable.
alirezarezvani/claude-skills
When the user wants to plan a product launch, feature announcement, or release strategy.
nexu-io/open-design
OpenDesign Teams: a launch-and-adoption proposal for a mid-market design team weighing a switch from closed cloud tools.
heygen-com/hyperframes
Turns a product URL, script or brief into a launch or promo video built frame by frame in HyperFrames, from brand capture and story design to rendering.
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "log this launch", query a launch date/embargo, record a stage transition, or update submissions/outcomes; curates launch facts through the append-only…
Donchitos/Claude-Code-Game-Studios
Generates a launch-readiness checklist across code, content, store, marketing, community, infrastructure and legal, scoped to the project and ending in go/no-go sign-offs.
climate-analytics-lab/jax-gcm
Submit, monitor and benchmark jax-gcm (jcm) simulations on NCAR Derecho's PBS queues.
climate-analytics-lab/jax-gcm
Run jcm on a Kubernetes GPU cluster — generate benchmark and production Job manifests, pick a comparable GPU, survive eviction, collect results.
climate-analytics-lab/jax-gcm
Run jcm on the shared UCSD dev workstation (8x A100-80GB, no scheduler) — find a genuinely free GPU, avoid stomping on colleagues' jobs, environment and scratch paths, and the etiquette/traps…
climate-analytics-lab/jax-gcm
Measure jcm throughput reproducibly — short (1 month) or long (12 month) runs on a validated stable config, with GPU memory/utilisation logging and an explicit convergence criterion.
climate-analytics-lab/jax-gcm
End-to-end development workflow for jcm — atomic commits, the local test/lint gate, opening a PR linked to its issue, monitoring CI and the automatic Codex review, addressing feedback, and handing…
climate-analytics-lab/jax-gcm
Run the jax-gcm CI gates locally on Derecho when GitHub Actions minutes are exhausted or a pre-push check is wanted — lint, fast tests (90% coverage), slow tests (80% PR coverage) and a local Claude…
Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures. Jcm Run is an agent skill from climate-analytics-lab/jax-gcm. Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures.
Run `npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a claude-code`. Or copy the skill folder (.claude/skills/jcm-run in climate-analytics-lab/jax-gcm) into .claude/skills/jcm-run in your project. Claude Code loads it when a task matches its description.
Run `npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a codex`. Or copy the skill folder (.claude/skills/jcm-run in climate-analytics-lab/jax-gcm) into .agents/skills/jcm-run in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jcm-run, .gemini/skills/jcm-run, .github/skills/jcm-run and .opencode/skills/jcm-run in your project.
Going by SKILL.md and its folder, Jcm Run needs the command-line tools its instructions call (python and git). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Jcm Run is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Jcm Run: Shipping and Launch Checklist (addyosmani/agent-skills, 103k stars), Launch Strategy (alirezarezvani/claude-skills, 28k stars), HTML Ppt Product Launch (nexu-io/open-design, 100k stars) and Product Launch Video (heygen-com/hyperframes, 59k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
climate-analytics-lab (a GitHub organization) maintains it in climate-analytics-lab/jax-gcm, which has 108 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.
Source: climate-analytics-lab/jax-gcm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.