skills-catalog/ln-032-vps-project-runtime/SKILL.md
Use when creating or verifying one project runtime on a prepared VPS, including god-session, provider credentials, and local dispatcher setup.
npx skillsauth add levnikolaevich/claude-code-skills ln-032-vps-project-runtimeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
shared/,../ln-030-vps-bootstrap/references/) are relative to skills repo root. If not found at CWD, locate thisSKILL.mddirectory and go up one level for repo root.
Type: L3 Worker Category: 0XX Shared / Infrastructure
Creates or verifies one project environment on a prepared VPS and installs the local operator dispatcher in the target project repo.
MANDATORY READ: Load shared/references/worker_runtime_contract.md, shared/references/coordinator_summary_contract.md, and shared/references/vps_runtime_contract.md
MANDATORY READ: Load ../ln-030-vps-bootstrap/references/scope_layers.md, ../ln-030-vps-bootstrap/references/project_repo_bootstrap.md, ../ln-030-vps-bootstrap/references/god_session_install.md, ../ln-030-vps-bootstrap/references/provider_credentials.md, and ../ln-030-vps-bootstrap/references/operator_dispatcher_install.md
| Direction | Content |
|---|---|
| Input | mode, project/VPS variables, provider variables, local ${TARGET_REPO_PATH}, optional dry_run, optional runId, optional summaryArtifactPath |
| Output | vps-project-runtime summary with status, changes, warnings, blockers, verification, and artifact paths |
If summaryArtifactPath is provided, write the same summary JSON there. If not provided, return the summary inline and write it to the standalone run-scoped path. Generate a standalone run_id when runId is absent.
| Mode | Behavior |
|---|---|
| bootstrap | Create or reconcile one project runtime |
| verify_only | Inspect expected project runtime without mutation |
Verify unique project inputs:
${PROJECT_NAME}${SERVICE_PREFIX}${PROJECT_DIR}${REPO_URL}${REPO_REF}${RELAY_HOOK_PORT}${TARGET_REPO_PATH}Block on collisions for existing unrelated ${PROJECT_NAME}, ${SERVICE_PREFIX}, tmux socket, or relay port.
Use project_repo_bootstrap.md.
Responsibilities:
${PROJECT_DIR}${REPO_URL} at ${REPO_REF}/etc/${PROJECT_NAME} and /var/lib/${PROJECT_NAME}.claude/ filesUse god_session_install.md.
Responsibilities:
${SERVICE_PREFIX}[email protected]hex-relay product deploymentUse provider_credentials.md.
Responsibilities:
${SERVICE_PREFIX}-mint-gh-tokenNever invent or print real provider secrets.
Use operator_dispatcher_install.md.
Responsibilities:
dispatcher.md.template to ${TARGET_REPO_PATH}/.claude/commands/dispatcher.md.env.local VPS_* keys.env.local is git-ignoredWrite a vps-project-runtime summary artifact with project runtime changes, local dispatcher changes, warnings, blockers, and verification evidence.
agents/hex-relay/.dry_run=true and verify_only do not mutate remote or local state.${PROJECT_DIR} clone exists at ${REPO_REF} without overwriting unrelated files./etc/${PROJECT_NAME} and /var/lib/${PROJECT_NAME} exist with expected ownership and modes..claude/ settings and instructions are rendered.${SERVICE_PREFIX}[email protected] and scheduler templates installed or verified.N/A:..env.local VPS_* keys installed or planned.dry_run=true / verify_only performed no mutation.vps-project-runtime summary artifact written.Version: 1.0.0 Last Updated: 2026-05-05
testing
Checks runtime lifecycle and config validation: bootstrap, shutdown, probes, cleanup, env sync, and fail-fast startup. Use for runtime readiness.
testing
Checks races, deadlocks, async hazards, TOCTOU, blocking I/O, and shared resource contention. Use when auditing concurrency correctness.
testing
Checks diagnosability through structured logs, metrics, traces, correlation IDs, and useful log levels. Use when auditing incident visibility.
development
Finds code that can be safely deleted: unreachable, unused, obsolete compatibility, and commented-out code. Use when pruning dead code.