Best for
- Design remote coding-agent sessions with a local CLI frontend
- Build bridge or direct-connect transport for a coding-agent runtime
- Add viewer-only remote session clients or assistant-style observers
vasilyu1983/AI-Agents-public/frameworks/shared-skills/skills/ai-coding-agents-remote-runtime/SKILL.md
Designs remote execution and bridge runtimes for coding agents. Use when implementing remote sessions, local-UI remote-execution, reconnect logic, or permission bridging.
Decision brief
Use this skill to design or review coding-agent runtimes where execution happens remotely but the user still interacts through a local CLI or terminal UI.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Declared | Source record | Install path and trigger |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/ai-coding-agents-remote-runtime"Inspect the Agent Skill "ai-coding-agents-remote-runtime" from https://github.com/vasilyu1983/AI-Agents-public/blob/53f6cb73ea53a2646e3e7d4665062ad66f3683ac/frameworks/shared-skills/skills/ai-coding-agents-remote-runtime/SKILL.md at commit 53f6cb73ea53a2646e3e7d4665062ad66f3683ac. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Separate UI from execution. Decide what runs locally, what runs remotely, and what state must be mirrored between them. 2. Treat remote control as a first-class mode. Viewer-only, full control, SSH proxy, and remote-creation flows should be explicit runtime modes. 3. Split tr…
Review the “ASCII Flow” section in the pinned source before continuing.
Review the “Quick Reference” section in the pinned source before continuing.
Design remote coding-agent sessions with a local CLI frontend
Review the “Use Other Skills” section in the pinned source before continuing.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 80 | Source | Repository attention, not individual Skill quality |
| Compatibility | 2 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Use this skill to design or review coding-agent runtimes where execution happens remotely but the user still interacts through a local CLI or terminal UI.
This skill covers remote sessions, bridge transports, viewer-only clients, SSH-style local-UI remote-tool flows, and remote approval routing.
local client / terminal UI
|
v
bridge transport
WebSocket | SSE | HTTP POST | ACP stdio | SSH-like tunnel
|
v
remote runtime
agent loop + tools + sandbox + session store
|
+--> permission request -> bridge -> local owner decision -> remote execution
+--> stream events -> bridge -> local rendering
+--> reconnect -> sequence resume or replay from checkpoint
| Question | Read | Outcome |
|---|---|---|
| What should the remote runtime model look like? | references/local-ui-remote-execution-model.md | Local UI, remote agent loop, viewer modes, and mode boundaries |
| How should bridge transport and approval work? | references/bridge-transport-and-permission-bridging.md | WebSocket control flow, permission bridging, reconnect, and message adaptation |
| Which transport should I use (WebSocket vs SSE vs HTTP POST vs ACP stdio)? | references/transport-selection.md | Decision tree, criteria, hybrid patterns, and anti-patterns |
| How do I build reconnect with sequence-number resume? | references/recipe-reconnect-with-sequence.md | Step-by-step resumable stream recipe with ring buffer and client reconnect loop |
| How does OpenAI Codex structure app-server and remote-control daemon lifecycle? | references/openai-codex-app-server-remote-control.md | Daemon lifecycle, JSON control output, remote host bootstrap, long-running work |
| How does OpenAI Codex keep app-server protocol clients in sync? | references/openai-codex-app-server-protocol-codegen.md | Schema-driven TypeScript/JSON artifacts, experimental filtering, fixture tests, and explicit update workflow |
How does codex mcp-server work and how does it differ from the app-server-daemon? | references/openai-codex-as-mcp-server.md | McpServer subcommand, codex-rs/mcp-server crate, approval bridging over MCP, contrast with HTTP daemon |
| Need | Use Instead |
|---|---|
| Session persistence and resume lifecycle | ../ai-coding-agents-sessions/SKILL.md |
| Tool approval system design | ../ai-coding-agents-permissions/SKILL.md |
| Plugin architecture | ../ai-coding-agents-plugins/SKILL.md |
The patterns in this skill are not hypothetical — they map onto products you can inspect directly today. Ground any design decision in the real thing before inventing a new taxonomy; verified 2026-07-11:
| Runtime mode this skill describes | Shipped as | Where execution lives | Key primitives |
|---|---|---|---|
| Outbound-poll mirroring / viewer + controller | Claude Code Remote Control (code.claude.com/docs/en/remote-control) | Stays on the local machine that started it | claude remote-control (server mode, --spawn same-dir|worktree|session, --capacity N), claude --remote-control/--rc (interactive), /remote-control//rc (attach existing session), session URL + QR from claude.ai/code or the mobile app; outbound HTTPS only, no inbound ports |
| Remote-execution devbox (SSH-stdio) | Claude Code Desktop app's SSH-host connection | Moves to the remote SSH host; agent auto-installs there on first connect | Point-and-connect ssh user@host; session history is siloed per surface |
| Cloud-hosted container (no local session) | Claude Code on the web (claude.ai/code, --cloud flag) and Routines (code.claude.com/docs/en/web-scheduled-tasks) | Anthropic-managed VM/container, fresh per session or per trigger | Repo clone into isolated VM; Routines add schedule/API/GitHub triggers on top of the same cloud-session substrate |
| App-server daemon + typed control | OpenAI Codex codex app-server / codex app-server-daemon | Local daemon process, CODEX_HOME-scoped | start/stop/restart/enable-remote-control/disable-remote-control/bootstrap, one JSON object per command |
| Remote-control infra for SSH/custom clients (distinct from the daemon above) | OpenAI Codex codex remote-control (v0.130+) | Local machine, foreground unless a start subcommand is used | Foreground codex remote-control enables remote control for one invocation; codex remote-control start/stop/restart manages the daemon; this is infrastructure for SSH workflows and custom integrations, not a ready-made browser/QR flow — Codex's user-facing QR/mobile pairing is mediated by the desktop app, not this CLI command |
| Editor-spawned stdio agent | ACP (Agent Client Protocol, Zed-originated, Apache-licensed) — adopted by Zed, JetBrains, Google, GitHub, and 25+ agents; Goose 2.0 made it the default server mode | Spawned subprocess on the editor's machine | Line-delimited JSON-RPC 2.0 over stdin/stdout; session-ID re-attach on reconnect |
Two naming traps this table exists to prevent:
Modern coding-agent platforms offer a third remote-runtime mode beyond local-to-remote bridge and developer devbox: cloud-hosted containers that run without a local session.
Routines / cloud containers: a trigger (schedule, API call, GitHub event) starts a fresh cloud container, the agent loop executes, artifacts are persisted, and results are delivered via webhook or session URL. No local machine involvement after trigger. The container lifecycle is: trigger → container start → execute (agent loop + tools + sandbox) → persist artifacts → webhook/session result. Treat as a remote-task lifecycle distinct from local-agent and devbox tasks. Claude Code on the web (claude.ai/code, or claude --cloud) is the on-demand sibling of Routines: same cloud-VM substrate, triggered interactively instead of by schedule/API/webhook, with sessions that persist across browser closes and can run in parallel across repos.
Codex devboxes: microVM/Firecracker-style isolated environments for Codex cloud tasks. Lifecycle mirrors Routines but with branched workspaces, multiple terminals, and app/browser tools. The isolation substrate is microVM-class, not container-class — security boundary differs.
claude -p non-interactive execution: claude -p "prompt" runs Claude Code in non-interactive (piped) mode — no terminal UI, output to stdout. This is a first-class primitive for CI/webhook-triggered runs: a CI step or webhook handler calls claude -p with the task description and captures the output. It combines with the Responses-API remote session model: the piped execution runs on the local machine but behaves like a remote job from the CI perspective. Authentication, approval mode, and sandbox settings all apply normally.
Design implications:
claude -p CI runs as remote-task lifecycle objects, not as local-agent tasks, for ownership and cancellation purposes.AGENTS.md / CLAUDE.md provides context; there is no transcript memory across runs.Goose 2.0 (AAIF, April 2026) makes ACP the default server mode — the daemon starts in ACP mode automatically. HTTP daemon and WebSocket bridge are opt-in overlays, not the primary transport. This is a correction from earlier Goose descriptions where goose acp was a subcommand.
Goose ships two remote-runtime shapes worth importing: ACP stdio as editor transport, and a local daemon with typed API (goosed + OpenAPI). Both shift the skill's default assumption that "remote" means "across the internet."
ACP is Zed's line-delimited JSON stdio protocol for editor ↔ agent. In Goose 2.0, ACP is the default server mode; editors (Zed, JetBrains, IntelliJ, PyCharm, WebStorm, VS Code forks) spawn the process and drive it. Reconnect is session-ID re-attach, not replay.
local UI ↔ remote agent split still holds — the editor is the UI, the agent process is the executor — but the wire is a spawned subprocess, not a socket.goose-acp-macros pattern (proc-macros that generate method-routing code from the ACP schema) is the right level of indirection — your protocol-method set should be code-generated from the schema, not hand-written and drifting.When the wire is typed (ACP, MCP, your own bridge protocol), hand-written method dispatch drifts from the schema as protocols evolve. Goose uses goose-acp-macros to generate handler scaffolding at compile time from the ACP meta/schema JSON.
match arms. Every protocol bump becomes a multi-file change with nothing to verify against.acp-schema.json (or equivalent) to the repo. CI regenerates dispatch code and fails the build if handwritten code diverges.Goose's desktop UI does not spawn the CLI for each action. A background daemon (goosed) runs, and the UI calls it through an OpenAPI-typed HTTP surface. The UI and daemon regenerate client/server code from the OpenAPI spec on each build.
goose or claude as a shell subprocess and parsing stdout. That is fine for a CLI-native experience but produces fragile GUIs and makes multi-window or multi-agent coordination impossible.ai-coding-agents-release-distribution — API version is its own compatibility contract). Provide an auto-generated OpenAPI client as the install-time artifact for third-party UIs.ACP is bidirectional in practice: Goose can also act as an ACP client and delegate work to Claude Code or Codex running as ACP servers. This is the mirror image of the transport discussed above, and the skill's existing Viewer-only / SSH-proxy / Full-control mode taxonomy needs a fourth mode: agent-delegating, where the local runtime is neither UI nor executor — it is orchestrator.
agent-delegating as a named mode; its control messages and approval routing follow the same typed-message discipline as the others.ai-coding-agents-provider-runtime — agent-as-provider belongs there) and as a remote-runtime mode. Pick one; they interact but are not duplicates. Provider-level delegation is turn-scoped; remote-runtime delegation is session-scoped.references/local-ui-remote-execution-model.md — Local UI, remote agent loop, viewer-only mode, and SSH-style executionreferences/bridge-transport-and-permission-bridging.md — WebSocket control messages, permission routing, reconnect, and SDK-to-REPL adaptationreferences/transport-selection.md — Decision tree for WebSocket vs SSE vs HTTP POST vs ACP stdioreferences/recipe-reconnect-with-sequence.md — Resumable stream recipe with sequence numbers and client reconnect loopreferences/openai-codex-app-server-remote-control.md — OpenAI Codex app-server daemon lifecycle, machine-readable remote control, bootstrap, and long-running workreferences/openai-codex-app-server-protocol-codegen.md — OpenAI Codex app-server protocol codegen, experimental method filtering, and schema fixture validationreferences/openai-codex-as-mcp-server.md — codex mcp-server subcommand, codex-rs/mcp-server crate, approval bridging over MCP, contrast with app-server-daemondata/sources.json — Primary documentation and source references for remote runtime guidance../ai-coding-agents-permissions/SKILL.md../ai-coding-agents-sessions/SKILL.md../agents-mcp/SKILL.mdclaude_code source snapshot; the Shipped Reference Implementations section above replaces that internal grounding with the live, citable product docs (code.claude.com/docs/en/remote-control, code.claude.com/docs/en/claude-code-on-the-web, code.claude.com/docs/en/web-scheduled-tasks), verified 2026-07-11.--spawn, --capacity, minimum CLI versions noted in the Claude Code docs, Codex's codex remote-control subcommand set) move monthly. Re-check the live docs before quoting an exact flag name or version number in user-facing guidance.Before applying this skill on a non-trivial task, read learnings.consolidated.md in this directory (and learnings.md if present).
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
Frequently asked questions
Use this skill to design or review coding-agent runtimes where execution happens remotely but the user still interacts through a local CLI or terminal UI.
The source record exposes this install command: npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/ai-coding-agents-remote-runtime". Inspect the command and pinned source before running it.
The pinned source record declares support for: codex, claude code.
Alternatives
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
vasilyu1983/AI-Agents-public
Designs and audits UI/UX systems with usability and accessibility requirements. Use when shaping flows, design systems, interaction patterns, or WCAG-aware product behavior.
vasilyu1983/AI-Agents-public
Designs session lifecycle for coding-agent runtimes. Use when implementing resume, transcript restoration, checkpoint rewind, cross-worktree recovery, or session-state persistence.
vasilyu1983/AI-Agents-public
Designs and audits native Android interfaces. Use when reviewing Compose layout, typography, color, motion, or adaptive patterns on a verified emulator build.