Synthèse automatique
Gère l'exécution d'expériences sur le cluster HPC TACC Vista, incluant la synchronisation du code, la soumission de jobs SLURM et la récupération des résultats.
Points forts
- Intégration transparente avec TACC Vista via SSH et rsync pour la synchronisation du code.
- Wrapper de commande dédié (cmd) pour configurer l'environnement sur les nœuds de calcul.
- Gestion complète du cycle de vie des jobs (soumission, surveillance, annulation, téléchargement).
Limites
- Fonctionne uniquement avec le cluster TACC Vista spécifique, non portable sans adaptation.
- Nécessite une configuration initiale SSH et d'environnement (installation du wrapper cmd).
- Dépend du fichier .bashrc de l'utilisateur pour configurer l'environnement Python.
Utilisez-le lorsque vous devez exécuter des expériences intensives en GPU sur TACC Vista, soumettre des jobs SLURM ou gérer des workflows expérimentaux sur ce cluster.
Ne l'utilisez pas pour des tâches locales uniquement (édition de code, tests) ou pour d'autres clusters HPC sans modification de la configuration.
Analyse de sécurité
SûrThe skill manages HPC cluster operations via SSH and SLURM commands without instructing any destructive or exfiltrating actions. It uses a wrapper script for running user commands on compute nodes, but the skill itself is not inherently risky.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Submit a training job on TACC using 1 GPU, 4 CPUs, and the 'genecad' repo.Sync my latest code changes to TACC.Check the SLURM queue on TACC.name: tacc description: Manages experiment execution on the TACC Vista HPC cluster. Use when the user says "run on TACC", "run the pipeline", "allocate a GPU node", "check SLURM queue", "sync code to TACC", "download results from TACC", "cancel that job", or when any task requires GPU/CPU compute that cannot run locally. Do NOT use for local-only tasks like editing code, running tests, or plotting. allowed-tools: Bash
TACC HPC Cluster (Vista)
This skill targets the Vista supercomputer within TACC (Texas Advanced Computing Center). Queue names, module versions, and filesystem layout are Vista-specific and may differ on other TACC systems.
First-Time Setup
Before any TACC operations, verify the user's environment is ready. Run these checks and guide the user through fixing any failures:
Step 1: Verify SSH access
ssh tacc "echo 'SSH OK'"
If this fails, the user needs to configure tacc as an SSH host in ~/.ssh/config.
Step 2: Install command wrapper
ssh tacc "test -x \$HOME/local/bin/genecad/cmd && echo 'cmd OK' || echo 'MISSING'"
If missing, install it from the local skill scripts:
ssh tacc "mkdir -p ~/local/bin/genecad"
rsync -Pz .claude/skills/tacc/scripts/cmd tacc:~/local/bin/genecad/cmd
ssh tacc "chmod +x ~/local/bin/genecad/cmd"
The cmd script sources .bashrc, sets PYTHONPATH, cds to the repo, and exports RANK/WORLD_SIZE from SLURM variables, then execs the given command. It is the single entry point for running commands on compute nodes.
Step 3: Verify Python environment
ssh tacc "bash -l -c 'which python && python --version'"
Expected: Python 3.11+ from a venv at $WORK/envs/ml-rel/bin/activate, sourced by .bashrc. Do NOT use conda, mamba, or micromamba — they are not installed on Vista.
Step 4: Verify repository exists on TACC
ssh tacc "bash -l -c 'cd \$WORK/repos/genecad && git status --short'"
If the repo doesn't exist, clone it: ssh tacc "bash -l -c 'git clone <REPO_URL> \$WORK/repos/genecad'".
Filesystem Model
$WORK— Small, persistent filesystem. All code and repositories live here. Treat stored data as read-only unless explicitly instructed otherwise.$SCRATCH— Effectively unlimited capacity but subject to automatic garbage collection (data expires if not accessed frequently enough).$SCRATCH/tmpis the default output location for ALL experiment results unless instructed otherwise. Any other directories under$SCRATCHshould be treated as read-only data sources, not output destinations.
Login Node vs Compute Node
The tacc SSH alias connects to a login node. Use it freely for:
- File exploration (
ls,find,du) - Environment checks (
which python,env) - Data inspection and analysis (Python + pandas, matplotlib, parsing results, generating tables/plots)
- Running analysis scripts that don't need GPUs or heavy compute
- Git operations (
git status,git pull) - Job management (
squeue,scancel,idev)
Compute nodes cost SU credits. Only allocate a compute node when:
- The task requires a GPU (model inference, predictions)
- The task requires significant CPU or memory (large-scale post-processing)
Do NOT allocate a compute node just to run ls, check paths, inspect files, or run quick scripts. Use ssh tacc "bash -l -c 'COMMAND'" for that.
Experiment Workflow
A typical experiment follows this sequence. Each step depends on the prior step completing successfully.
Step 1: Sync code to TACC
bash .claude/skills/tacc/scripts/sync # rsync (default, fast, no commit needed)
bash .claude/skills/tacc/scripts/sync --git # git push + pull (requires clean commit)
rsync (default): Directly pushes local files without requiring a git commit. Use for in-progress work.
git (--git): Use only when changes are committed and you want the remote to match a specific branch/commit.
Step 2: Check for existing compute nodes
ssh tacc "squeue -u \$USER -o '%.18i %.9P %.30j %.2t %.10M %.6D %.20R'"
Reuse a running node if one exists — each session has a minimum 15-minute charge.
Step 3: Allocate a compute node
Queues:
| Queue | Type | Time Limit | Use Case |
|-------|------|------------|----------|
| gg | CPU-only | — | CPU-only jobs (post-processing, evaluation) |
| gh-dev | GPU dev | 2 hours | Try first for GPU work |
| gh | GPU prod | — | Fallback if gh-dev has no nodes |
Do not allocate a CPU-only node (gg) for GPU work. The prediction step requires a GPU.
Single-node (default): Use idev to allocate an interactive node:
idev -p gh-dev -N 1 -n 1 -t 2:00:00
Then find the allocated node:
ssh tacc "squeue -u \$USER -h -t R -o '%N'"
Multi-node: Use srun directly — no idev needed (see Step 4).
Step 4: Run the experiment
Write all output to $SCRATCH/tmp unless instructed otherwise.
Single-node execution
After allocating a node with idev (Step 3), find the node name and run commands via cmd. Since cmd cds to the repo automatically, commands can use repo-relative paths directly:
NODE=$(ssh tacc "squeue -u \$USER -h -t R -o '%N'" | head -1)
ssh tacc "ssh $NODE ~/local/bin/genecad/cmd python scripts/predict.py ..."
For long-running single-node jobs, prefer sbatch over idev to survive SSH disconnects.
Multi-node execution with srun
Use srun to launch the same command across multiple nodes simultaneously. The cmd wrapper sets RANK=$PMIX_RANK and WORLD_SIZE=$SLURM_NNODES, so each node knows its rank and the total node count.
ssh tacc "bash -l -c '\
srun -p gh-dev -N 8 -n 8 --tasks-per-node 1 -t 2:00:00 \
--output \$SCRATCH/tmp/logs/<name>.log \
--error \$SCRATCH/tmp/logs/<name>.log \
~/local/bin/genecad/cmd python scripts/predict.py create_predictions \
--input ... --output-dir ...'" 2>&1 &
Important notes for multi-node srun:
- Always use
--tasks-per-node 1— each node runs one instance of the command. - Environment variables set before the
sruncall propagate to all nodes. - All nodes write to the same
--output/--errorlog file (interleaved). Use[rank=N]prefixes in log messages to distinguish nodes. srunblocks until all nodes finish. Run it in background (&) and monitor viatailon the log file.
Monitoring progress
ssh tacc "tail -20 \$SCRATCH/tmp/logs/<name>.log"
Step 5: Download results
rsync -Pz tacc:/remote/results/path local/results/path
Always use rsync instead of scp.
Step 6: Cancel the job
ssh tacc "scancel <jobid>"
Always cancel jobs when done. Idle jobs consume SU credits.
Environment
- Python env: standard venv at
$WORK/envs/ml-rel/bin/activate, sourced automatically by.bashrc - Do NOT use conda, mamba, or micromamba — they are not installed
- Modules loaded by
.bashrc:gcc/13.2.0,cuda/12.4,python3/3.11.8 .bashrcmust be sourced for all remote commands —cmdhandles this automatically
Troubleshooting
"No running compute node found"
Cause: No idev session is active, or the job expired.
Fix: Allocate a new node per Step 3 of the Experiment Workflow.
Node allocated on wrong queue (e.g., gg for GPU work)
Cause: gg is CPU-only. GPU predictions will fail or silently use CPU (extremely slow).
Fix: Cancel the job (scancel <jobid>) and allocate on gh-dev or gh.
File transfer fails with scp
Fix: Use rsync -Pz instead of scp.
Python environment not found / conda not found
Cause: .bashrc was not sourced, or agent tried to use conda.
Fix: Ensure all compute node commands go through cmd. Never use conda/mamba/micromamba.
Pre-commit pyrefly hook fails locally
Cause: pyrefly is not installed in the local dev environment.
Fix: uv pip install pyrefly
SSH timeout during long-running command
Cause: Command was run in foreground and SSH connection dropped. Fix: Always background long-running commands and redirect to a log file. Check progress by tailing the remote log.
Hallucinated or incorrect numbers in result summaries
Cause: Model generated numbers from memory instead of reading source data.
Fix: ALWAYS read raw result files (.stats, .tsv) before quoting any numbers. Never guess or recall numbers from earlier in the conversation.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/tacc-vista-hpc-cluster-management-mm8o51uj/download' --output '.skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj/SKILL.md.part' && mv '.skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj/SKILL.md.part' '.skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj/SKILL.md' && test -s '.skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/tacc' && cp -R '.skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj' '.claude/skills/tacc'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj'openskills read 'tacc-vista-hpc-cluster-management-mm8o51uj'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/tacc-vista-hpc-cluster-management-mm8o51uj/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Créer des cartes interactives avec kepler.gl
Data & IA
Création de cartes interactives et export HTML autonome avec le package Python keplergl, à partir de données géospatiales (DataFrame, GeoJSON, CSV).
Optimisation de paramètres par agent
Data & IA
Guide d'optimisation de systèmes configurables avec objectif mesurable, via des essais bornés et une recommandation fondée sur des preuves.
Relance des visiteurs ICP
Data & IA
Identifiez les utilisateurs inscrits correspondant au profil client idéal mais qui n'ont pas activé, et rédigez des messages de relance personnalisés pour les réengager.