Install
openclaw skills install wander-monitorGuides use of Wander to monitor GitHub Actions without polling. Use when the user pushes code and wants CI notifications, asks how to watch workflows, avoid refreshing the Actions page, or integrate Wander (smart-push, foreground/background/detached, wrappers, edge cases).
openclaw skills install wander-monitorDon't watch. Wander. CLI toolkit for monitoring GitHub Actions. No polling; optional macOS notifications when runs finish.
After every git push that triggers GitHub Actions, start Wander in background mode unless the user opts out.
.workflows.yml exists in the repo root: prefer a project wrapper (scripts/watch-*.sh) when present."$WANDER_HOME/watch-workflow-bg.sh" <workflow.yml> (or pass the workflow file the project uses).If there is no .workflows.yml but .github/workflows/ exists, offer monitoring but do not auto-start without confirmation.
git pushgh CLI installed and authenticatedjq (used by scripts)WANDER_HOME or default ~/code/wandergit clone https://github.com/ERerGB/wander.git ~/code/wander
cd ~/code/wander
chmod +x *.sh
Add to ~/.zshrc or ~/.bashrc:
export WANDER_HOME="${WANDER_HOME:-$HOME/code/wander}"
export PATH="$WANDER_HOME:$PATH"
alias wf='watch-workflow.sh'
alias wfbg='watch-workflow-bg.sh'
alias wfdt='watch-workflow-detached.sh'
Or run ./scripts/install-personal.sh from the Wander repo (see main README).
cd /path/to/wander
./smart-push.sh
Suggests smoke / e2e / skip from changed files, then push and monitor.
git push
cd /path/to/target-repo
"$WANDER_HOME/watch-workflow-bg.sh" publish.yml
| Mode | Script | Use case |
|---|---|---|
| Foreground | watch-workflow.sh | Block until result |
| Background | watch-workflow-bg.sh | Keep working; notify when done |
| Detached | watch-workflow-detached.sh | Close terminal; logs under ~/.wander_logs/ |
#!/bin/bash
# scripts/watch-publish.sh
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
WANDER_DIR="${WANDER_DIR:-$(dirname "$REPO_ROOT")/wander}"
cd "$REPO_ROOT"
exec "$WANDER_DIR/watch-workflow-bg.sh" publish.yml "$@"
Then: git push && ./scripts/watch-publish.sh
Examples elsewhere: openclaw-uninstall uses ./scripts/watch-publish.sh and watch-publish-detached.sh when present.
For check_window / expected_duration, add .workflows.yml at project root or set WORKFLOW_REGISTRY_FILE:
workflows:
- name: "publish.yml"
description: "Publish to ClawHub"
check_window: 120
expected_duration: 30
category: "publish"
Default check_window is 300 seconds when a workflow is not listed.
| Scenario | Behavior | Tip |
|---|---|---|
| Workflow finishes in under ~30s | May show "already completed" + quick notify | watch-workflow-bg.sh detects recent completion |
| Push then monitor immediately | Run may not appear for 5–10s | Scripts wait up to ~30s for the run to show |
| Wrong branch | No workflow after wait window | Confirm workflow on: filters match current branch |
| No lockfile in repo | setup-node with cache: npm can fail | Remove cache: npm if there is no package lockfile |
gh run view <RUN_ID> --log-failedgit push, or gh run rerun <RUN_ID> --failedWANDER_HOME if set$(dirname "$REPO_ROOT")/wander (common in wrappers)~/code/wander