Install
openclaw skills install claude-code-orchestratorClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Trigger Claude Code development tasks in observable tmux sessions with stable startup, progress visibility, and completion callback to OpenClaw. Use when user asks to run coding work via Claude Code and wants to SSH in, monitor progress, and get auto-notified for review after completion.
openclaw skills install claude-code-orchestratorUse tmux-based orchestration for long coding tasks to avoid silent hangs and make progress observable.
claude --dangerously-skip-permissions in interactive mode.bash {baseDir}/scripts/wake.sh "..." nowbash {baseDir}/scripts/start-tmux-task.sh \
--label "gallery-detail-polish" \
--workdir "/Users/yaxuan/.openclaw/workspace/work/active/02-gallery-ops" \
--prompt-file "/Users/yaxuan/Downloads/gallery-website-design-system.md" \
--task "参考这个修改我当前的画廊官网,注意优先打磨细节和质感,对整体结构展示先不用大改。"
# attach
bash {baseDir}/scripts/monitor-tmux-task.sh --attach --session <session>
# capture last 200 lines
bash {baseDir}/scripts/monitor-tmux-task.sh --session <session> --lines 200
List all running cc-* tasks at a glance — useful for "butler-style" summaries.
# Human-readable one-liner per task
bash {baseDir}/scripts/list-tasks.sh
# Structured JSON array (pipe to jq, feed to OpenClaw, etc.)
bash {baseDir}/scripts/list-tasks.sh --json | jq .
Options:
--lines <n> — number of trailing pane lines to capture per task (default 20).--socket <path> — tmux socket path (default $TMPDIR/clawdbot-tmux-sockets/clawdbot.sock).--json — emit JSON array instead of human table.--target ssh --ssh-host <alias> — list sessions on a remote host.Each entry contains: label, session, status, sessionAlive, reportExists, reportJsonPath, lastLines, updatedAt.
Combine with OpenClaw to generate a periodic butler summary:
# In an OpenClaw prompt / cron:
bash {baseDir}/scripts/list-tasks.sh --json | \
openclaw gateway call summarize-tasks --stdin
claude -p one-shot for large tasks).bash {baseDir}/scripts/wake.sh "..." now in prompt.If wake not received within expected time, check task status before consuming tokens:
bash {baseDir}/scripts/status-tmux-task.sh --label <label>
Output: STATUS=running|likely_done|stuck|idle|dead|done_session_ended
likely_done / done_session_ended → proceed to completion looprunning → waitstuck → inspect (attach or capture-pane)dead → session lost, run complete-tmux-task.sh fallbackidle → Claude may be waiting for input, inspectWhen wake event "Claude Code done (...)" arrives, complete this loop immediately:
/tmp/cc-<label>-completion-report.jsonbash {baseDir}/scripts/complete-tmux-task.sh --label <label> --workdir <workdir>/tmp/cc-<label>-completion-report.json/.md)Do not stop at wake-only notification. Wake is trigger, not final delivery.
/tmp/cc-<label>-completion-report.json + .mdreport=<json_path>scripts/complete-tmux-task.sh reproduces evidence and emits structured report