Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Your Claude Code wingman - orchestrate multiple Claude Code sessions across projects, monitor them all from WhatsApp
Your Claude Code wingman - orchestrate multiple Claude Code sessions across projects, monitor them all from WhatsApp
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Your multi-session orchestrator - manage multiple Claude Code instances working on different projects simultaneously, all from WhatsApp. GitHub: https://github.com/yossiovadia/claude-code-orchestrator
When a user message matches these patterns, IMMEDIATELY run the corresponding command: User Message PatternCommand to Runapprove <session>~/code/claude-code-orchestrator/lib/handle-approval.sh approve <session>always <session>~/code/claude-code-orchestrator/lib/handle-approval.sh always <session>deny <session>~/code/claude-code-orchestrator/lib/handle-approval.sh deny <session> Examples: User: "approve vsr-bugfix" โ Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh approve vsr-bugfix User: "always heartbeat-test" โ Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh always heartbeat-test User: "deny proxy-refactor" โ Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh deny proxy-refactor After running, respond with the command output (e.g., "โ Session 'vsr-bugfix' approved (once)") Why this is critical: The master monitor daemon sends WhatsApp notifications when Claude Code sessions need approval. The user responds with these commands from their phone. Fast response = unblocked sessions.
User MessageCommand to Runsessions or status~/code/claude-code-orchestrator/lib/session-status.sh --all --jsonstatus <session>~/code/claude-code-orchestrator/lib/session-status.sh <session> --json Parse the JSON and respond with a human-readable summary.
Orchestrates multiple Claude Code sessions in parallel, each working on different tasks in different directories. You monitor and control everything remotely via WhatsApp/chat. The Vision: Multiple tmux sessions running simultaneously Each session = one Claude Code instance in its own directory Different tasks happening in parallel (VSR fixes, Clawdbot features, proxy refactoring) You orchestrate everything via Clawdbot (this assistant) from WhatsApp Real-time dashboard showing all active sessions and their status
Morning - You (via WhatsApp): "Start work on VSR issue #1131, Clawdbot authentication feature, and refactor the proxy" Clawdbot spawns 3 sessions: โ Session: vsr-issue-1131 (~/code/semantic-router) โ Session: clawdbot-auth (~/code/clawdbot) โ Session: proxy-refactor (~/code/claude-code-proxy) During lunch - You: "Show me the dashboard" Clawdbot: โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Active Claude Code Sessions โ โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโค โ vsr-issue-1131 โ semantic-router โ โ Working โ โ clawdbot-auth โ clawdbot โ โ Working โ โ proxy-refactor โ claude-code-proxy โ โณ Waiting approval โ โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ You: "How's the VSR issue going?" Clawdbot captures session output: "Almost done - fixed the schema validation bug, running tests now. 8/10 tests passing." You: "Tell proxy-refactor to run tests next" Clawdbot sends command to that specific session. Result: 3 parallel tasks, full remote control from your phone. ๐ฏ
clawdbot skill install claude-code-wingman Or visit: https://clawdhub.com/skills/claude-code-wingman
cd ~/code git clone https://github.com/yossiovadia/claude-code-orchestrator.git cd claude-code-orchestrator chmod +x *.sh lib/*.sh
claude CLI (Claude Code) tmux (terminal multiplexer) jq (JSON processor)
CRITICAL: When interacting with Claude Code sessions, ALWAYS use the wingman script (claude-wingman.sh). Never run raw tmux commands directly. Why: โ Ensures proper Enter key handling (C-m) โ Consistent session management โ Future-proof for dashboard/tracking features โ Avoids bugs from manual tmux commands Wrong (DON'T DO THIS): tmux send-keys -t my-session "Run tests" # ^ Might forget C-m, won't be tracked in dashboard Right (ALWAYS DO THIS): ~/code/claude-code-orchestrator/claude-wingman.sh \ --session my-session \ --workdir ~/code/myproject \ --prompt "Run tests"
When a user asks for coding work, spawn Claude Code: ~/code/claude-code-orchestrator/claude-wingman.sh \ --session <session-name> \ --workdir <project-directory> \ --prompt "<task description>"
To send a new task to an already-running session: ~/code/claude-code-orchestrator/claude-wingman.sh \ --session <existing-session-name> \ --workdir <same-directory> \ --prompt "<new task>" Note: The script detects if the session exists and sends the command to it instead of creating a duplicate.
tmux capture-pane -t <session-name> -p -S -50 Parse the output to determine if Claude Code is: Working (showing tool calls/progress) Idle (showing prompt) Error state (showing errors) Waiting for approval (showing "Allow this tool call?")
User: "Fix the bug in api.py" Clawdbot: Spawning Claude Code session for this... [Runs wingman script] โ Session started: vsr-bug-fix ๐ Directory: ~/code/semantic-router ๐ฏ Task: Fix bug in api.py User: "What's the status?" Clawdbot: tmux capture-pane -t vsr-bug-fix -p -S -50 Then summarize: "Claude Code is running tests now, 8/10 passing" User: "Tell it to commit the changes" Clawdbot: ~/code/claude-code-orchestrator/claude-wingman.sh \ --session vsr-bug-fix \ --workdir ~/code/semantic-router \ --prompt "Commit the changes with a descriptive message"
~/code/claude-code-orchestrator/claude-wingman.sh \ --session <name> \ --workdir <dir> \ --prompt "<task>"
~/code/claude-code-orchestrator/claude-wingman.sh \ --session <existing-session> \ --workdir <same-dir> \ --prompt "<new command>"
tmux capture-pane -t <session-name> -p -S -100
tmux ls Filter for Claude Code sessions: tmux ls | grep -E "(vsr|clawdbot|proxy|claude)"
cat /tmp/auto-approver-<session-name>.log
tmux kill-session -t <session-name>
tmux attach -t <session-name> # Detach: Ctrl+B, then D
Planned features:
Shows all active Claude Code sessions: โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Active Claude Code Sessions โ โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโค โ Session โ Directory โ Status โ โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค โ vsr-issue-1131 โ ~/code/semantic-... โ โ Working โ โ clawdbot-feat โ ~/code/clawdbot โ โณ Waiting approval โ โ proxy-refactor โ ~/code/claude-co... โ โ Error โ โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ Total: 3 sessions | Working: 1 | Waiting: 1 | Error: 1
Detailed status for a specific session: Session: vsr-issue-1131 Directory: ~/code/semantic-router Started: 2h 15m ago Last activity: 30s ago Status: โ Working Current task: Running pytest tests Progress: 8/10 tests passing
Persistent tracking (survives Clawdbot restarts) JSON file storing session metadata Auto-cleanup of dead sessions For now: Use tmux commands directly, but always via the wingman script for sending commands!
User requests coding work (fix bug, add feature, refactor, etc.) Clawdbot spawns Claude Code via orchestrator script Auto-approver handles permissions in background Clawdbot monitors and reports progress User can attach anytime to see/control directly Claude Code does the work autonomously โ
When running in a new directory, Claude Code asks: "Do you trust the files in this folder?" First run: User must attach and approve (press Enter). After that, it's automatic. Handle it: User, Claude Code needs you to approve the folder trust (one-time). Please run: tmux attach -t <session-name> Press Enter to approve, then Ctrl+B followed by D to detach.
โ Use orchestrator for: Heavy code generation/refactoring Multi-file changes Long-running tasks Repetitive coding work โ Don't use orchestrator for: Quick file reads Simple edits When conversation is needed Planning/design discussions
Use descriptive names: vsr-issue-1131 - specific issue work vsr-feature-auth - feature development project-bugfix-X - bug fixes
The orchestrator sends Enter twice with delays. If stuck, user can attach and press Enter manually.
Check logs: cat /tmp/auto-approver-<session-name>.log Should see: "Approval prompt detected! Navigating to option 2..."
Kill it: tmux kill-session -t <name>
Parallel sessions: Run multiple tasks simultaneously in different sessions Name consistently: Use project prefixes (vsr-, myapp-, etc.) Monitor periodically: Check progress every few minutes Let it finish: Don't kill sessions early, let Claude Code complete
The master monitor daemon sends WhatsApp notifications when sessions need approval. Handle them with these commands:
When you receive an approval notification, respond with: Clawdbot parses your message and runs: # Approve once ~/code/claude-code-orchestrator/lib/handle-approval.sh approve <session-name> # Approve all similar (always) ~/code/claude-code-orchestrator/lib/handle-approval.sh always <session-name> # Deny ~/code/claude-code-orchestrator/lib/handle-approval.sh deny <session-name>
Notification received: ๐ Session 'vsr-bugfix' needs approval Bash(rm -rf ./build && npm run build) Reply with: โข approve vsr-bugfix - Allow once โข always vsr-bugfix - Allow all similar โข deny vsr-bugfix - Reject You reply: "approve vsr-bugfix" Clawdbot: ~/code/claude-code-orchestrator/lib/handle-approval.sh approve vsr-bugfix Response: "โ Session 'vsr-bugfix' approved (once)"
# Start monitoring all sessions (reads config from ~/.clawdbot/clawdbot.json) ~/code/claude-code-orchestrator/master-monitor.sh & # With custom intervals ~/code/claude-code-orchestrator/master-monitor.sh --poll-interval 5 --reminder-interval 120 & # Check if running cat /tmp/claude-orchestrator/master-monitor.pid # View logs tail -f /tmp/claude-orchestrator/master-monitor.log # Stop the daemon kill $(cat /tmp/claude-orchestrator/master-monitor.pid) No environment variables needed - phone and webhook token are read from Clawdbot config.
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.