Agent Native

openhost-environment

This skill documents how to operate a Sculptor coding agent when deployed on OpenHost, including persistent storage locations, GitHub authentication setup…

by ImbueOfficial publisherNot reviewed

Identity proven by GitHub's verified organisation badge (imbue-ai)

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
License
MIT (permissive)
Pin
f847102pinned Oct 9, 2026
Context cost
about 1,000 tokenswhen the skill loads
GitHub stars
236on imbue-ai/sculptor
Scripts
None found

What it does

“How this OpenHost-hosted Sculptor environment works — storage and what survives restarts, where/how to add repositories and authorize gh, and the /proxy/<port>/ capability for previewing loopback web apps from a browser. ONLY relevant when running inside an OpenHost deployment (detect via the OPENHOST_* env vars, e.g. OPENHOST_APP_NAME). Ships with the deploy image and is refreshed every release.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill documents how to operate a Sculptor coding agent when deployed on OpenHost, including persistent storage locations, GitHub authentication setup, and how to preview local web apps through a browser-accessible proxy. It applies only when running inside an OpenHost deployment (detectable via OPENHOST_* environment variables).

When to use it

  • Working with a Sculptor agent deployed on OpenHost infrastructure
  • Setting up GitHub authentication or adding repositories in an OpenHost environment
  • Previewing locally running web applications from a browser on OpenHost
  • Understanding what persists across restarts and rebuilds in OpenHost deployments

When not to

  • Running Sculptor in a local development environment without OpenHost
  • Applications that require fully transparent URL rewriting for previews
  • Needing to store durable files in the home directory

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add imbue-ai/sculptor --skill openhost-environment

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install imbue-ai/sculptor openhost-environment@f847102ada1d6896bf6a3a5eccde996760526d9e

Installs the commit we checked (f847102).

Copy by hand

Download the folder at f847102 and put it in .claude/skills/openhost-environment for Claude Code and in .agents/skills/openhost-environment for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at f847102

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "openhost-environment" by Imbue.

Source, pinned to commit f847102ada1d6896bf6a3a5eccde996760526d9e:
https://github.com/imbue-ai/sculptor/tree/f847102ada1d6896bf6a3a5eccde996760526d9e/openhost-agent/skills/openhost-environment

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/openhost-environment/ for Claude Code and .agents/skills/openhost-environment/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/imbue/openhost-environment

SKILL.md at the pin

---
name: openhost-environment
description: |
  How this OpenHost-hosted Sculptor environment works — storage and what survives
  restarts, where/how to add repositories and authorize gh, and the /proxy/<port>/
  capability for previewing loopback web apps from a browser. ONLY relevant when
  running inside an OpenHost deployment (detect via the OPENHOST_* env vars, e.g.
  OPENHOST_APP_NAME). Ships with the deploy image and is refreshed every release.
---

# Running inside an OpenHost-hosted Sculptor

You're in a Sculptor instance deployed as an **OpenHost** app if the `OPENHOST_*`
env vars are set (`OPENHOST_APP_NAME`, `OPENHOST_APP_DATA_DIR`,
`OPENHOST_ZONE_DOMAIN`, …). The public URL is
`https://$OPENHOST_APP_NAME.$OPENHOST_ZONE_DOMAIN/`, behind OpenHost's owner SSO.
If those vars are absent, this skill does not apply.

## Storage — what survives a restart/rebuild

- **Only `$OPENHOST_APP_DATA_DIR` (`/data/app_data/<app>`) persists** across
  reloads/rebuilds — it's the backed-up app-data mount. The DB, workspaces, Claude
  config/creds, and the gh token all live under it.
- **`/home` is wiped on every rebuild** — clones, `~/.gitconfig` (git identity +
  the `gh auth setup-git` credential wiring), and scratch are all lost.
- So keep anything durable under the app-data dir, **never in `/home`**.

## Adding repositories + gh auth

- **Add repos** via the app (Settings → Repositories) or `sculpt`
  (`sculpt workspace list --repo <path>` registers one). Clone to a **persisted**
  path, not `/home`.
- **gh auth:** `gh auth login` (device flow — paste the one-time code in a
  browser). The **token persists** (the gh config dir is under the app-data mount),
  but the git credential-helper wiring + identity live in `~/.gitconfig` and reset
  on rebuild. The deploy's run script re-runs `gh auth setup-git` and sets a
  gh-derived identity on boot (best-effort); if a push ever fails to auth after a
  rebuild, re-run `gh auth setup-git` and set `git config --global user.{name,email}`.

## `/proxy/<port>/` — preview a loopback web app from any browser

OpenHost publicly proxies **only port 5050** (behind owner SSO); an in-container
nginx fronts it and adds a reverse proxy:

- **`https://$OPENHOST_APP_NAME.$OPENHOST_ZONE_DOMAIN/proxy/<port>/`** forwards to
  `127.0.0.1:<port>` for any port in **51000–59999**, all behind SSO. Nothing is
  made public.
- Use it to preview **any** simple loopback web app or dev server (not just Vite),
  including from a phone. The URI is passed through **unstripped**, so the app must
  be **base-aware** — served under `/proxy/<port>/` (e.g. a dev server's base/prefix
  option), since fully transparent rewriting of an app's absolute URLs isn't done.
- **Caveat — shared origin:** the preview shares the root app's origin, so its
  cookies/paths must **not collide** with Sculptor's (the session cookie in
  particular). Simple apps with their own non-overlapping cookies/paths are fine; a
  second full Sculptor backend is not (its session cookie would collide).
- **`/proxy/` (no port) is a switchboard**: a small nginx-served page that scans
  the band from the browser and links to the live previews it finds. The same
  page is served when a `/proxy/<port>/` target is dead ("preview is not
  running", with a way back and an auto-reload once the server returns), so a
  phone PWA — which has no URL bar — can never get stranded on a dead preview.
- The deployed Sculptor UI also shows a **preview-switcher pill** (bottom-left
  footer corner): the `openhost-preview-switcher` extension, auto-installed
  at boot from the image, lists live previews and switches between them and the
  deployed app in place.
- For the **Sculptor web frontend** specifically, use the `openhost-frontend-preview`
  skill / `sculptor/frontend/launch-preview.sh` (when working in the sculptor repo).

## Turn-handling (matters here)

This Sculptor does **not** release your turn to the user while a tracked
`run_in_background` Bash task or a persistent `Monitor` is alive. Launch long-lived
servers **detached** from a normal foreground command instead:
`setsid <cmd> >/tmp/x.log 2>&1 </dev/null &`. Detached/orphaned processes keep
running and don't hold the turn; check on them later via `ps` / `curl` / log reads.

---
*This skill ships with the OpenHost deploy image and is refreshed on every release,
so it stays current. The owner's standing instructions live in the seeded
`AGENTS.md` in the same config dir.*

From imbue-ai/sculptor at f847102, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.md.

View SKILL.md on GitHub at f847102

Files

1 file, 4.5 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at f847102
All 50 skills from Imbue

More from Imbue

  • architect

    Generates an architecture document for a feature by reading the existing spec, analyzing the codebase deeply, and conducting guided Q&A with the user to…

    Claude Code · about 4K tokens · pinned 6 days ago

  • build

    This skill executes a multi-step implementation plan by working through task files sequentially.

    Claude Code · about 1.1K tokens · pinned 6 days ago

  • build-sculptor-extension

    Build or modify Sculptor extensions, which are runtime ES modules that add panels, overlays, widgets, home views, or settings UI to the Sculptor frontend.

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 3.3K tokens · pinned 6 days ago

  • fix-bug

    Fixes bugs using test-driven development with an interactive or autonomous workflow.

    Claude Code · about 9.8K tokens · pinned 6 days ago

  • handoff

    This skill hands off ongoing work to a fresh agent, either in the same workspace or a new isolated workspace, while preserving context through a synthesized…

    Claude Code · about 1.1K tokens · pinned 6 days ago

  • help

    This skill fetches the latest Sculptor documentation from GitHub and answers user questions about how to use Sculptor's features, including workspaces…

    Claude Code · about 880 tokens · pinned 6 days ago

All Cloud and DevOps skills
  • n8n-cli

    This skill enables agents to manage n8n workflows, credentials, executions, and instance resources via the n8n CLI command-line tool.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago

  • managing-streamlit-apps

    Manage Streamlit apps running in PostHog sandboxes through the full lifecycle: create, set or edit source code, start and stop the sandbox, poll status, and…

    by PostHogOfficial publisher

    Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago

  • release-candidate-prep

    Prepares a local Python SDK release candidate in a dedicated Git worktree when explicitly invoked with a version number.

    by OpenAIOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 4.8K tokens · pinned 6 days ago

  • cloud-run-basics

    Deploys and manages Google Cloud Run services, jobs, and worker pools for running containerized applications or source code.

    by GoogleOfficial publisher

    Claude Code, Codex, Cursor +4 · about 3.9K tokens · pinned 6 days ago

  • debug-openshell-cluster

    Diagnoses OpenShell gateway deployment problems across Docker, Podman, Kubernetes, and VM compute platforms.

    by NVIDIAOfficial publisher

    Claude Code, Codex, Cursor +4 · about 19.1K tokens · pinned 6 days ago

  • hf-cloud-aws-context-discovery

    This skill reads the user's local AWS configuration to discover their active profile, region, account ID, and caller identity before any AWS work begins.

    by Hugging FaceOfficial publisher

    Claude Code, Codex, Cursor +4 · about 830 tokens · pinned 6 days ago

Open roles at Imbue

No open roles at Imbue on the Agent Native jobs board right now.

Browse the jobs board

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use