remote-cluster-agent
Remote GPU cluster ops via `rca` CLI — run commands, transfer files, GPU/node inspection, mutagen sync.
Skill by jiahao-shao1
Chalk Labs
Need help deploying remote-cluster-agent?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jiahao-shao1-remote-cluster-agent
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/remote-cluster-agent
What's inside
- Skill name
remote-cluster-agent- Description
- Remote GPU cluster ops via `rca` CLI — run commands, transfer files, GPU/node inspection, mutagen sync. Trigger for any remote execution, training, GPU, cluster status, sync, or tail-log task even when 'cluster' isn't said. Triggers: cluster, GPU, rca, training, node, sync code, tail log, 集群, 节点, 远程执行, 同步代码, 跑训练, 看日志, GPU 占用.
- License
- MIT
- Instructions
- 242 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (47)
- .gitignore
- MUTAGEN.md
- Makefile
- README.md
- README.zh-CN.md
- SKILL.md
- VERSION
- agent.py · cluster-agent/
- cmd_agent.go · cmd/rca/
- cmd_batch.go · cmd/rca/
- cmd_config.go · cmd/rca/
- cmd_connect.go · cmd/rca/
- cmd_cp.go · cmd/rca/
- cmd_daemon_register.go · cmd/rca/
- cmd_exec.go · cmd/rca/
- cmd_nodes.go · cmd/rca/
- main.go · cmd/rca/
- architecture.html · docs/
- architecture.png · docs/
- go.mod
- go.sum
- connection.go · internal/agent/
- connection_test.go · internal/agent/
- protocol.go · internal/agent/
- sshcmd.go · internal/agent/
- sshcmd_test.go · internal/agent/
- client.go · internal/client/
- client_test.go · internal/client/
- config.go · internal/config/
- config_test.go · internal/config/
- migrate.go · internal/config/
- migrate_test.go · internal/config/
- handlers.go · internal/daemon/
- handlers_test.go · internal/daemon/
- monitor.go · internal/daemon/
- monitor_test.go · internal/daemon/
- pool.go · internal/daemon/
- pool_test.go · internal/daemon/
- server.go · internal/daemon/
- transfer.go · internal/daemon/
- transfer_test.go · internal/daemon/
- types.go · internal/protocol/
- types_test.go · internal/protocol/
- com.rca.daemon.plist · launchd/
- mutagen-setup.sh
- cluster-health.md · reference/
- mutagen-troubleshooting.md · reference/
SKILL.md (first lines)
# remote-cluster-agent
Local control plane for remote GPU clusters: a Go daemon + `rca` CLI. All commands go through the daemon's Unix socket to a cluster-side Python `agent.py` over persistent SSH, ~0.1s/command latency.
## What to do when triggered
1. **Check if `rca` is installed**: run `which rca`.
- If `not found` → run the first-time install flow (below), then continue to step 2.
2. **Check daemon status**: run `rca daemon status`.
- If `daemon request failed` → run `rca daemon start`.
3. **Check node connectivity**: run `rca nodes`.
- If the target node is dead → `rca connect <node>`. Still dead → re-establish whatever SSH tunneling / VPN / jump host you depend on, then retry.
- Second round still dead → read `rca daemon logs -f` for error detail.
4. Run the user's command.
**Don't write raw `ssh` commands**, always use `rca exec` / `rca batch`.
### First-time install (auto, no user action needed beyond SSH info)
When `which rca` returns not found, execute in order:
```bash
cd <skill_dir>
make install # builds rca into ~/go/bin (requires Go 1.21+)
rca config init # migrates legacy ~/.config/remote-cluster-agent/*.md, or generates blank template
```
Then **ask the user** for each node's SSH command, and write them into `~/.config/rca/config.toml` under `[nodes.*]`. Example:
```toml
[nodes.train]
ssh = "ssh gpu-train"
[nodes.eval]
ssh = "ssh -p 2222 gpu-eval"
dir = "/home/user/project"
agent_path = "/shared/.agent/agent.py"
```
Optional per-node overrides: `dir` (default working directory) and `agent_path` (where `agent.py` lives on that node). Both fall back to globals if unset.
Finally start and verify:
```bash
rca daemon start
rca daemon status # confirm running
rca nodes # confirm nodes connected
rca agent check # if agent missing → rca agent deploy
```
## Common operations
### Single-node exec / heredoc
```bash
rca exec -n train "nvidia-smi"
rca exec -n train -d /home/user/project "git pull"
rca exec -t 600 -n train "python train.py"
# heredoc (bypasses shell escaping, recommended for multi-line or special chars)
rca exec --stdin -n train <<'EOF'
cd /home/user/project
python -c "import json; print(json.dumps({'k':'v \"q\"'}))"
EOF
```
### Multi-node parallel (batch)
```bash
rca batch "nvidia-smi | head -20"
rca batch -n train,eval "df -h /home"
rca batch --json "hostname" | jq -r '.results[] | "\(.node): \(.output)"'
```
### Node status / connection management
```bash
rca nodes # current connection state
rca nodes --check # deep ping (with latency)
rca nodes --health # latency history (monitor-tracked)
rca connect train # manually reconnect a dead node
rca disconnect train # actively close a node's connection
```
### File transfer (cp)
`rca cp` moves files through the agent's JSON-Lines channel (base64-encoded, 50 MB/file limit). Works on any SSH setup — no separate SCP/rsync path needed.
```bash
rca cp train:/home/user/logs/train.log ./
rca cp ./config.yaml train:/home/user/project/config.yaml
rca cp -r train:/home/user/checkpoints/exp07 ./local-copy/
```
For very large files (multi-GB checkpoints), use shared filesystem or object storage — `rca cp` peaks around 2–3 MB/s.
### Streaming / long tasks
```bash
rca exec -s -n train "tail -f /var/log/train.log"
rca exec -s -n train "python train.py"
```
### Cluster health inspection
Triggered when the user says "cluster status", "which node is free", "cluster health", "GPU usage". Use `rca batch` for parallel sampling:
```bash
rca nodes --check
rca batch "nvidia-smi --query-gpu=name,memory.used,memory.total,utilization.gpu --format=csv"
rca batch "df -h /home | tail -1"
rca batch "uptime && tmux ls 2>/dev/null | wc -l"
```
Summarize into a table and recommend the most idle node. See `reference/cluster-health.md` for detailed probe commands, parse rules, and report format.
## Reading files vs running commands
`rca exec` is for **executing commands** (starting training, killing processes, checking process state, installing deps) — not reading file contents.From jiahao-shao1/sjh-skills, MIT.
More from jiahao-shao1/sjh-skills
- 0.660score
session-team
jiahao-shao1
Coordinate Claude Code or Codex sessions on one machine, including messaging an existing CC session from Codex.
SkillAFreshness: A★ 39Claude Code +9 - 0.620score
notion-lifeos
jiahao-shao1
User's personal Notion LifeOS (PARA: tasks, notes, projects, Make Time journals) with pre-configured DB IDs + API access — required for any LifeOS interaction.
SkillBFreshness: B★ 39Claude Code +9 - 0.616score
paper-analyzer
jiahao-shao1
Deep critical analysis of one specific paper — dissect experimental setup, extract numbers, evaluate claims against a hypothesis.
SkillBFreshness: B★ 39Claude Code +9 - 0.610score
sync-docs
jiahao-shao1
Update the project's documentation to match recent code changes, then commit.
SkillBFreshness: B★ 39Claude Code +9 - 0.570score
paper-self-review
jiahao-shao1
Self-review for paper paragraphs — diagnose v1 issues and give a revision direction (intro, abstract, method, related work).
SkillCFreshness: C★ 39Claude Code +9 - 0.565score
experiment-registry
jiahao-shao1
Manage ML experiment lifecycle via structured YAML registry — register, record results, compare runs, track status.
SkillCFreshness: C★ 39Claude Code +9 - 0.565score
context-audit
jiahao-shao1
Audit project context management (CLAUDE.md, rules, knowledge) for progressive disclosure compliance.
SkillCFreshness: C★ 39Claude Code +9 - 0.564score
init-project
jiahao-shao1
初始化新项目的 Claude Code 配置。用户说"初始化项目"、"init project"、"配置 Claude Code"时触发。
SkillCFreshness: C★ 39Claude Code +9 - 0.505score
daily-summary
jiahao-shao1
Produce daily/yesterday work summary (日报) by aggregating Claude Code sessions, Git commits, and Notion task data — git log alone cannot do this.
SkillDFreshness: D★ 39Claude Code +9 - 0.502score
bibtex-fetch
jiahao-shao1
Fetch BibTeX entries from arXiv / Semantic Scholar.
SkillDFreshness: D★ 39Claude Code +9 - 0.500score
web-fetcher
jiahao-shao1
Fetch any URL as clean markdown.
SkillDFreshness: D★ 39Claude Code +9 - 0.500score
project-review
jiahao-shao1
Strategic project review — auto-discovers strategy docs (vision, roadmap, decisions, notes), produces five-dimension snapshot.
SkillDFreshness: D★ 39Claude Code +9
Signals
- Stars
- 39
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Apr 25, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jiahao-shao1/sjh-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jiahao-shao1
- 0.660score
session-team
jiahao-shao1
Coordinate Claude Code or Codex sessions on one machine, including messaging an existing CC session from Codex.
SkillAFreshness: A★ 39Claude Code +9 - 0.620score
notion-lifeos
jiahao-shao1
User's personal Notion LifeOS (PARA: tasks, notes, projects, Make Time journals) with pre-configured DB IDs + API access — required for any LifeOS interaction.
SkillBFreshness: B★ 39Claude Code +9 - 0.616score
paper-analyzer
jiahao-shao1
Deep critical analysis of one specific paper — dissect experimental setup, extract numbers, evaluate claims against a hypothesis.
SkillBFreshness: B★ 39Claude Code +9 - 0.610score
sync-docs
jiahao-shao1
Update the project's documentation to match recent code changes, then commit.
SkillBFreshness: B★ 39Claude Code +9 - 0.570score
paper-self-review
jiahao-shao1
Self-review for paper paragraphs — diagnose v1 issues and give a revision direction (intro, abstract, method, related work).
SkillCFreshness: C★ 39Claude Code +9 - 0.565score
experiment-registry
jiahao-shao1
Manage ML experiment lifecycle via structured YAML registry — register, record results, compare runs, track status.
SkillCFreshness: C★ 39Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get remote-cluster-agent running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
remote-cluster-agent skill. Agent Mart. https://agentmart.dev/skills/jiahao-shao1-remote-cluster-agent (last updated 2026-10-24)