Skip to content

hwang595/hpc-skill-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

187 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HPC Skill Hub logo

HPC Skill Hub

Open, validated, reusable skills for HPC workflows.

Validate workflow Package workflow Pages workflow Version 0.6.0 Python 3.9+ 97 skills MIT license

Registry site · Skill catalog · Contribute a skill · Open ecosystem proposal

HPC Skill Hub is an open registry of reusable, reviewable skills for running, debugging, optimizing, and maintaining high performance computing workflows.

The project starts with practical skills for Slurm, containers, software environments, workflow engines, data transfer, MPI, GPUs, and performance triage. Each skill is a small package with a machine-readable manifest, operator notes, examples, and validation metadata.

Why This Exists

HPC knowledge is often spread across cluster-specific wiki pages, old shell scripts, lab notebooks, and one-off support tickets. This repository turns that knowledge into portable, testable building blocks that can be reviewed by the community and adapted by HPC centers, research groups, and agentic developer tools.

Repository Layout

.
├── skills/                 # Skill packages, one directory per skill
├── collections/            # Curated groups of skills for adoption paths
├── site-adapters/          # Optional local cluster policy adapters
├── integrations/           # Canonical and generated MCP client configuration
├── security/               # Versioned community-skill trust policy packs
├── agent-bench/            # Agent benchmark task and result contracts
├── schemas/                # JSON Schemas for skill metadata
├── tools/                  # Local validation and maintenance scripts
├── docs/                   # Architecture, specification, and governance docs
├── assets/                 # Project logo and public brand assets
└── .github/workflows/      # CI checks for every pull request

First Batch Of Skills

Skill Purpose
slurm-submit-job Generate safe Slurm batch scripts for CPU, GPU, MPI, and array jobs.
pbs-submit-job Generate safe PBS or OpenPBS batch scripts for common HPC job shapes.
lsf-submit-job Generate safe IBM LSF bsub scripts for common HPC job shapes.
htcondor-submit-job Generate safe HTCondor submit descriptions for high-throughput jobs.
grid-engine-submit-job Generate safe Grid Engine qsub scripts for common HPC job shapes.
slurm-job-array-patterns Run parameter sweeps and independent tasks with bounded Slurm arrays.
slurm-array-retry-plan Plan safe retries for failed Slurm array tasks.
slurm-job-dependency-chain Chain multi-stage Slurm jobs with explicit dependencies.
slurm-pending-reason-triage Explain why Slurm jobs are pending using read-only scheduler signals.
slurm-maintenance-reservation-triage Collect read-only Slurm evidence for maintenance windows and reservations.
slurm-qos-account-limit-triage Collect read-only evidence for Slurm account, QOS, and fairshare limits.
slurm-monitor-job Inspect queued, running, completed, and failed Slurm jobs.
slurm-output-log-triage Collect read-only evidence for missing or confusing Slurm output logs.
slurm-resource-estimator Estimate memory, wall time, and CPU needs from accounting history.
slurm-oom-memory-triage Collect Slurm memory evidence for out-of-memory jobs.
slurm-time-limit-triage Collect read-only evidence for Slurm time-limit failures.
slurm-node-failure-triage Collect read-only evidence for Slurm node-related job failures.
slurm-efficiency-report Summarize completed Slurm job efficiency from accounting data.
license-aware-slurm-job Plan Slurm jobs that request and verify tracked software license resources.
checkpoint-restart-workflow Structure long jobs so they can resume after limits or preemption.
slurm-preemption-requeue Handle Slurm preemption signals and guarded requeue workflows.
job-failure-triage Diagnose common job failures such as OOM, time limits, and missing modules.
interactive-session Start interactive compute sessions for shells, notebooks, and IDE tunnels.
open-ondemand-batch-connect Prepare reviewable Open OnDemand Batch Connect app templates.
jupyter-on-slurm Launch Jupyter notebooks inside short Slurm compute allocations.
rstudio-on-slurm Launch policy-aware RStudio or Posit sessions from Slurm allocations.
vscode-tunnel-on-slurm Run VS Code Remote Tunnels from short Slurm compute allocations.
training-cluster-reset-checklist Prepare and review HPC training environments before and after workshops.
openmp-thread-affinity Align OpenMP threads with Slurm CPU allocations and affinity settings.
blas-openmp-thread-control Align BLAS, OpenMP, and language thread pools with HPC CPU allocations.
file-descriptor-limit-triage Collect read-only evidence for too-many-open-files failures.
quota-and-filesystem-triage Diagnose quota, inode, capacity, and permission failures.
shared-project-permissions-triage Collect read-only evidence for shared project directory permission and ACL failures.
scratch-storage-management Inventory user-owned scratch, project, and workflow storage usage.
node-local-scratch-staging Stage data through node-local scratch with guarded cleanup.
ior-mdtest-storage-smoke Collect small IOR and MDTest storage benchmark evidence on Slurm.
module-environment-debug Debug module, compiler, MPI, and library path conflicts.
module-tree-health-check Collect read-only evidence about visible HPC module tree health.
compiler-mpi-matrix Check compiler, MPI wrapper, and module compatibility before building HPC codes.
cmake-hpc-build-preflight Plan reproducible CMake configure, build, test, and install steps on HPC systems.
parallel-hdf5-netcdf-preflight Check parallel HDF5 and NetCDF MPI-IO build and runtime assumptions.
darshan-io-profile-analysis Analyze Darshan logs for HPC I/O behavior and bottleneck evidence.
lustre-striping-layout-planning Inspect and plan Lustre stripe layouts for data-intensive HPC workloads.
reproducible-run-capture Capture command, environment, provenance, and logs for reproducible HPC runs.
python-virtualenv-on-hpc Create lightweight Python virtual environments with explicit HPC module assumptions.
tensorboard-on-slurm Run policy-aware TensorBoard monitors from short Slurm allocations.
streamlit-on-slurm Run policy-aware Streamlit apps from short Slurm compute allocations.
ray-on-slurm Launch resource-bounded Ray clusters inside Slurm allocations.
dask-jobqueue-on-slurm Launch Dask workers through Slurm with dask-jobqueue and bounded dry-run defaults.
parsl-on-slurm Run small Parsl workflows on Slurm with explicit provider and executor limits.
mpi4py-on-slurm Run mpi4py Python programs on Slurm with matching MPI and Python environments.
mpi-rank-binding-diagnostics Collect MPI rank placement and CPU binding evidence from Slurm jobs.
rscript-on-slurm Run R scripts on Slurm with explicit package-library and output controls.
julia-on-slurm Run Julia scripts on Slurm with explicit depot, project, and thread settings.
matlab-batch-on-slurm Run non-interactive MATLAB workloads on Slurm with explicit logs and license notes.
conda-mamba-on-hpc Create Conda or Mamba environments while protecting shared HPC filesystems.
container-build-for-hpc Plan and build Apptainer-compatible images for shared HPC systems.
apptainer-run-container Run Apptainer/Singularity containers safely on shared HPC systems.
apptainer-mpi-on-slurm Run MPI applications from Apptainer containers inside Slurm allocations.
spack-environment-create Create reproducible Spack environments for scientific software stacks.
easybuild-install-software Install scientific software with EasyBuild recipes and module output.
globus-transfer-dataset Stage and verify large research datasets with Globus transfers.
rsync-data-transfer Transfer datasets with rsync dry-runs, resumable options, and validation hooks.
object-storage-transfer Plan object-storage transfers between HPC filesystems and cloud remotes.
checksum-manifest-create Create checksum manifests for transfer validation and reproducibility.
dataset-staging-to-scratch Stage inputs to scratch, run work, and collect outputs from Slurm jobs.
node-local-scratch-staging Stage data through node-local scratch with guarded cleanup.
large-file-archive-prepare Prepare large HPC datasets for archival, publication, or handoff.
cwl-on-slurm Run small CWL workflows inside Slurm allocations with cwltool.
wdl-on-slurm Run small WDL workflows inside Slurm allocations with miniwdl.
nextflow-on-slurm Configure Nextflow pipelines for Slurm-backed execution.
snakemake-on-slurm Configure Snakemake workflows for Slurm profiles.
nf-core-on-slurm Run nf-core Nextflow pipelines on Slurm with conservative HPC defaults.
gatk-workflow-on-hpc Plan and run GATK variant-calling workflows on shared HPC systems.
blast-on-slurm Run local BLAST+ searches on Slurm with bounded smoke-test defaults.
gromacs-on-slurm Run GROMACS molecular dynamics jobs on Slurm with MPI, OpenMP, GPU, and checkpoint planning.
lammps-on-slurm Run LAMMPS molecular dynamics jobs on Slurm with MPI, GPU, and restart planning.
namd-on-slurm Run NAMD molecular dynamics jobs on Slurm with CPU/GPU and restart planning.
quantum-espresso-on-slurm Run Quantum ESPRESSO PWscf jobs on Slurm with MPI sizing and restart planning.
cp2k-on-slurm Run CP2K calculations on Slurm with MPI/OpenMP layout and restart planning.
openfoam-on-slurm Run OpenFOAM CFD cases on Slurm with decomposition, MPI launch, and reconstruction planning.
wrf-on-slurm Run WRF real-data jobs on Slurm with MPI sizing, real.exe staging, restart, and I/O planning.
mpi-hello-and-benchmark Compile and run MPI sanity checks and simple communication benchmarks.
mpi-fabric-diagnostics Collect MPI transport and fabric evidence for multi-node Slurm jobs.
hybrid-mpi-openmp-slurm Plan and verify hybrid MPI/OpenMP task and thread layouts on Slurm.
gpu-sanity-check Verify GPU allocation, CUDA/ROCm visibility, and multi-GPU communication.
slurm-gpu-binding-diagnostics Collect per-task GPU binding and visibility evidence from Slurm jobs.
jax-distributed-on-slurm Plan and smoke test distributed JAX jobs on Slurm GPU allocations.
huggingface-accelerate-on-slurm Plan and smoke test Hugging Face Accelerate launches on Slurm.
tensorflow-multiworker-on-slurm Plan and smoke test TensorFlow MultiWorkerMirroredStrategy jobs on Slurm.
pytorch-ddp-on-slurm Launch and verify PyTorch distributed data parallel jobs on Slurm.
nccl-diagnostics Collect NCCL communication evidence for multi-GPU and multi-node jobs.
gpu-memory-triage Distinguish GPU allocation, framework, and model memory failures.
deepspeed-on-slurm Plan and smoke test DeepSpeed launches on Slurm GPU allocations.
performance-profile-basic Collect first-pass CPU, memory, I/O, and GPU profiling evidence.
cluster-usage-report-readonly Collect read-only Slurm usage evidence for facility support reports.
node-health-readonly-triage Collect read-only Slurm node evidence for support triage.

Quick Start

Validate the registry:

python3 tools/hpc_skill.py validate
make check

Explore the registry:

python3 tools/hpc_skill.py list
python3 tools/hpc_skill.py list --collection simulation-workflows --tool bash --json
python3 tools/hpc_skill.py search slurm
python3 tools/hpc_skill.py search simulation --scheduler slurm --risk medium
python3 tools/hpc_skill.py show slurm-submit-job --examples
python3 tools/hpc_skill.py collections
python3 tools/hpc_skill.py collection core-hpc
python3 tools/hpc_skill.py health
python3 tools/hpc_skill.py validate --skill slurm-submit-job --json
python3 tools/review_candidates.py --limit 12

Install the CLI during development:

python3 -m pip install .
hpc-skill list
hpc-skill collection core-hpc
hpc-skill resolve slurm-submit-job --adapter example-campus-cluster --json

Install the optional read-only MCP server on Python 3.10 or later:

python3 -m pip install '.[mcp]'
hpc-skill doctor --require-mcp

See the MCP client setup guide for generated Codex and Claude Code configurations. The stdio server performs read-only registry discovery and verified context retrieval; it does not execute skill examples.

Scaffold new contributions:

python3 tools/hpc_skill.py new skill my-new-skill --category education --tool bash
python3 tools/hpc_skill.py new site-adapter my-campus-cluster --name "My Campus Cluster"

Validate one skill:

python3 tools/hpc_skill.py check slurm-submit-job
python3 tools/hpc_skill.py check slurm-submit-job --json

Create a new skill:

python3 tools/hpc_skill.py new skill my-new-skill --category education --tool bash

Then update the manifest, add README.md, add examples, and run the validator.

Rebuild the registry index after adding or editing skills:

python3 tools/hpc_skill.py validate --skill my-new-skill
python3 tools/build_index.py
python3 tools/build_health.py
python3 tools/build_skill_context.py
python3 tools/build_package_data.py
python3 tools/hpc_skill.py validate

Run the standard local checks:

make check

Prepare GitHub publication commands without taking networked action:

python3 tools/launch_readiness.py --owner <owner> --run-check
python3 tools/github_publish_plan.py --owner <owner> --run-check
python3 tools/launch_evidence.py --owner <owner> --run-check
python3 tools/proposal_evidence.py --owner <owner> --run-check
python3 tools/review_candidates.py --limit 12
python3 tools/github_homepage.py --repo <owner>/hpc-skill-hub
python3 tools/github_post_launch_check.py --repo <owner>/hpc-skill-hub --dry-run

Quality Gates

The repository is set up as a versioned registry, not just a documentation dump:

Gate What it proves
Validate workflow Skill manifests, generated registry files, safety audit, CLI smoke tests, and unit tests pass on every push and pull request.
registry/skill-quality.json Deterministic documentation and evidence coverage baseline that prioritizes review work without claiming maturity or correctness.
hpc-skill security Community skill packages receive deterministic prompt-injection, command, persistence, credential, package, and risk-declaration checks before adoption.
hpc-skill intake Untrusted directories, ZIP files, and TAR files are bounded, quarantined, scanned, cleaned, and reported without execution or instruction loading.
hpc-skill receipt create|verify Deterministic community-intake receipts bind fresh source, inventory, policy, findings, exceptions, maintainer disposition, and accepted context provenance.
hpc-skill evidence packet|check Fresh accepted receipts produce instruction-free review packets; exact-bound independent reviews and public-safe adoption reports aggregate without authorizing maturity promotion.
hpc-skill community-context build|check|show Accepted P2 receipts and review-complete P3 evidence produce bounded, digest-verified P4 content with provenance before instructions and no operational authorization.
registry/community-pilot-v0.6.0.json Deterministic 9-case benign, ambiguous, and adversarial pilot across directory, ZIP, and TAR inputs, with synthetic-only claims kept explicit.
security/policies/community-default.json Versioned 26-rule trust baseline with monotonic overrides, digest-bound reviewed exceptions, and policy/target/rule-catalog receipts.
registry/skill-context.json Bounded registry-declared README and artifact content is bound to the index with file, skill, bundle, and security-report SHA-256 provenance.
registry/release-status.json Packaged v0.6 capability and gate status opens repository, synthetic intake-pilot, and verified release-provenance gates while keeping real adoption, comparative, and maturity claims closed.
registry/provenance/v0.6.0.json Latest verified release receipt, binding the immutable manifest and tag-built wheel/sdist to successful GitHub attestations.
hpc-skill-mcp Optional stdio-only MCP surface exposes seven closed-domain registry queries plus verified registry and explicitly configured community resources, with no execution or write tools.
Package workflow Source and wheel distributions build cleanly, metadata passes twine check, and reusable core/MCP isolation checks verify installed modules and trusted community context outside the checkout.
Publish Pages workflow The responsive static explorer builds from tracked registry and release-status data, with collection discovery, sorting, shareable filters, and table/card views.
registry/releases/v0.6.0.json Immutable published manifest with file checksums and registry counts for the reviewed v0.6 tag.
docs/REVIEW_PACKET_v0.2.0.md Reviewed-skill pilot queue with reviewer routing, suggested labels, and promotion gates.
pyproject.toml Package version, Python compatibility, CLI entry point, and project metadata are tracked in source control.

Project Status

v0.6.0 is the latest published and attestation-verified release. It delivers verified community-intake infrastructure without claiming real community acceptance, external review, site adoption, maturity promotion, or measured agent lift:

  1. No-execution quarantined directory and archive intake in P1.
  2. Exact-bound maintainer receipts and stale-evidence rejection in P2.
  3. Independent review and public-safe adoption evidence contracts in P3.
  4. Provenance-first, review-complete community context for CLI, MCP, Codex, and Claude Code in P4.
  5. A deterministic 9-case fixture pilot and reusable core/MCP installed-wheel isolation verifier in P5.
  6. An immutable v0.6 manifest and exact-digest provenance receipt verified against the tag-triggered manifest, wheel, and source-distribution attestations.

See ROADMAP.md for the technical roadmap.

Documentation

License

This project is licensed under the MIT License. See LICENSE.

About

Open registry of validated, reusable skills for HPC workflows.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages