跳到正文
cccskills
免费在 GitHub 公开

claude-code-wingman

Run and coordinate Claude Code sessions across separate project directories. Check progress, send follow-up tasks, and handle approval requests through WhatsApp, while keeping each session organized in its own tmux session.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Your Claude Code wingman - orchestrate multiple Claude Code sessions across projects, monitor them all from WhatsApp

sundial-org/awesome-openclaw-skills星标 671(GitHub 671 + cccskills 0)

实测评分 未实测

查看安装方法

适用场景

  • Run coding tasks for several projects in parallel
  • Check a Claude Code session's progress remotely
  • Send a follow-up prompt to an existing session
  • Approve or deny a session's tool request from WhatsApp

包含的文件(27)

  • SKILL.md13.0 KB
  • auto-approver.sh1.3 KB
  • CHANGELOG.md1.5 KB
  • check-approvals.sh642 B
  • claude-wingman.sh5.9 KB
  • clawdbot-skill/README.md871 B
  • clawdbot-skill/SKILL.md4.4 KB
  • dashboard.sh2.8 KB
  • interactive-approver.sh3.3 KB
  • lib/approval-respond.sh1.4 KB
  • lib/handle-approval.sh1.1 KB
  • lib/README.md2.8 KB
  • lib/send-notification.sh1.5 KB
  • lib/session-send.sh4.4 KB
  • lib/session-status.sh3.0 KB
  • master-monitor.sh8.0 KB
  • monitor-session.sh4.8 KB
  • README.md2.0 KB
  • research.md2.2 KB
  • respond-approval.sh424 B
  • test-project/CLAUDE.md206 B
  • test-project/output.txt16 B
  • test-project/test-interactive.txt21 B
  • test-project/test.txt32 B
  • test-project/test2.txt21 B
  • test-project/test5.txt9 B
  • USAGE.md2.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Claude Code Wingman

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

⚡ CRITICAL: Handle Approval Commands First

When a user message matches these patterns, IMMEDIATELY run the corresponding command:

User Message PatternCommand to Run
approve <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.

Quick Status Commands

User MessageCommand to Run
sessions or status~/code/claude-code-orchestrator/lib/session-status.sh --all --json
status <session>~/code/claude-code-orchestrator/lib/session-status.sh <session> --json

Parse the JSON and respond with a human-readable summary.


What It Does

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

🎯 Real-World Example: Multi-Session Orchestration

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. 🎯

Installation

Via Clawdbot (Recommended)

clawdbot skill install claude-code-wingman

Or visit: https://clawdhub.com/skills/claude-code-wingman

Manual Installation

cd ~/code
git clone https://github.com/yossiovadia/claude-code-orchestrator.git
cd claude-code-orchestrator
chmod +x *.sh lib/*.sh

Requirements

  • claude CLI (Claude Code)
  • tmux (terminal multiplexer)
  • jq (JSON processor)

Core Philosophy: Always Use the Wingman Script

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"

Usage from Clawdbot

Start a New Session

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>"

Send Command to Existing Session

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.

Check Session Status

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?")

Example Patterns

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"

Commands Reference

Start New Session

~/code/claude-code-orchestrator/claude-wingman.sh \
  --session <name> \
  --workdir <dir> \
  --prompt "<task>"

Send Command to Existing Session

~/code/claude-code-orchestrator/claude-wingman.sh \
  --session <existing-session> \
  --workdir <same-dir> \
  --prompt "<new command>"

Monitor Session Progress

tmux capture-pane -t <session-name> -p -S -100

List All Active Sessions

tmux ls

Filter for Claude Code sessions:

tmux ls | grep -E "(vsr|clawdbot|proxy|claude)"

View Auto-Approver Log (if needed)

cat /tmp/auto-approver-<session-name>.log

Kill Session When Done

tmux kill-session -t <session-name>

Attach Manually (for user)

tmux attach -t <session-name>
# Detach: Ctrl+B, then D

Roadmap: Multi-Session Dashboard (Coming Soon)

Planned features:

wingman dashboard

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

wingman status <session>

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

Session Registry

  • 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!

Workflow

  1. User requests coding work (fix bug, add feature, refactor, etc.)
  2. Clawdbot spawns Claude Code via orchestrator script
  3. Auto-approver handles permissions in background
  4. Clawdbot monitors and reports progress
  5. User can attach anytime to see/control directly
  6. Claude Code does the work autonomously ✅

Trust Prompt (First Time Only)

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.

Best Practices

When to Use Orchestrator

✅ 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

Session Naming

Use descriptive names:

  • vsr-issue-1131 - specific issue work
  • vsr-feature-auth - feature development
  • project-bugfix-X - bug fixes

Troubleshooting

Prompt Not Submitting

The orchestrator sends Enter twice with delays. If stuck, user can attach and press Enter manually.

Auto-Approver Not Working

Check logs: cat /tmp/auto-approver-<session-name>.log

Should see: "Approval prompt detected! Navigating to option 2..."

Session Already Exists

Kill it: tmux kill-session -t <name>

Advanced: Update Memory

After successful tasks, update TOOLS.md:

### Recent Claude Code Sessions
- 2026-01-26: VSR AWS check - verified vLLM server running ✅
- Session pattern: vsr-* for semantic-router work

Pro Tips

  • 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

🔔 Approval Handling (WhatsApp Integration)

The master monitor daemon sends WhatsApp notifications when sessions need approval. Handle them with these commands:

Approve Commands (from WhatsApp)

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>

Example WhatsApp Flow

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 the Monitor Daemon

# 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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

1password

免费

Set up and use the 1Password command-line tool `op` to sign in, verify account access, and work with vault data. The skill covers single or multiple accounts and shows how to run commands or fill templates with secrets while limiting exposure in logs and files.

中文简介正在准备中。当前显示英语简介。

  • Set up the `op` command-line tool
  • Sign in and verify access to an account
  • Run a command with vault secrets
sundial-org/awesome-openclaw-skills6712026年3月7日 更新

Check live prices, price changes, and trading volume for Shanghai, Shenzhen, and Beijing stocks. Review intraday volume patterns and possible large-investor activity, and manage holdings with cost, quantity, and profit or loss summaries.

中文简介正在准备中。当前显示英语简介。

  • Checking current prices for A-share stocks
  • Reviewing intraday volume and large-investor signals
  • Managing a stock portfolio and checking profit or loss
sundial-org/awesome-openclaw-skills6712026年3月7日 更新

Scan HTML or JSX files and directories for accessibility issues such as missing image descriptions, form labels, and keyboard access problems. The skill identifies WCAG guideline failures and provides suggested code fixes alongside its findings.

中文简介正在准备中。当前显示英语简介。

  • Checking a new component before release
  • Auditing an inherited codebase
  • Preparing for an accessibility compliance review
sundial-org/awesome-openclaw-skills6712026年3月7日 更新

Plan A/B tests that compare page or product changes, with clear hypotheses, sample sizes, success metrics, and traffic allocation. Get a structured test plan and guidance for interpreting results and deciding what to try next.

中文简介正在准备中。当前显示英语简介。

  • Comparing signup button copy
  • Planning a pricing page experiment
  • Estimating sample size and test duration
sundial-org/awesome-openclaw-skills6712026年3月7日 更新

Turn LinkedIn profile URLs into coordinated account-based outreach. The workflow gathers profile details, enriches contacts with email and phone data, looks up mailing addresses, and prepares email, LinkedIn, and handwritten-letter touches with the specified services.

中文简介正在准备中。当前显示英语简介。

  • Building a multichannel campaign from LinkedIn prospect URLs
  • Enriching prospect records with work contact details
  • Coordinating email, LinkedIn, and handwritten mail outreach
sundial-org/awesome-openclaw-skills6712026年3月7日 更新

accli

免费

Work with Apple Calendar on macOS to list calendars, find and view events, and check busy time slots across calendars. Create, update, or delete events with details such as dates, locations, and descriptions.

中文简介正在准备中。当前显示英语简介。

  • Reviewing events on a work or personal calendar
  • Checking availability before scheduling a meeting
  • Creating or updating a calendar event
sundial-org/awesome-openclaw-skills6712026年3月7日 更新

查看 sundial-org 的全部技能

报告此技能的问题