Install
openclaw skills install claude-code-legacyTrigger Claude Code development tasks in observable tmux sessions with stable startup, progress visibility, and completion callback to OpenClaw. Use when use...
openclaw skills install claude-code-legacyUse 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