Agent skill

Compute Environment Setup

by aipoch in aipoch/open-science

Prepares setup instructions and a named activation file for a user-managed software environment on an Open-Science SSH or Slurm compute host.

Apache-2.0Auto-check passedResearch & Science

Install Compute Environment Setup

skills CLI
$ npx skills add aipoch/open-science --skill compute-env-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aipoch/open-science compute-env-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aipoch/open-science.git skills-src && mkdir -p .claude/skills && cp -r skills-src/resources/skills/compute-env-setup .claude/skills/compute-env-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
compute-env-setup
GitHub stars
5.4k
Token cost
~2.6k tokens
SKILL.md length
1,155 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
Apache-2.0

At a glance

Prepares setup instructions and a named activation file for a user-managed software environment on an Open-Science SSH or Slurm compute host.

  • Setting up packages and modules a remote job needs but the host lacks
  • SKILL.md covers Define the environment, Prepare user-owned…, Validate where jobs run and Record reusable host facts
  • Calls conda
  • Writing a repeatable activation file for a named environment

What it does

Open-Science resolves a job's environment name by sourcing a matching `.sh` file from `~/.open-science/environments/` before the workload runs, and older definitions under `~/.openscience/environments/` stay readable. The skill prepares one reproducible environment definition and instructions for one small activation file. It checks both locations first, updates an existing definition in place, asks you which to keep if both exist, and never creates a second copy just to rename the brand. The file only activates the environment and does not install packages when a job starts.

Environments, package caches, images and activation files belong to you or the host administrator. The skill may inspect them and write exact setup and removal commands, but it does not run commands that create, replace or remove them. It lists hosts and reads host details through `host.compute` in `repl_execute` JavaScript, picks the requested or a suitable host, and explains the blocker if none qualifies instead of installing locally. The reproducible source stays in your project as an `environment.yml`, a requirements or lock file, a container definition or a short setup script, with staging and scheduler commands spelled out for someone else to run.

When your agent uses it

  • Setting up packages and modules a remote job needs but the host lacks
  • Writing a repeatable activation file for a named environment
  • Checking an existing environment definition on a Slurm or SSH host

Example prompts

  • “Prepare a conda environment for my RNA-seq job on the lab Slurm host and give me the commands to run.”
  • “Check whether the genomics environment already exists on the SSH host and update its activation file.”
  • “Write the setup plan for a PyTorch environment on the cluster; I will run the commands myself.”

Requirements

  • An Open-Science SSH compute host, direct or Slurm
  • Someone with rights on the host to run the setup commands

What it can do on your machine

Read from SKILL.md and the folder at commit 2102e6d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • conda

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Compute Environment Setup loads about 2.6k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 1,155 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from aipoch/open-science at commit 2102e6d, republished under its Apache-2.0 licence (© aipoch). 1,155 words, ~2,565 tokens.

Download SKILL.mdSave it as .claude/skills/compute-env-setup/SKILL.md (or your agent's skills folder).
name
compute-env-setup
description
Prepare reproducible setup instructions and validate a user-managed named software environment on an Open-Science SSH Compute Host, including direct SSH and Slurm hosts. Use when a remote job needs packages, modules, cache variables, or a repeatable activation that the host does not already provide.
license
Apache-2.0

Compute environment setup

Prepare one reproducible environment definition and instructions for one small user-managed host activation file. Open-Science resolves submitJob(..., { environment: '<name>' }) by sourcing ~/.open-science/environments/<name>.sh before the workload. Existing ~/.openscience/environments/<name>.sh definitions remain readable in place. Before creating an activation, check both names: update the existing definition at its exact location; if both exist, ask the user which to retain. Never create a second activation just to rename the brand. The file contains activation only; it does not install packages when a job starts.

The environment, package caches, images, and activation file are user-managed durable resources, not Open-Science-owned components. This Skill may inspect them and prepare exact setup/removal commands, but must not execute commands that create, replace, or remove those resources. The user or host administrator runs those commands outside Open-Science and owns their lifecycle. Do not interpret the ~/.openscience path as app ownership.

Use host.compute only in repl_execute JavaScript. Python and R data kernels do not expose it. Start from the Session catalog and do not guess a provider id:

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

Choose the requested host, or a suitable candidate when the user left the target open. Read its knowledge and probe snapshot before changing it:

javascript
const providerId = candidates[0].provider_id
const executionMode = candidates[0].execution_mode
const details = await host.compute.details(providerId, { mode: 'read' })
const compute = host.compute.create(providerId)

If no eligible host exists, or the selected host is unsuitable, explain the concrete blocker. Do not install locally as a substitute for a requested remote environment.

Define the environment

Keep the reproducible source in the user's project: an environment.yml, requirements or lock file, container definition, or a short setup script appropriate to the stack. When installation must run on a compute node, include exact user- or administrator-run staging and scheduler commands in the plan; do not submit that installation through Open-Science. Do not store project package lists or secrets in the host knowledge document.

Use a logical name containing 1–64 letters, numbers, periods, underscores, or hyphens, starting with a letter or number. Its host activation file is:

text
~/.open-science/environments/<name>.sh

The activation file itself and every path it references must be visible at the same path on the execution node. A shared home directory satisfies this. If login and compute nodes have separate homes, copy the activation file to the compute-node home at the same path and use shared software and data paths inside it; if the host offers no durable way to do that, explain the limitation.

Prefer the host's existing environment system:

  • Conda or micromamba: create the environment from the project definition, then source the shell hook and activate it in the activation file.
  • Modules: load the exact module versions in the activation file. Combine modules with a venv or conda environment when Python packages are also needed.
  • Apptainer or Singularity: installation and image creation are cluster-specific. Use an existing shared image when possible. Do not claim that environment wraps an arbitrary command in a container; the activation contract only sources shell setup.

Set cache paths and bounded thread variables in the activation file when the workload needs them. Keep credentials out of it. Avoid sudo, system package changes, shell-profile edits, and unrequested changes to other named environments.

Before installing, use one batched, read-only probe to identify the scheduler, available environment tools, relevant modules, quotas, and shared scratch. A typical direct/Slurm probe is:

javascript
const probe = await compute.callCommand(
  'command -v conda || true; command -v micromamba || true; command -v module || true; command -v sbatch || true; printf "HOME=%s\\n" "$HOME"; printf "SCRATCH=%s\\n" "${SCRATCH-}"',
  'Inspect environment tooling',
  { loginShell: true, timeoutSeconds: 60 }
)

Ask the user only for facts the host cannot reveal, such as an allocation account, a required module family, or permission to choose among materially different package stacks.

Show full SKILL.md (600 more words)Show less

Prepare user-owned installation and removal

Produce a bounded, copyable installation plan for the user or host administrator. When the host is configured for Slurm, explain whether the plan must be run in an interactive allocation or submitted with provider-approved #SBATCH directives. Do not run the bootstrap through callCommand or submitJob: package installation, image pulls, caches, and activation files outlive the Open-Science process and have no application-owned receipt or uninstall lifecycle.

Name every path the plan will create, its expected storage/network impact, and a matching idempotent removal command. Preserve shared modules, package caches, base Conda installations, and images unless the user explicitly identifies them as exclusively theirs. Never use recursive deletion on a path derived only from an environment name; give the user the exact canonical path to verify first.

The user-run plan should create the environment before installing its activation file. It should write the activation file atomically: create a temporary file, set mode 600, and rename it to <name>.sh only after the environment succeeds. A conda activation file can be as small as:

bash
source "$HOME/miniforge3/etc/profile.d/conda.sh" || return $?
conda activate protein-gpu || return $?
export HF_HOME="${SCRATCH:-$HOME/.cache}/huggingface"
export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK:-1}"

Guard every required setup command with || return $? so a missing module, activation failure, or invalid export stops before the workload. Open-Science also treats any non-zero result from sourcing the activation file as a job failure. Do not append repeatedly or put activation in .bashrc; the named file makes job behavior deterministic without changing the user's interactive shell.

End the plan with an explicit removal procedure for the exact activation file and exclusively user-owned environment prefix. Removal must be safe to repeat and must not scan for similarly named resources. If ownership or sharing is unclear, remove only the activation file after the user verifies its contents and leave the environment/cache/image for the administrator.

Validate where jobs run

Validate the exact activation file, the imports or executables the task needs, and a small output witness. An import alone is insufficient for compiled or GPU software.

For direct SSH, run the witness with callCommand:

javascript
const witness = await compute.callCommand(
  '. "$HOME/.open-science/environments/protein-gpu.sh" && python -c "import sys; print(sys.executable)"',
  'Validate protein-gpu environment',
  { loginShell: true, timeoutSeconds: 120 }
)

For Slurm, run the witness through the same job path users will use. Put the provider-known #SBATCH directives first, select the new logical environment, and request a small text output:

javascript
const job = await compute.submitJob(
  'Validate protein-gpu on one Slurm node',
  '#SBATCH --partition=<provider-known-partition>\n#SBATCH --time=00:05:00\npython -c "import sys; print(sys.executable)" > environment-witness.txt',
  {
    environment: 'protein-gpu',
    outputs: ['environment-witness.txt'],
    timeoutSeconds: 600
  }
)
await new Promise((resolve) => setTimeout(resolve, 2000))
return compute.attachJob(job.job_id).result()

The immediate result read is a single non-blocking failure check. End the cell afterward; Open Science polls and harvests the job in the background and starts the analysis turn when it finishes. Do not poll.

When validation fails, diagnose the layer identified by the error: environment definition, activation, shared filesystem visibility, scheduler request, binary compatibility, or cache population. Prepare revised user-run commands; do not mutate the durable environment, add a readiness flag, or bypass the named activation file.

Record reusable host facts

After a successful witness, append a concise host-scoped note with the environment name, activation path, environment system, shared paths, scheduler requirements, and validation date. Keep the project definition in the project and reference its path rather than copying it into the note.

Record only facts established by host documentation or an explicit check. A successful witness proves that the environment was visible on that allocation; it does not by itself prove that home directories or software paths are shared across every compute node. Describe filesystem scope as unknown or limited to the observed allocation unless stronger evidence establishes it. Likewise, do not infer sudo, package-manager, network, quota, or administrator permissions from a missing tool or one failed install command. Separate known host facts, this witness's observations, and assumptions that still need confirmation in both the project reproduction notes and host knowledge.

javascript
await host.compute.details(providerId, {
  mode: 'append',
  text: '\n### Environment: protein-gpu\nActivation: ~/.open-science/environments/protein-gpu.sh\nDefinition: environment.yml in the project\nValidated: <date>, direct or Slurm witness succeeded\n'
})

If the requested environment already exists and the exact witness passes, leave it unchanged and record only genuinely new host knowledge.

© aipoch, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in resources/skills/compute-env-setup of aipoch/open-science.

Open the folder on GitHubat commit 2102e6d

Compare with similar skills

Compute Environment Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Compute Environment Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compute Environment Setup this skillaipoch/open-science5.4k—~2.6kAutomated safety check: PassApache-2.0
Peer ReviewK-Dense-AI/claude-scientific-writer2.4k2 repos~3.1kAutomated safety check: NotesMIT
CHARLS Paper Reproduction Guidexjtulyc/MedgeClaw6171 repos~1.8kAutomated safety check: PassNone
Add Bactopia Toolbactopia/bactopia522—~4.1kAutomated safety check: PassMIT
Modeling Code and Result Contractsyushui2022/MathModel-Skill452—~1.4kAutomated safety check: PassMIT
Light Research OrchestratorLight0305/Light-skills640—~3.8kAutomated safety check: PassMIT

Similar skills

  • Peer Review

    K-Dense-AI/claude-scientific-writer

    Prepare evidence-bounded, constructive peer-review drafts and structured manuscript assessments.

    2.4k GitHub starsUsed in 2 repos~3.1k tokens
    Research & ScienceAuto-check: notes
  • Guides an agent through reproducing papers built on the CHARLS health and retirement survey, from variable mapping to cognition, depression and isolation scores.

    617 GitHub starsUsed in 1 repo~1.8k tokens
    Research & ScienceAuto-check passed
  • Add Bactopia Tool

    bactopia/bactopia

    Scaffold a complete Bactopia Tool across all three tiers -- module, subworkflow, and workflow entry point under workflows/bactopia-tools/.

    522 GitHub stars~4.1k tokensUpdated 2 mo ago
    Research & ScienceAuto-check passed
  • Modeling Code and Result Contracts

    yushui2022/MathModel-Skill

    Generates result-evidence contracts, tables and runnable q1 to q3 modeling code scaffolds for a math modeling paper from a model route, a data plan and cleaned data.

    452 GitHub stars~1.4k tokensUpdated 10 days ago
    Research & ScienceAuto-check passed
  • Light Research Orchestrator

    Light0305/Light-skills

    Coordinates and recovers multi-stage Light research projects from a single passport file, with checkpoints, stale-work tracking and rerouting only when you approve.

    640 GitHub stars~3.8k tokensUpdated 3 mo ago
    Research & ScienceAuto-check passed
  • HypoGeniC Hypothesis Generation

    K-Dense-AI/scientific-agent-skills

    Plans and audits runs of the HypoGeniC and HypoRefine packages, which propose hypotheses from labeled text datasets, with local checks before any model call.

    48k GitHub starsUsed in 1 repo~3.6k tokens
    Research & ScienceAuto-check: notes

More from aipoch/open-science

All 8 skills in this repo
  • Open-Science Skill Creator

    aipoch/open-science

    Creates, revises, evaluates and publishes skills in the Open-Science app through its native host.skills composer, with optional test prompts and benchmarks.

    5.4k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Handles /Customize requests by sending Skill work to the internal skill-creator and managing Specialist agents through the JavaScript host.agents SDK.

    5.4k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Figure Style

    aipoch/open-science

    Publication-grade correctness and legibility rules for final-deliverable scientific figures, not exploratory plots.

    5.4k GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • Paper Narrative

    aipoch/open-science

    Judge and reshape the story told by an entire paper figure deck.

    5.4k GitHub stars~4.4k tokensUpdated today
    Auto-check passed
  • Open-Science Host Inspection

    aipoch/open-science

    Teaches an agent to inspect Open-Science's JavaScript control REPL, check which host.* calls are allowed, and find project files, sessions and agent frames.

    5.4k GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Figure Composer

    aipoch/open-science

    Compose one publication-grade multi-panel figure. An agent skill from aipoch/open-science.

    5.4k GitHub stars~2.9k tokensUpdated today
    Auto-check passed

Questions about Compute Environment Setup

What does Compute Environment Setup do?

Prepares setup instructions and a named activation file for a user-managed software environment on an Open-Science SSH or Slurm compute host. openscience/environments/` stay readable. The skill prepares one reproducible environment definition and instructions for one small activation file.

When should I use Compute Environment Setup?

Compute Environment Setup fits situations like: setting up packages and modules a remote job needs but the host lacks; writing a repeatable activation file for a named environment; checking an existing environment definition on a Slurm or SSH host.

How do I install Compute Environment Setup in Claude Code?

Run `npx skills add aipoch/open-science --skill compute-env-setup -a claude-code`. Or copy the skill folder (resources/skills/compute-env-setup in aipoch/open-science) into .claude/skills/compute-env-setup in your project. Claude Code loads it when a task matches its description.

How do I install Compute Environment Setup in Codex?

Run `npx skills add aipoch/open-science --skill compute-env-setup -a codex`. Or copy the skill folder (resources/skills/compute-env-setup in aipoch/open-science) into .agents/skills/compute-env-setup in your project. Codex loads it when a task matches its description.

Can I use Compute Environment Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aipoch/open-science --skill compute-env-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compute-env-setup, .gemini/skills/compute-env-setup, .github/skills/compute-env-setup and .opencode/skills/compute-env-setup in your project.

What does Compute Environment Setup need to run?

Going by SKILL.md and its folder, Compute Environment Setup needs the command-line tools its instructions call (conda). Our summary lists: An Open-Science SSH compute host, direct or Slurm; Someone with rights on the host to run the setup commands.

Does Compute Environment Setup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Compute Environment Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Compute Environment Setup use?

Compute Environment Setup is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Compute Environment Setup use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Compute Environment Setup?

Skills that share tags, products or a category with Compute Environment Setup: Peer Review (K-Dense-AI/claude-scientific-writer, 2.4k stars), CHARLS Paper Reproduction Guide (xjtulyc/MedgeClaw, 617 stars), Add Bactopia Tool (bactopia/bactopia, 522 stars) and Modeling Code and Result Contracts (yushui2022/MathModel-Skill, 452 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Compute Environment Setup?

aipoch (a GitHub organization) maintains it in aipoch/open-science, which has 5,435 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 7, 2026.

Source: aipoch/open-science on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.