.agents/skills/openclaw-parallels-smoke/SKILL.md
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.
npx skillsauth add qverisai/qverisbot openclaw-parallels-smokeInstall 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.
Use this skill for Parallels guest workflows and smoke interpretation. Do not load it for normal repo work.
openclaw gateway status --deep --require-rpc unless the stable version being checked does not support it yet.2026.3.12 pre-upgrade diagnostics may require a plain gateway status --deep fallback.precheck=latest-ref-fail on that stable pre-upgrade lane as baseline, not automatically a regression.--json for machine-readable summaries./tmp/openclaw-parallels-*.main is moving under active multi-agent work, prefer a detached worktree pinned to one commit for long Parallels suites. The smoke scripts now verify the packed tgz commit instead of live git rev-parse HEAD, but a pinned worktree still avoids noisy rebuild/version drift during reruns.prlctl exec, pass the VM name before --current-user (prlctl exec "$VM" --current-user ...), not the other way around.pnpm openclaw ... inside the repo is not enough for handoff parity.NPM_CONFIG_PREFIX="$HOME/.npm-global" npm install -g .~/.local/bin/openclaw exists or ~/.npm-global/bin is on PATHwhich openclaw and openclaw --versionpnpm test:parallels:npm-updateopenai/gpt-5.4 before the agent turn and use a fresh explicit --session-id so old session model state does not leak into the check.parallels-linux-smoke.sh before both fresh and update lanes. Treat any Ubuntu guest with major version >= 24 as acceptable when the exact default VM is missing, preferring the closest version match. On Peter's current host today, missing Ubuntu 24.04.3 ARM64 should fall back to Ubuntu 25.10.gateway status / agent; in-place global npm updates can otherwise leave stale hashed dist/* module imports alive in the running service.prlctl exec ... powershell -EncodedCommand ... transport. The guest can finish successfully while the outer prlctl exec still hangs.npm install -g so the outer progress monitor does not sit on waiting for first log line during healthy but quiet installs.HOME=/root, pass OPENAI_API_KEY via prlctl exec ... /usr/bin/env, and use openclaw agent --local; the fresh Linux baseline does not rely on persisted gateway credentials.runDir first (macos-fresh.log, windows-fresh.log, linux-fresh.log, macos-update.log, windows-update.log, linux-update.log) instead of assuming the outer wrapper hung./tmp/openclaw-parallels-npm-update.*.-- arg so pnpm test:parallels:* -- --json and similar forwarded invocations work without needing to call bash scripts/e2e/... directly.pnpm test:parallels:macosmacOS 26.3.1 latest.fresh-latest-march-2026 can hang in prlctl snapshot-switch; if restore times out there, rerun with --snapshot-hint 'macOS 26.3.1 latest' before blaming auth or the harness.openclaw dashboard --no-open, verify the served HTML contains the Control UI title/root shell, then open Safari and require an established localhost TCP connection from Safari to the gateway port.500 on /, /healthz, or __openclaw/control-ui-config.json after fresh.install-main or upgrade.install-main, suspect bundled plugin runtime deps resolving from the package root node_modules rather than dist/extensions/*/node_modules. Repro quickly with a real npm pack/global install lane before blaming dashboard auth or Safari.prlctl exec is fine for deterministic repo commands, but use the guest Terminal or prlctl enter when installer parity or shell-sensitive behavior matters.openclaw agent --message ... checks should go through a guest shell wrapper (guest_current_user_sh / guest_current_user_cli or /bin/sh -lc ...), not raw prlctl exec ... node openclaw.mjs ..., or the message can be split into extra argv tokens and Commander reports too many arguments for 'agent'.OPENAI_API_KEY as an env secret ref, the post-onboard agent verification should also export OPENAI_API_KEY for the guest command. The gateway can still reject with pairing-required and fall back to embedded execution, and that fallback needs the env-backed credential available in the shell.brew exists but node may be missing from PATH in noninteractive exec. Use /opt/homebrew/bin/node when needed.HOME=/var/root, then run onboarding as the desktop user via prlctl exec --current-user.extensions/*; do not treat that as an onboarding or gateway failure unless plugin loading is the task.pnpm test:parallels:windowspre-openclaw-native-e2e-2026-03-12.prlctl exec --current-user; plain prlctl exec lands in NT AUTHORITY\\SYSTEM.npm.cmd and openclaw.cmd.-ExecutionPolicy Bypass, then call the .cmd shims from inside it.openclaw agent --message ... checks should call & $openclaw ... inside PowerShell, not Start-Process ... -ArgumentList against openclaw.cmd, or Commander can see split argv and throw too many arguments for 'agent'.npm install -g phases can stay quiet for a minute or more even when healthy; inspect the phase log before calling it hung, and only treat it as a regression once the retry wrapper or timeout trips.prlctl exec calls, and retry-on-poll-failure behavior for transient transport flakes.OPENAI_API_KEY in the PowerShell environment before invoking openclaw.cmd agent, for the same pairing-required fallback reason as macOS.upgrade.install-main and before upgrade.onboard-ref. Restarting before onboard can leave the old process alive on the pre-onboard token while onboard rewrites ~/.openclaw/openclaw.json, which then fails gateway-health with unauthorized: gateway token mismatch.pnpm test:parallels:npm-update passes, trust the mismatch as a standalone ref-onboard ordering bug first; the npm-update helper does not re-run ref-mode onboard on the same guest.rc=255 plus an empty fresh.install-main.log or upgrade.install-main.log, treat it as a likely prlctl exec transport drop after guest start-up, not immediate proof of an npm/package failure.pnpm test:parallels:linuxUbuntu 24.04.3 ARM64.>= 24 is acceptable; prefer the closest versioned Ubuntu guest with a fresh poweroff snapshot. On Peter's host today, that is Ubuntu 25.10.prlctl exec; --current-user is not the right transport on this snapshot.curl, and apt-get update can fail on clock skew. Bootstrap with apt-get -o Acquire::Check-Date=false update and install curl ca-certificates.main tgz smoke still needs the latest-release installer first because the snapshot has no Node or npm before bootstrap.systemd --user session; managed daemon install is unsupported.setsid openclaw gateway run --bind loopback --port 18789 --force launch with HOME=/root and the provider secret exported, then verifies gateway status --deep --require-rpc when available./tmp/openclaw-parallels-linux-gateway.log in the guest phase logs first; the common failure mode is a missing provider secret in the launched gateway environment.--discord-token-env--discord-guild-id--discord-channel-idopenclaw message send/read, not node openclaw.mjs message ....channels.discord.guilds as one JSON object, not dotted config paths with snowflakes.prlctl enter or expect-driven Discord config scripts; prefer prlctl exec --current-user /bin/sh -lc ... with short commands.parallels-discord-roundtrip skill is the deep-dive companion.tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
tools
Cross-channel X (Twitter) operations using the configured X plugin: post tweets, reply, quote, like, repost, follow, unfollow, DM, search, timeline, tweet details, user info — from any channel (Feishu, X, Telegram, CLI, Web, webchat, etc. ). Use when the user mentions any X/Twitter action regardless of which channel the conversation is on.
development
Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.
tools
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).