From hpc
Install software on the Yale SOM HPC cluster with Lmod modules, uv, static/musl binaries, and Apptainer — no sudo. TRIGGER when installing tools or packages on the Yale SOM HPC cluster, hitting GLIBC errors on cluster nodes, building from source on the cluster, or using Apptainer containers there.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hpc:installing-softwareThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Rule: prefer cluster modules for system software, `uv`/`renv` for language packages, and static binaries in `~/.local/bin` for user tools.
Rule: prefer cluster modules for system software, uv/renv for language packages, and static binaries in ~/.local/bin for user tools.
module avail
module spider git
module spider r
module spider cuda
module load git
module load r
Important: Git may require module load git. Do not assume it is in the default PATH.
For Python projects, prefer uv and a project .venv over loading a generic Python module. Use the Python module only when you specifically need cluster-provided Python or a module-provided package.
In reusable shell scripts and Slurm scripts, load required modules explicitly rather than relying on your interactive shell state:
module purge
module load git
module load r
Put user-installed command-line tools here:
mkdir -p ~/.local/bin ~/go/bin
export PATH="$HOME/.local/bin:$HOME/go/bin:$PATH"
Good candidates:
uvghjqripgrepcrocrcloneKeep caches out of crowded home directories when possible:
export XDG_CACHE_HOME="/gpfs/scratch60/$USER/.cache"
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
Create them:
mkdir -p "$XDG_CACHE_HOME" "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" ~/.local/bin
If a GitHub release offers a Linux musl build, prefer it:
x86_64-unknown-linux-musl
x86_64-musl
static-linux-amd64
Why: modern prebuilt binaries often require a newer glibc than the cluster provides. Static/musl builds avoid many GLIBC_2.xx not found errors.
Typical failure:
./tool: /lib64/libc.so.6: version `GLIBC_2.38' not found
Fix: download a musl/static build, use a module, build in Apptainer, or compile on the cluster.
uvInstall uv once into your user tools directory:
mkdir -p ~/.local/bin
curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
uv --version
Then use it per project:
cd /gpfs/project/myproject/code
uv init --app
uv add polars pyarrow duckdb
uv sync
module load git
gh auth login
gh repo clone owner/repo
If SSH auth fails, see connecting securely.
Apptainer is not in the default PATH. Load the module first:
module load apptainer
Use Apptainer when:
Conda can work, but it is a poor default on shared GPFS. Each environment adds tens of thousands of small files, which inflates GPFS metadata load for every user — not just you. Solves are also slow, and one-off environments are hard to reproduce. Prefer:
uv for Python projectsAvoid these patterns:
sudo apt install something # no sudo
conda create -n job_$SLURM_JOB_ID # inode bomb, not reproducible
pip install --user package # hard to reproduce
Prefer project lockfiles and local binary installs.
module spider / module load first.~/.local/bin or ~/go/bin.~/.local/bin is before system paths in PATH.XDG_CACHE_HOME when heavy.sudo, no credentials in install scripts, no per-job environments.uv init, uv add, uv run, lockfile and Python interpreter management.module spider, dependency hierarchy, module purge.XDG_CACHE_HOME/XDG_CONFIG_HOME/XDG_DATA_HOME.Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub yale-som-hpc/claude-code-marketplace --plugin hpc