agentleFS
CodeAlive-AICodeAlive-AI/pragmatic-orchestration/skills/remote-agents/SKILL.md

remote-agents

Skill45 starsChanged 52 days agoMITView on GitHub

Operate dedicated remote Linux/Windows hosts that run coding agents. Use for provisioning and hardening an agent VM, SSH-over-SSM access with no public ingress, host power lifecycle, the WireGuard/SMB work bridge, running agents remotely through porch, a headless Windows desktop with read-only observation, bounded visual QA, durable managed-worker daemons, phone-visible Codex Remote threads, storage audits, and cleanup evidence. Not for running agents on the local machine — use pragmatic-orchestration directly for that.

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. JairoTorregrosa/jaiskills★ 11same name
    2. jsvillalbat/sevito-skills★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository3 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Never present one plane as another.

    line 13
  2. Very specific:

    All lifecycle commands run through scripts/host.sh from this skill directory.

    line 17
  3. Distinctive:

    Verify independently — remote files, diffs, tests, artifacts — before accepting a result.

    line 78
  4. Very specific:

    Leave nothing behind: runs/ deleted, workspaces/<task>/<worker> removed when done, scheduled tasks unregistered, host.sh audit clean, …

    line 80
  5. Distinctive:

    No public ingress for control.

    line 86

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Remote Agents

You are the local manager of dedicated remote hosts on which coding agents run. This skill owns the host: provisioning, transport, storage, desktop, evidence, cleanup. Agent execution goes through porch (the pragmatic-orchestration skill) on the host — any backend it supports. Two optional planes exist beyond porch: a durable managed-worker daemon and phone-visible Codex Remote threads. Never present one plane as another.

Start here

All lifecycle commands run through scripts/host.sh from this skill directory; host identity comes from config.json (copy config.example.json, or set REMOTE_AGENTS_CONFIG). Select a host with --host <id>, REMOTE_AGENTS_HOST, or defaultHost.

./scripts/onboard.py check        # readiness matrix for a new/existing host
./scripts/host.sh status          # instance state + SSM reachability
./scripts/host.sh start|stop|restart
./scripts/host.sh ssh             # interactive SSH-over-SSM
./scripts/host.sh run '<cmd>'     # one-shot remote command
./scripts/host.sh audit           # work-root layout audit (Windows)
./scripts/host.sh desktop-start|desktop-status|desktop-probe|desktop-stop  # Windows GUI
./scripts/host.sh desktop-viewer|desktop-viewer-stop|desktop-clear-auth
./scripts/host.sh desktop-tunnel|desktop-open                              # manual Windows App path
./scripts/work-bridge.py connect|status|mount|unmount|disconnect           # SMB work mount

SSH travels inside AWS Systems Manager Session Manager; the only permitted inbound rule is the WireGuard UDP port for the work bridge. Never open TCP 22, 3389, or 445 to the internet.

The dev machine may run macOS, Linux, or Windows 11 — platform specifics (RDP client, credential store, bridge mechanics, Git Bash requirement on Windows) live in local-platforms.md; all scripts auto-detect the OS via scripts/lib/devlocal.py.

Route by task

NeedPath
Onboard a new host end-to-endonboarding.md + scripts/onboard.py check
Provision/harden a new hostprovisioning.md (+ references/terraform/, examples/)
Configure host identityconfiguration.md
SSH config, file transfer, SMB mountbridge.md
Run agents on the hostporch-remote.md
Coordinate placement across prepared hostsPorch's opt-in fleet command; see its references/fleet.md. Keep one coordinator, explicit host capacity, and isolated workspaces. Cloud provisioning is not implemented yet.
Prepare an AgentCore imageLoad Porch's references/agentcore-image.md; it owns the guest HTTP runner. This host skill retains provisioning/auth/bootstrap ownership.
Linux host operationslinux-host.md
Windows host inventory/recoverywindows-host.md
Headless interactive desktopwindows-desktop.md
Dev-machine OS supportlocal-platforms.md
GUI/visual QA runsvisual-qa.md
Work-root layout and auditwork-storage.md
Durable worker fleetmanaged-workers.md
Phone-visible Codex threadsremote-tui.md
Threat modelsecurity.md
Failurestroubleshooting.md

Operating contract

Always:

  1. Resolve the host (config.py resolve) before acting; never guess ids.
  2. host.sh status first; start a stopped host and wait for SSM.
  3. Give remote workers complete contracts: objective, absolute remote cwd, context, scope, constraints, validation, deliverable.
  4. Launch long work detached (porch delegate --detach, tmux, or a scheduled task) so an SSH drop cannot kill it; record run ids and cursors.
  5. Supervise honestly: first-minute check, then adaptive 5–15 min checks via porch delegate events; a heartbeat is not progress.
  6. Verify independently — remote files, diffs, tests, artifacts — before accepting a result. A worker's report is a claim, not evidence.
  7. Leave nothing behind: runs/ deleted, workspaces/<task>/<worker> removed when done, scheduled tasks unregistered, host.sh audit clean, bridge unmounted before stop.

Security invariants

  • No public ingress for control; SSM only. Bridge = one UDP port + tunnel-scoped SMB.
  • Remote workers have the host user's full authority: the VM/account is the boundary, not the prompt. Dedicated instance per trust domain.
  • Public-key SSH only; administrators_authorized_keys ACL-locked; Defender on.
  • Secrets never in prompts, bundles, or the repo; .bridge-state/ stays local (0700) and is never committed.
  • GUI processes launch only via the scheduled-task helper; process start is not UI readiness — probe and inspect.
  • Details and rationale: security.md.

Scripts map

host.sh lifecycle/transport · lib/config.py host resolution · onboard.py readiness check / wg key init · setup-host-bridge.ps1 host-side bridge setup · lib/devlocal.py dev-OS primitives · desktop.py + desktop/{probe,observer}.py headless desktop · work-bridge.py / work-bridge.command / install-work-bridge-service.py SMB bridge · Start-Interactive.ps1 GUI launcher · Start-VisualQa.ps1 + run-visual-qa.py bounded QA worker · verify-qa-vision.py + validate_qa_vision.py driver smoke test · fetch-qa-screenshots.py evidence · bootstrap-windows.ps1 toolchain · apply-hardening.ps1 / audit-hardening.ps1 baseline + report · Test-WorkStorage.ps1 layout audit · install-7zip.ps1, repair-visual-studio-path.ps1 recovery helpers · auth-grok.sh device auth.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.