openclaw-parallels-smoke
Skill184 starsChanged 7 months agoMITView on GitHub
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.
- Reads credentials
- Installs packages
We split this skill into the rules it gives an agent
35 rules. 4 are common, 4 are distinctive, and 27 are very specific to this project.
4
Common
Most of the 15 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
27
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 8
Use this skill for Parallels guest workflows and smoke interpretation.
- Distinctive: line 12
Use the snapshot most closely matching the requested fresh baseline.
- Very specific: line 15
Treat precheck=latest-ref-fail on that stable pre-upgrade lane as baseline, not automatically a regression.
- Common: line 18
Do not run local and gateway agent turns in parallel on the same fresh workspace or session.
- Very specific: line 24
If a lane hits the cap, stop there, inspect the newest /tmp/openclaw-parallels-* run directory and phase log, then fix or rerun the …
- Distinctive: line 30
Keep each lane in its own shell/session and track the run directory for each one.
- Common: line 31
Do not run multiple smoke lanes against the same guest family at once.
- Very specific: line 32
Do not run the aggregate pnpm test:parallels:npm-update wrapper in parallel with individual macOS/Windows/Linux smoke lanes.
- Common: line 35
If main is moving under active multi-agent work, prefer a detached worktree pinned to one commit for long Parallels suites.
- Very specific: line 38
If the workflow installs OpenClaw from a repo checkout instead of the site installer/npm release, finish by installing a real guest CLI …
- Very specific: line 41
make sure ~/.local/bin/openclaw exists or ~/.npm-global/bin is on PATH
- Very specific: line 42
verify from a brand-new guest shell with which openclaw and openclaw --version
- Very specific: line 62
After that Windows restart, do not trust one gateway status --deep --require-rpc call after a fixed sleep.
- Very specific: line 67
If the wrapper fails a lane, read the auto-dumped tail first, then the full nested lane log under /tmp/openclaw-parallels-npm-update.*.
- Very specific: line 77
Default upgrade coverage on macOS should now include: fresh snapshot -> site installer pinned to the latest stable tag -> openclaw update …
- Very specific: line 80
If that release-to-dev lane fails with reason=preflight-no-good-commit and repeated sh: pnpm: command not found tails from preflight build, …
- Very specific: line 83
Default to the snapshot closest to macOS 26.3.1 latest.
- Very specific: line 89
If a packaged install regresses with 500 on /, /healthz, or __openclaw/control-ui-config.json after fresh.install-main or …
- Very specific: line 101
Use the snapshot closest to pre-openclaw-native-e2e-2026-03-12.
- Very specific: line 102
Default upgrade coverage on Windows should now include: fresh snapshot -> site installer pinned to the requested stable tag -> openclaw …
- Very specific: line 105
Always use prlctl exec --current-user.
- Very specific: line 106
Prefer explicit npm.cmd and openclaw.cmd.
- Very specific: line 107
Use PowerShell only as the transport with -ExecutionPolicy Bypass, then call the .cmd shims from inside it.
- Very specific: line 109
If an exact published-tag Windows lane fails during preflight with npm run build and 'pnpm' is not recognized, remember that the guest is …
- Very specific: line 112
If a Windows retry sees the VM become suspended or stopped, resume/start it before the next prlctl exec.
- Very specific: line 123
If standalone Windows upgrade fails with a gateway token mismatch but pnpm test:parallels:npm-update passes, trust the mismatch as a …
- Distinctive: line 124
Keep onboarding and status output ASCII-clean in logs.
- Very specific: line 125
If you hit an older run with rc=255 plus an empty fresh.install-main.log or upgrade.install-main.log, treat it as a likely prlctl exec …
- Very specific: line 130
Use the snapshot closest to fresh Ubuntu 24.04.3 ARM64.
- Very specific: line 131
If that exact VM is missing on the host, any Ubuntu guest with major version >= 24 is acceptable.
- Very specific: line 132
Use plain prlctl exec; --current-user is not the right transport on this snapshot.
- Very specific: line 138
If Linux gateway bring-up fails, inspect /tmp/openclaw-parallels-linux-gateway.log in the guest phase logs first.
- Distinctive: line 146
Keep the Discord token only in a host env var.
- Very specific: line 147
Use installed openclaw message send/read, not node openclaw.mjs message ....
- Very specific: line 149
Avoid long prlctl enter or expect-driven Discord config scripts.
“Common” is measured: kept by at least 6 in 10 of the 15 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
OpenClaw Parallels Smoke
Use this skill for Parallels guest workflows and smoke interpretation. Do not load it for normal repo work.
Global rules
- Use the snapshot most closely matching the requested fresh baseline.
- Gateway verification in smoke runs should use
openclaw gateway status --deep --require-rpcunless the stable version being checked does not support it yet. - Stable
2026.3.12pre-upgrade diagnostics may require a plaingateway status --deepfallback. - Treat
precheck=latest-ref-failon that stable pre-upgrade lane as baseline, not automatically a regression. - Pass
--jsonfor machine-readable summaries. - Per-phase logs land under
/tmp/openclaw-parallels-*. - Do not run local and gateway agent turns in parallel on the same fresh workspace or session.
- Hard-cap every top-level Parallels lane with host
timeout --foreground(orgtimeout --foregroundif that is the available binary) so a stalled install, snapshot switch, orprlctl exectransport cannot consume the rest of the testing window. Defaults:- macOS:
75m - Linux:
75m - Windows:
90m - aggregate npm-update wrapper:
150mIf a lane hits the cap, stop there, inspect the newest/tmp/openclaw-parallels-*run directory and phase log, then fix or rerun the smallest affected lane. Do not keep waiting on a capped lane.
- macOS:
- Actual OpenClaw npm install/update phases are a stricter budget than whole lanes: they should finish within 5 minutes. If a phase named
install-main,install-latest,install-baseline,install-baseline-package,update-dev, or same-guestopenclaw updateexceeds 300s, treat it as a failure/harness bug and start diagnosis from that phase log. Do not wait for a longer lane cap. - For a full OS matrix, prefer running independent guest-family lanes in parallel when host capacity allows:
timeout --foreground 75m pnpm test:parallels:macos -- --jsontimeout --foreground 90m pnpm test:parallels:windows -- --jsontimeout --foreground 75m pnpm test:parallels:linux -- --jsonKeep each lane in its own shell/session and track the run directory for each one.
- Do not run multiple smoke lanes against the same guest family at once. Tahoe lanes share the host HTTP port, and Windows/Linux lanes can collide on snapshot restore/start state if two jobs touch the same VM concurrently.
- Do not run the aggregate
pnpm test:parallels:npm-updatewrapper in parallel with individual macOS/Windows/Linux smoke lanes; it touches the same guest families and snapshots. - Do not start Parallels lanes while any host command may rebuild, clean, or restage
dist(pnpm build,pnpm ui:build,pnpm release:check,pnpm test:install:smoke, npm pack/install smoke, or Docker lanes that run package/build prep). Run the build/package gates first, let them finish, then start the VM matrix. Concurrentdistmutation can make hostnpm packfail with missing files and wastes a full VM cycle. - While running or optimizing the matrix, record wall-clock duration per lane and the slowest phase from
/tmp/openclaw-parallels-*logs. Use that timing before changing smoke order, timeouts, or helper behavior. - If
mainis 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 livegit rev-parse HEAD, but a pinned worktree still avoids noisy rebuild/version drift during reruns. - For
openclaw update --channel devlanes, remember the guest clones GitHubmain, not your local worktree. If a local fix exists but the rerun still fails inside the cloned dev checkout, do not treat that as disproof of the fix until the branch has been pushed. - For
prlctl exec, pass the VM name before--current-user(prlctl exec "$VM" --current-user ...), not the other way around. - If the workflow installs OpenClaw from a repo checkout instead of the site installer/npm release, finish by installing a real guest CLI shim and verifying it in a fresh guest shell.
pnpm openclaw ...inside the repo is not enough for handoff parity. - On macOS guests, prefer a user-global install plus a stable PATH-visible shim:
- install with
NPM_CONFIG_PREFIX="$HOME/.npm-global" npm install -g . - make sure
~/.local/bin/openclawexists or~/.npm-global/binis on PATH - verify from a brand-new guest shell with
which openclawandopenclaw --version
- install with
npm install then update
- Preferred entrypoint:
pnpm test:parallels:npm-update - Required coverage: every release/update regression run must include both lanes:
- fresh snapshot -> install requested package/baseline -> smoke
- same guest baseline -> run the guest's installed
openclaw update ...command -> smoke again
- The update lane must exercise OpenClaw's internal updater. Do not count a direct
npm install -g <tgz-or-spec>or harness-side package swap as update-flow coverage; those are install smokes only. - For published targets, install the old baseline package first (for example
openclaw@2026.4.9), then run the installed guest CLI with the intended channel/tag (for exampleopenclaw update --channel beta --yes --json) and verifyopenclaw --version,openclaw update status --json, gateway RPC, and an agent turn after the command. - For unpublished targets, pack the candidate on the host, serve the
.tgzover the harness HTTP server, and point the guest updater at that served package. Preferopenclaw update --tag http://<host-ip>:<port>/openclaw-<version>.tgz --yes --json; when channel persistence also matters, pass--channel <stable|beta>and setOPENCLAW_UPDATE_PACKAGE_SPECto the same served URL in the guest update environment. The command under test must still beopenclaw update, not direct npm. - For unpublished local-fix validation, remember the old baseline updater code still controls the first hop. A fix that lives only in the new updater code cannot change that already-running old process; the served candidate must either keep package/plugin metadata compatible with the baseline host or the baseline itself must include the updater fix.
- For beta/stable verification, resolve the tag immediately before the run (
npm view openclaw@beta version dist.tarballornpm view openclaw@latest ...). Tags can move while a long VM matrix is already running; restart the matrix when the intended prerelease appears after an earlier registry 404/tag-lag check. - Source Peter's profile in the host shell (
set -a; source "$HOME/.profile"; set +a) before OpenAI/Anthropic lanes. Do not print profile contents or env dumps; pass provider secrets through the guest exec environment. - Same-guest update verification should set the default model explicitly to
openai/gpt-5.4before the agent turn and use a fresh explicit--session-idso old session model state does not leak into the check. - The aggregate npm-update wrapper must resolve the Linux VM with the same Ubuntu fallback policy as
parallels-linux-smoke.shbefore both fresh and update lanes. Treat any Ubuntu guest with major version>= 24as acceptable when the exact default VM is missing, preferring the closest version match. On Peter's current host today, missingUbuntu 24.04.3 ARM64should fall back toUbuntu 25.10. - On macOS same-guest update checks, restart the gateway after the npm upgrade before
gateway status/agent; launchd can otherwise report a loaded service while the old process has exited and the fresh process is not RPC-ready yet. - The npm-update aggregate's macOS update leg writes the guest update script as root, then runs it as the desktop user. If
prlctl exec "$MACOS_VM" --current-user ...cannot authenticate, retry through plain rootprlctl execplussudo -u <desktop-user> /usr/bin/env HOME=/Users/<desktop-user> USER=<desktop-user> LOGNAME=<desktop-user> PATH=/opt/homebrew/bin:/opt/homebrew/opt/node/bin:/usr/bin:/bin:/usr/sbin:/sbin .... That is a Parallels transport fallback; still verifyopenclaw --version, gateway RPC, and an agent turn after the update. - On Windows same-guest update checks, restart the gateway after the npm upgrade before
gateway status/agent; in-place global npm updates can otherwise leave stale hasheddist/*module imports alive in the running service. - In those Windows same-guest update checks, do not treat one nonzero
openclaw gateway restartas definitive failure. Current login-item restarts can report failure before the background service becomes observable again; follow with a longer RPC-ready wait and usegateway startonly as a recovery step if readiness still never returns. - After that Windows restart, do not trust one
gateway status --deep --require-rpccall after a fixed sleep. Retry the RPC-ready probe for roughly 30 seconds and log each attempt; current guests can keep port18789bound while the fresh RPC endpoint is still coming up. - For Windows same-guest update checks, prefer the done-file/log-drain PowerShell runner pattern over one long-lived
prlctl exec ... powershell -EncodedCommand ...transport. The guest can finish successfully while the outerprlctl execstill hangs. - The Windows same-guest update helper should write stage markers to its log before long steps like tgz download and
npm install -gso the outer progress monitor does not sit onwaiting for first log lineduring healthy but quiet installs. - Linux same-guest update verification should also export
HOME=/root, passOPENAI_API_KEYviaprlctl exec ... /usr/bin/env, and useopenclaw agent --local; the fresh Linux baseline does not rely on persisted gateway credentials. - The npm-update wrapper now prints per-lane progress from the nested log files. If a lane still looks stuck, inspect the nested logs in
runDirfirst (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. - If the wrapper fails a lane, read the auto-dumped tail first, then the full nested lane log under
/tmp/openclaw-parallels-npm-update.*. - Current known macOS update-lane transport signature when the fallback is missing or bypassed:
Unable to authenticate the user. Make sure that the specified credentials are correct and try again.Treat that as Parallels current-user authentication before blaming npm or OpenClaw.
CLI invocation footgun
- The Parallels smoke shell scripts should tolerate a literal bare
--arg sopnpm test:parallels:* -- --jsonand similar forwarded invocations work without needing to callbash scripts/e2e/...directly.
macOS flow
- Preferred entrypoint:
pnpm test:parallels:macos - Default upgrade coverage on macOS should now include: fresh snapshot -> site installer pinned to the latest stable tag ->
openclaw update --channel devon the guest. Treat this as part of the default Tahoe regression plan, not an optional side quest. parallels-macos-smoke.sh --mode upgradeshould run that release-to-dev lane by default. Keep the older host-tgz upgrade path only when the caller explicitly passes--target-package-spec.- Because the default upgrade lane no longer needs a host tgz, skip
npm pack+ host HTTP server startup for--mode upgradeunless--target-package-specis set. Keep the pack/server path forfreshandboth. - If that release-to-dev lane fails with
reason=preflight-no-good-commitand repeatedsh: pnpm: command not foundtails frompreflight build, treat it as an updater regression first. The fix belongs in the git/dev updater bootstrap path, not in Parallels retry logic. - Until the public stable train includes that updater bootstrap fix, the macOS release-to-dev lane may seed a temporary guest-local
pnpmshim immediately beforeopenclaw update --channel dev. Keep that workaround scoped to the smoke harness and remove it once the latest stable no longer needs it. - In Tahoe
prlctl exec --current-userruns, prefer explicitnode .../openclaw.mjs ...invocations for the release->dev handoff itself and for post-update verification. The shebanged globalopenclawwrapper can fail withenv: node: No such file or directory, and self-updating through the wrapper is a weaker lane than invoking the entrypoint under a fixednode. - Default to the snapshot closest to
macOS 26.3.1 latest. - On Peter's Tahoe VM,
fresh-latest-march-2026can hang inprlctl snapshot-switch; if restore times out there, rerun with--snapshot-hint 'macOS 26.3.1 latest'before blaming auth or the harness. parallels-macos-smoke.shnow retriessnapshot-switchonce after force-stopping a stuck running/suspended guest. If Tahoe still times out after that recovery path, then treat it as a real Parallels/host issue and rerun manually.- The macOS smoke should include a dashboard load phase after gateway health: resolve the tokenized URL with
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. - For Tahoe
fresh.gateway-status, prefer non-TTYprlctl exec --current-user ... openclaw gateway status ...plus a few short retries.prlctl entercan spam TTY control bytes and hang the phase log even when the CLI itself is healthy. - If a Tahoe lane times out in
fresh.first-agent-turnand the phase log stops right after__OPENCLAW_RC__:0frommodels set, suspect theprlctl enter/expectwrapper before blaming auth or the model lane. That pattern means the first guest command finished but the transport never released for the nextguest_current_user_clicall. - If a packaged install regresses with
500on/,/healthz, or__openclaw/control-ui-config.jsonafterfresh.install-mainorupgrade.install-main, suspect bundled plugin runtime deps resolving from the package rootnode_modulesrather thandist/extensions/*/node_modules. Repro quickly with a realnpm pack/global install lane before blaming dashboard auth or Safari. prlctl execis fine for deterministic repo commands, but use the guest Terminal orprlctl enterwhen installer parity or shell-sensitive behavior matters.- Multi-word
openclaw agent --message ...checks should go through a guest shell wrapper (guest_current_user_sh/guest_current_user_clior/bin/sh -lc ...), not rawprlctl exec ... node openclaw.mjs ..., or the message can be split into extra argv tokens and Commander reportstoo many arguments for 'agent'. - The same wrapper rule applies when bypassing
--current-user: write a tiny/tmp/*.shon the guest and execute/bin/bash /tmp/*.shthrough the sudo desktop-user environment. Do not passopenclaw agent --message '...'directly as one rawprlctl execcommand. - When ref-mode onboarding stores
OPENAI_API_KEYas an env secret ref, the post-onboard agent verification should also exportOPENAI_API_KEYfor 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. - On the fresh Tahoe snapshot,
brewexists butnodemay be missing from PATH in noninteractive exec. Use/opt/homebrew/bin/nodewhen needed. - Fresh host-served tgz installs should install as guest root with
HOME=/var/root, then run onboarding as the desktop user viaprlctl exec --current-user. - Root-installed tgz smoke can log plugin blocks for world-writable
extensions/*; do not treat that as an onboarding or gateway failure unless plugin loading is the task.
Windows flow
- Preferred entrypoint:
pnpm test:parallels:windows - Use the snapshot closest to
pre-openclaw-native-e2e-2026-03-12. - Default upgrade coverage on Windows should now include: fresh snapshot -> site installer pinned to the requested stable tag ->
openclaw update --channel devon the guest. Keep the older host-tgz upgrade path only when the caller explicitly passes--target-package-spec. - Optional exact npm-tag baseline on Windows:
bash scripts/e2e/parallels-windows-smoke.sh --mode upgrade --target-package-spec openclaw@<tag> --json. That lane installs the published npm tarball as baseline, then runsopenclaw update --channel dev. - Optional forward-fix Windows validation:
bash scripts/e2e/parallels-windows-smoke.sh --mode upgrade --upgrade-from-packed-main --json. That lane installs the packed current-main npm tgz as baseline, then runsopenclaw update --channel dev. - Always use
prlctl exec --current-user; plainprlctl execlands inNT AUTHORITY\\SYSTEM. - Prefer explicit
npm.cmdandopenclaw.cmd. - Use PowerShell only as the transport with
-ExecutionPolicy Bypass, then call the.cmdshims from inside it. - Current Windows Node installs expose
corepackas a.cmdshim. If a release-to-dev lane seescorepackon PATH butopenclaw update --channel devstill behaves as if corepack is missing, treat that as an exec-shim regression first. - If an exact published-tag Windows lane fails during preflight with
npm run buildand'pnpm' is not recognized, remember that the guest is still executing the old published updater. Validate the fix with--upgrade-from-packed-main, then wait for the next tagged npm release before expecting the historical tag lane to pass. - Multi-word
openclaw agent --message ...checks should call& $openclaw ...inside PowerShell, notStart-Process ... -ArgumentListagainstopenclaw.cmd, or Commander can see split argv and throwtoo many arguments for 'agent'. - Windows installer/tgz phases now retry once after guest-ready recheck; keep new Windows smoke steps idempotent so a transport-flake retry is safe.
- If a Windows retry sees the VM become
suspendedorstopped, resume/start it before the nextprlctl exec; otherwise the second attempt just repeats the samerc=255. - Windows global
npm install -gphases 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. - When those Windows global installs stay quiet, the useful progress often lives in the guest npm debug log, not the helper phase log. The smoke script now streams incremental
npm-cache/_logs/*-debug-0.logdeltas into the phase log during long baseline/package installs; read those lines before assuming the lane is stalled. - The Windows baseline-package helpers now auto-dump the latest guest
npm-cache/_logs/*-debug-0.logtail on timeout or nonzero completion. Read that tail in the phase log before opening a second guest shell. - The same incremental npm-debug streaming also applies to
--upgrade-from-packed-main/ packaged-install baseline phases. A phase log that still says onlyinstall.start,install.download-tgz,install.install-tgzcan still be healthy if the streamed npm-debug section shows registry fetches or bundled-plugin postinstall work. - Fresh Windows tgz install phases should also use the background PowerShell runner plus done-file/log-drain pattern; do not rely on one long-lived
prlctl exec ... powershell ... npm install -gtransport for package installs. - Windows release-to-dev helpers should log
where pnpmbefore and after the update and requirewhere pnpmto succeed post-update. That proves the updater installed or enabledpnpmitself instead of depending on a smoke-only bootstrap. - Fresh Windows ref-mode onboard should use the same background PowerShell runner plus done-file/log-drain pattern as the npm-update helper, including startup materialization checks, host-side timeouts on short poll
prlctl execcalls, and retry-on-poll-failure behavior for transient transport flakes. - Fresh Windows daemon-health reachability should use
openclaw gateway probe --jsonwith a longer timeout and treatok: trueas success; fullgateway status --require-rpcchecks are too eager during initial startup on current main. - Fresh Windows ref-mode agent verification should set
OPENAI_API_KEYin the PowerShell environment before invokingopenclaw.cmd agent, for the same pairing-required fallback reason as macOS. - The standalone Windows upgrade smoke lane should stop the managed gateway after
upgrade.install-mainand beforeupgrade.onboard-ref. Restarting before onboard can leave the old process alive on the pre-onboard token while onboard rewrites~/.openclaw/openclaw.json, which then failsgateway-healthwithunauthorized: gateway token mismatch. - If standalone Windows upgrade fails with a gateway token mismatch but
pnpm test:parallels:npm-updatepasses, 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. - Keep onboarding and status output ASCII-clean in logs; fancy punctuation becomes mojibake in current capture paths.
- If you hit an older run with
rc=255plus an emptyfresh.install-main.logorupgrade.install-main.log, treat it as a likelyprlctl exectransport drop after guest start-up, not immediate proof of an npm/package failure.
Linux flow
- Preferred entrypoint:
pnpm test:parallels:linux - Use the snapshot closest to fresh
Ubuntu 24.04.3 ARM64. - If that exact VM is missing on the host, any Ubuntu guest with major version
>= 24is acceptable; prefer the closest versioned Ubuntu guest with a fresh poweroff snapshot. On Peter's host today, that isUbuntu 25.10. - Use plain
prlctl exec;--current-useris not the right transport on this snapshot. - Fresh snapshots may be missing
curl, andapt-get updatecan fail on clock skew. Bootstrap withapt-get -o Acquire::Check-Date=false updateand installcurl ca-certificates. - Fresh
maintgz smoke still needs the latest-release installer first because the snapshot has no Node or npm before bootstrap. - This snapshot does not have a usable
systemd --usersession; managed daemon install is unsupported. - The Linux smoke now falls back to a manual
setsid openclaw gateway run --bind loopback --port 18789 --forcelaunch withHOME=/rootand the provider secret exported, then verifiesgateway status --deep --require-rpcwhen available. - The Linux manual gateway launch should wait for
gateway status --deep --require-rpcinside thegateway-startphase; otherwise the first status probe can race the background bind and fail a healthy lane. - If Linux gateway bring-up fails, inspect
/tmp/openclaw-parallels-linux-gateway.login the guest phase logs first; the common failure mode is a missing provider secret in the launched gateway environment.
Discord roundtrip
- Discord roundtrip is optional and should be enabled with:
--discord-token-env--discord-guild-id--discord-channel-id
- Keep the Discord token only in a host env var.
- Use installed
openclaw message send/read, notnode openclaw.mjs message .... - Set
channels.discord.guildsas one JSON object, not dotted config paths with snowflakes. - Avoid long
prlctl enteror expect-driven Discord config scripts; preferprlctl exec --current-user /bin/sh -lc ...with short commands. - For a narrower macOS-only Discord proof run, the existing
parallels-discord-roundtripskill is the deep-dive companion.
Other versions15 projects use a version of this.
Word for word · 0
None found.
Edited · 15
- steipete/warelay★ 394k62% same
- moltbot/clawdbot★ 394k62% same
- moltbot/moltbot★ 394k62% same
- clawdbot/clawdbot★ 394k62% same
- steipete/clawdis★ 394k62% same
- openclaw/openclaw★ 394k62% same
- molt-bot/clawdbot★ 391k63% same
- OpenBMB/EdgeClaw★ 1.2k68% same
- friuns2/openclaw-android-assistant★ 57363% same
- OpenClawAndroid/openclaw-android-assistant★ 55663% same
5 more not listed
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use plugin-sdk-impact, auto-qa and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
bighamxSkillplugin-sdk-impact
Query how many public plugins use a Plugin SDK method, optionally by recent release date, and assess SDK deprecation or behavior changes using live ClawHub evidence.
Also in 7 projects that use this
supermansuper563-opsSkillauto-qa
Continuously audit, live-test, and stress-test the current OpenClaw codebase across at least ten independently scoped subsystem lanes; default to 100 independently verified, landed root-cause fixes, maintain an evidence-backed report, and announce each merged pull request immediately. Use for OpenClaw-wide autonomous QA, live-provider campaigns, gateway, CLI, web, plugin, native-app, scenario, packaging, and extended soak testing.
Also in 11 projects that use this
molt-botSkilldiscord-e2e
Test Discord with Convex-leased QA bots: check credentials without a Gateway, exercise owned messages, or prove OpenClaw replies, files, threads, reactions, streaming, and typing. Distinguish API and Gateway evidence from manual user interactions.
Also in 10 projects that use this
molt-botSkillopenclaw-repair-sweep
Run scoped OpenClaw issue/PR repair campaigns: coordinate workers, prove root causes, and land or close verified work under the requested authority.
Also in 10 projects that use this
clawdbotSkillopenclaw-performance
Performance work in OpenClaw: a slow or heavy flow (latency, CPU, memory, SQL, RPC, renders), writing or reviewing a perf PR, or adding a cache. Count the work, delete waste first, cache last.
Also in 6 projects that use this
clawsoulsSkillchannel-message-flows
Use when running QA Lab channel message flow evidence.
Also in 12 projects that use this
- +2 more from molt-bot
In this repository67 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- extensions/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- ui/AGENTS.mdAGENTS.md
- openclaw-ghsa-maintainerSkill
- openclaw-pr-maintainerSkill
- openclaw-qa-testingSkill
- openclaw-release-maintainerSkill
- openclaw-secret-scanning-maintainerSkill
- openclaw-test-heap-leaksSkill
- parallels-discord-roundtripSkill
- security-triageSkill
- 1passwordSkill
- apple-notesSkill
- apple-remindersSkill
- bear-notesSkill
- blogwatcherSkill
- blucliSkill
- bluebubblesSkill
- camsnapSkill
- canvasSkill
- clawhubSkill
- coding-agentSkill
- discordSkill
- eightctlSkill
- geminiSkill
- gh-issuesSkill
- gifgrepSkill
- githubSkill
- gogSkill
- goplacesSkill
- healthcheckSkill
- himalayaSkill
- imsgSkill
- mcporterSkill
- model-usageSkill
- nano-pdfSkill
- node-connectSkill
- notionSkill
- obsidianSkill
- openai-whisper-apiSkill
- openai-whisperSkill
- openhueSkill
- oracleSkill
- ordercliSkill
- peekabooSkill
- sagSkill
- session-logsSkill
- sherpa-onnx-ttsSkill
- skill-creatorSkill
- slackSkill
- songseeSkill
- sonoscliSkill
- spotify-playerSkill
- summarizeSkill
- taskflow-inbox-triageSkill
- taskflowSkill
- things-macSkill
- tmuxSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

