# Remote Compute Ssh

Evaluate and use SSH Remote Compute before choosing where to run GPU, high-memory...

- Repository: https://github.com/aipoch/open-science (5414 stars)
- Category: Data and ML
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add aipoch/open-science --skill remote-compute-ssh -g -a claude-code -y`
Codex: `npx skills add aipoch/open-science --skill remote-compute-ssh -g -a codex -y`
Cursor: `npx skills add aipoch/open-science --skill remote-compute-ssh -g -a cursor -y`
Gemini CLI: `npx skills add aipoch/open-science --skill remote-compute-ssh -g -a gemini-cli -y`

## Description

Evaluate and use SSH Remote Compute before choosing where to run GPU, high-memory, parallel, batch, model-inference, bioinformatics, or other long-running scientific work; supports short remote commands and asynchronous jobs with automatic harvest and analysis.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

This skill covers remote compute over SSH, including direct execution and Slurm submission:
listing hosts, creating handles, running short remote commands (callCommand), reading/writing host
knowledge docs, and the full async job lifecycle, submit → save `job_id` → read non-blocking
snapshots by that ID →
harvest → analysis turn → publish artifacts.

**Where host.compute runs:** `host.compute` lives ONLY on the control-plane REPL kernel, run
every example below with the `repl_execute` tool (JavaScript), the same kernel that hosts
`host.mcp`. The `python`/`r` data kernels have NO `host.compute` (SSH and approvals stay outside
the sandbox workspace); calling it from a python/r cell will fail with `host.compute is undefined`.

## Choose an execution location

Only Compute Hosts enabled for this Session are visible or callable. Discover them in one catalog;
each entry has role `selected` or `available`. A non-empty selected pool is an execution instruction:
run tool-backed task work on one or more selected hosts as the task requires. The pool has no
priority and does not imply automatic multi-host scheduling. If no host is selected, choose from the
available entries. Read `details()` only for candidates that need closer evaluation.

Never guess or reuse a provider id absent from the catalog. A user naming a disabled host does not
make it callable; explain that it must first be enabled for this Session. If no eligible host is
usable, explain the blocker and ask the user how to proceed.

```javascript
const hosts = await host.compute.listHosts()
const selectedHosts = hosts.filter((host) => host.role === 'selected')
const candidates = selectedHosts.length > 0 ? selectedHosts : hosts
```

The rest: https://github.com/aipoch/open-science/blob/HEAD/resources/skills/remote-compute-ssh/SKILL.md
