con un clic
gpu-status
// Show GPU availability across all SSH servers listed in this project's CLAUDE.md. Use when user says "check GPUs", "which GPUs are free", "gpu status", "GPU 状态", or needs to know where to run experiments.
// Show GPU availability across all SSH servers listed in this project's CLAUDE.md. Use when user says "check GPUs", "which GPUs are free", "gpu status", "GPU 状态", or needs to know where to run experiments.
Autonomous multi-round research review loop. Supports two modes: (1) Plan-driven: takes an implementation plan file, executes TODO items respecting dependency DAG, uses Codex MCP to verify completion of each item. (2) Free-form: iterates review → fix → re-review until positive assessment. Use when user says 'auto review loop', 'review until it passes', or wants iterative improvement.
"Register or update an ARIS run on the web dashboard. Internal utility used by other skills and CLAUDE.md auto-registration. Call at skill start to register, at skill end to report completion. If ~/.claude/aris-api.json is absent, does nothing (zero-impact)."
Sync local and remote project files bidirectionally. Handles code, resources, papers, and experiment outputs. Use when user says "sync", "push files", "pull files", "upload code", "download results".
Initialize a new research repository with the recommended AIRS project structure. Use when starting a new project, setting up a repo, or user says "init repo", "scaffold project", "create project structure".
Search and analyze research papers, find related work, summarize key ideas. Use when user says "find papers", "related work", "literature review", "what does this paper say", or needs to understand academic papers.
Set up a reproducible Python project environment on the remote server using pixi or uv. Use when executing a project environment setup node generated by the jumpstart mechanism.
| name | gpu-status |
| description | Show GPU availability across all SSH servers listed in this project's CLAUDE.md. Use when user says "check GPUs", "which GPUs are free", "gpu status", "GPU 状态", or needs to know where to run experiments. |
| argument-hint | optional: server name to filter |
Check GPU availability: $ARGUMENTS
.aris/project.jsonRead the project config file:
cat .aris/project.json
This is a structured JSON file with all server details:
{
"projectId": "...",
"servers": [
{
"name": "papermachine.egr.msu.edu",
"ssh": "ssh -J chenzh85@scully chenzh85@papermachine",
"host": "papermachine.egr.msu.edu",
"user": "chenzh85",
"proxyJump": "chenzh85@scully.egr.msu.edu",
"sshKeyPath": "~/.auto-researcher/id_ed25519",
"remotePath": "/egr/research-dselab/chenzh85/AutoRDL"
}
]
}
Extract servers from the JSON. If $ARGUMENTS names a specific server, filter to that server only.
If .aris/project.json is missing or has no servers, tell the user:
No remote servers configured. Add SSH server targets to this project in the ARIS workspace.
For each server, run nvidia-smi via SSH:
ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=no \
[-J <proxyJump>] [-i <sshKeyPath>] \
<user>@<host> \
"nvidia-smi --query-gpu=index,name,memory.used,memory.total,utilization.gpu,temperature.gpu --format=csv,noheader" 2>&1
The SSH command is in the ssh field of each server object. Use it directly — no parsing needed.
If nvidia-smi is not found, try /usr/bin/nvidia-smi.
If the server is unreachable or has no GPUs, note it and move on.
Query all servers in parallel (use multiple tool calls in one message).
A GPU is free if:
memory.used < 500 MiB — completely idlememory.used < 2000 MiB AND utilization.gpu < 10% — likely idle (small framework overhead)A GPU is partially available if:
A GPU is busy if:
Display a table per server:
### papermachine.egr.msu.edu
| GPU | Model | VRAM Used | VRAM Total | Util % | Temp | Status |
|-----|-------------|-------------|------------|--------|------|-----------|
| 0 | RTX A5000 | 234 MiB | 24564 MiB | 0% | 32C | Free |
| 1 | RTX A5000 | 22100 MiB | 24564 MiB | 87% | 71C | Busy |
| ... |
Then a summary:
### Summary
- papermachine: 5 free, 1 partial, 2 busy (8 GPUs)
- chatdse: 4 free, 0 partial, 0 busy (4 GPUs)
- ...
Total free GPUs: 28
Based on availability: