skippy-prompt
Use this skill for prompt-owned staged workflows. The skill is the launcher:
Codex orchestrates sync, host-native builds, stage config generation, process
startup, observation, prompt driving, and teardown.
Ownership Rules
- The machine where the user asks to launch prompt is always
stage-0.
- Remote hosts are
stage-1..N in the order provided by the user.
- Bring down any running
mesh-llm serving on the chosen nodes before starting
prompt-owned stage servers.
- Do not bring back standalone
kv-server or ngram-pool.
- Use
$HOME/tmp for run roots, source syncs, logs, and bundles. Avoid /tmp
unless the user explicitly asks for it.
- Public OpenAI compatibility belongs in
openai-frontend, not prompt tooling.
Prompt workflows are for development, diagnostics, and reproducible model
checks.
- Do not use
skippy-prompt prompt as the launcher on this branch. The skill
starts skippy-server serve-binary stages directly and uses
skippy-prompt binary as the interactive client.
Launch Workflow
- Confirm repo state, branch, commit, model ref/path, hosts, desired layer
ranges, context size, and prompt mode.
- Stop existing mesh/runtime processes on every selected host:
mesh-llm stop first, then verify with ps; use pkill -f only if the
scoped stop path fails.
- Rsync the current source tree to each remote host under
$HOME/tmp/mesh-llm-prompt-src/<branch-or-sha>/, excluding build outputs and
caches (target/, .git/, .deps/llama-build/, UI node_modules/).
- Detect each host:
uname -s, uname -m, GPU inventory, compiler/runtime availability, and
existing llama build cache.
- Choose the best backend per host:
- macOS: Metal.
- Linux NVIDIA with CUDA toolchain: CUDA. Use this for
white.local unless
CUDA is genuinely unavailable.
- Linux AMD with ROCm toolchain: ROCm.
- Vulkan-capable Linux without CUDA/ROCm: Vulkan.
- CPU only as a last resort or explicit user request.
- Build on each host with repo-native
just targets. Use just build on
macOS and just build-runtime backend=<backend> ... on Linux when UI rebuild
is unnecessary. Do not hand-roll cargo/cmake build sequences.
- Materialize or locate model/package inputs on the launcher. If the source
model only exists locally, rsync package/materialized stage inputs to remote
hosts.
- Start final stage first, then upstream stages, ending with local
stage-0.
Use foreground TTY SSH for first repro/debug runs and tee logs under
$HOME/tmp/skippy-prompt-runs/<run-id>/.
- Wait for readiness of every stage, then attach
skippy-prompt binary from
the launcher to the local stage-0 endpoint.
- Keep process handles or SSH sessions observable. Do not report success until
stage servers are running and a prompt request has been attempted or the user
explicitly only asked for startup.
Host Detection Commands
Use these as probes, adapting for the host OS:
uname -s
uname -m
command -v nvidia-smi && nvidia-smi -L
command -v nvcc && nvcc --version
command -v rocminfo && rocminfo
command -v vulkaninfo && vulkaninfo --summary
system_profiler SPDisplaysDataType
Backend selection is evidence-based. If a preferred backend fails, capture the
failure and either fix the toolchain or clearly say why the fallback is being
used.
Commands
Before using source-repo prompt commands, verify the crate exists here:
cargo metadata --no-deps --format-version 1 | jq -r '.packages[].name' | sort
Expected prompt-owned binaries are:
skippy-server
skippy-prompt
skippy-model-package
metrics-server
For remote long-running stages, use the remote-observable-process skill:
allocate a TTY, use an interactive login shell, tee logs, and keep the session
open while proving the topology.
1---2name: skippy-prompt3description: Use this skill when running, debugging, or migrating prompt-owned skippy staged serving, including rsyncing mesh-llm source to lab nodes, building host-native skippy runtimes, choosing CUDA/ROCm/Vulkan/Metal/CPU backends, starting stage servers, attaching the binary prompt REPL, prompt history commands, speculative prompt mode, or prompt-owned process lifecycle.4---56# skippy-prompt78Use this skill for prompt-owned staged workflows. The skill is the launcher:9Codex orchestrates sync, host-native builds, stage config generation, process10startup, observation, prompt driving, and teardown.1112## Ownership Rules1314- The machine where the user asks to launch prompt is always `stage-0`.15- Remote hosts are `stage-1..N` in the order provided by the user.16- Bring down any running `mesh-llm` serving on the chosen nodes before starting17 prompt-owned stage servers.18- Do not bring back standalone `kv-server` or `ngram-pool`.19- Use `$HOME/tmp` for run roots, source syncs, logs, and bundles. Avoid `/tmp`20 unless the user explicitly asks for it.21- Public OpenAI compatibility belongs in `openai-frontend`, not prompt tooling.22 Prompt workflows are for development, diagnostics, and reproducible model23 checks.24- Do not use `skippy-prompt prompt` as the launcher on this branch. The skill25 starts `skippy-server serve-binary` stages directly and uses26 `skippy-prompt binary` as the interactive client.2728## Launch Workflow29301. Confirm repo state, branch, commit, model ref/path, hosts, desired layer31 ranges, context size, and prompt mode.322. Stop existing mesh/runtime processes on every selected host:33 `mesh-llm stop` first, then verify with `ps`; use `pkill -f` only if the34 scoped stop path fails.353. Rsync the current source tree to each remote host under36 `$HOME/tmp/mesh-llm-prompt-src/<branch-or-sha>/`, excluding build outputs and37 caches (`target/`, `.git/`, `.deps/llama-build/`, UI `node_modules/`).384. Detect each host:39 `uname -s`, `uname -m`, GPU inventory, compiler/runtime availability, and40 existing llama build cache.415. Choose the best backend per host:42 - macOS: Metal.43 - Linux NVIDIA with CUDA toolchain: CUDA. Use this for `white.local` unless44 CUDA is genuinely unavailable.45 - Linux AMD with ROCm toolchain: ROCm.46 - Vulkan-capable Linux without CUDA/ROCm: Vulkan.47 - CPU only as a last resort or explicit user request.486. Build on each host with repo-native `just` targets. Use `just build` on49 macOS and `just build-runtime backend=<backend> ...` on Linux when UI rebuild50 is unnecessary. Do not hand-roll cargo/cmake build sequences.517. Materialize or locate model/package inputs on the launcher. If the source52 model only exists locally, rsync package/materialized stage inputs to remote53 hosts.548. Start final stage first, then upstream stages, ending with local `stage-0`.55 Use foreground TTY SSH for first repro/debug runs and tee logs under56 `$HOME/tmp/skippy-prompt-runs/<run-id>/`.579. Wait for readiness of every stage, then attach `skippy-prompt binary` from58 the launcher to the local stage-0 endpoint.5910. Keep process handles or SSH sessions observable. Do not report success until60 stage servers are running and a prompt request has been attempted or the user61 explicitly only asked for startup.6263## Host Detection Commands6465Use these as probes, adapting for the host OS:6667```bash68uname -s69uname -m70command -v nvidia-smi && nvidia-smi -L71command -v nvcc && nvcc --version72command -v rocminfo && rocminfo73command -v vulkaninfo && vulkaninfo --summary74system_profiler SPDisplaysDataType75```7677Backend selection is evidence-based. If a preferred backend fails, capture the78failure and either fix the toolchain or clearly say why the fallback is being79used.8081## Commands8283Before using source-repo prompt commands, verify the crate exists here:8485```bash86cargo metadata --no-deps --format-version 1 | jq -r '.packages[].name' | sort87```8889Expected prompt-owned binaries are:9091```text92skippy-server93skippy-prompt94skippy-model-package95metrics-server96```9798For remote long-running stages, use the `remote-observable-process` skill:99allocate a TTY, use an interactive login shell, tee logs, and keep the session100open while proving the topology.