Skip to content

skill: note global naming and non-interactive shell gotchas#193

Open
daveonkels wants to merge 1 commit intoboldsoftware:mainfrom
daveonkels:skill-naming-and-provisioning-notes
Open

skill: note global naming and non-interactive shell gotchas#193
daveonkels wants to merge 1 commit intoboldsoftware:mainfrom
daveonkels:skill-naming-and-provisioning-notes

Conversation

@daveonkels
Copy link
Copy Markdown

Summary

Two small additions to skill/SKILL.md, both motivated by getting an agent productive against exe.dev for the first time:

  • New "Naming" section. VM names are globally unique across customers. The first time an agent picks a generic slug (app-test, demo-1, etc.) and sees the "this VM name is not available" error, it has no way to know whether it collided with one of its own VMs or someone else's. Three lines of skill text save a confused round-trip.

  • Two extensions to "Working in non-interactive and sandboxed environments":

    • Multi-line commands: heredocs collapse to single-line strings when passed as a quoted argument to ssh <vm>.exe.xyz "<cmd>" from many shells. The fix is bash -s over stdin (or base64 transport for binaries / whitespace-sensitive payloads). Hit this multiple times when provisioning a VM via an agent harness.
    • Lobby-routed VM shell: ssh exe.dev ssh <vm> "<cmd>" is a useful escape hatch for non-interactive scripts — the lobby's host key is already trusted, so there's no per-VM known_hosts plumbing or accept-new prompt. It's already documented in ssh exe.dev help, but pulling it forward into the skill (alongside the existing accept-new advice) makes it discoverable for agents that read the skill but not the help.

Tone matches the existing skill (terse, no list-of-pitfalls, brief explanation of the why).

Diff

+18 lines, 0 deletions. No changes outside skill/SKILL.md.

Test plan

  • Verified all three additions against the live ssh exe.dev CLI (Trial plan).
  • Re-read the diff against the existing skill voice — additions slot into the current section structure without restructuring it.

Add a short Naming section explaining that VM names are globally unique,
and the error message agents will see when they collide.

Extend the non-interactive shells section with two workarounds learned
from running provisioning scripts through agent harnesses:
  - heredocs collapse when passed as a quoted argument to ssh; use
    bash -s over stdin (or base64) instead
  - ssh exe.dev ssh <vm> bypasses per-VM known_hosts entirely, which
    is convenient for one-shot commands in non-interactive scripts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant