v0.4.0
Six Claude Code skills where 0.3.0 shipped one, and an installer that
discovers them instead of naming them.
Skills
| Skill | Teaches |
|---|---|
bodhi-compute |
Cluster etiquette — a session is not a compute target. Now also sizing walltime around the monthly maintenance window. |
slurm-discovery |
What the cluster offers: partitions, accounts, QOS, and which combinations submit. Caches the map per cluster. |
bodhi-storage |
/beevol vs node-local /tmp, and where output belongs. |
bodhi-software |
Modules first, then containers, then pixi/uv. |
slurm-batch |
sbatch, arrays, dependencies, right-sizing from sacct. |
git-workflow |
Semantic versioning, Conventional Commits, worktrees, pull requests. |
Skills load on demand from their descriptions, so an agent picks up the one
the task calls for rather than carrying all six.
Installer
--install-claude now copies every skills/*/SKILL.md found beside the
script, and make install, make install-system and make nodes install the
whole tree from a $(SKILLS) wildcard. Adding a skill is dropping a directory
into skills/ — the previous shape hardcoded skills/bodhi-compute in six
places, and any one of them missed would have shipped a partial set to the
compute nodes.
make nodes-check now reports assets present based on the skills/ directory
rather than one skill inside it.
Notable
The maintenance-window guidance came out of measuring the scheduler rather
than reading the docs: a job asking for more walltime than remains before the
window is not rejected, it is deferred to after it. Against a window
21h49m out, -t 21:00:00 started immediately and -t 22:00:00 was pushed
46 hours to the reservation's end. ReqNodeNotAvail, Reserved for maintenance
in squeue is that, and it does not want resubmitting.
Upgrading
sudo make install-system # login node
sudo make nodes # fan out to the compute nodes
make nodes-check # confirm
sinteractive --install-claudeThe compute nodes need the assets too: running --install-claude from inside
a session runs the node's copy of the script, which resolves them relative to
itself.
Full changelog: https://github.com/rnabioco/sinteractive/blob/v0.4.0/CHANGELOG.md