Verifying the setup helper CLI
The surface is node skills/a1-yandex-kit-setup/scripts/setup.mjs <command>.
No build step — plain Node 20+, no dependencies.
Recipes that work
stdin protocol (no-EOF regression): feed the token through a FIFO and keep the write end open; the helper must exit on its own:
mkfifo "$TMP/pipe" node .../setup.mjs configure --client cursor --config "$TMP/mcp.json" --token-stdin --json < "$TMP/pipe" & exec 3>"$TMP/pipe"; printf 'token\n' >&3; wait $! # exits ~0.3sDo not time
(printf ...; sleep N) | node ...— the pipeline waits for the sleep, not the helper.Live smoke without a real token:
printf 'bad\n' | node .../setup.mjs smoke-token --token-stdin --jsonruns real npx + mcp-yandex-kit@latest + the real API and must returnSMOKE_AUTHin ~3s. Read-only, safe.No-network sandbox (the Codex scenario, macOS):
printf 'bad\n' | sandbox-exec -p '(version 1)(allow default)(deny network*)' \ node .../setup.mjs smoke-token --token-stdin --jsonMust return
NETWORK_UNAVAILABLEin <1s.sandbox-execis deprecated but works; the Claude Bash sandbox itself has network, so it can't provide this.Orphan check after any smoke:
pgrep -fl mcp-yandex-kit→ empty.
Gotchas
- A verifiable happy path needs a valid
YANDEX_KIT_TOKEN; without one the furthest observable live state isSMOKE_AUTH(which still proves probe, spawn, handshake, get_store and cleanup). configureneeds no network at all — onlynpx --versionlocally.