{
  "schemaVersion": "1.0",
  "item": {
    "slug": "claude-code-wingman",
    "name": "Claude Code Wingman",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/yossiovadia/claude-code-wingman",
    "canonicalUrl": "https://clawhub.ai/yossiovadia/claude-code-wingman",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/claude-code-wingman",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=claude-code-wingman",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "USAGE.md",
      "auto-approver.sh",
      "check-approvals.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/claude-code-wingman"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/claude-code-wingman",
    "agentPageUrl": "https://openagent3.xyz/skills/claude-code-wingman/agent",
    "manifestUrl": "https://openagent3.xyz/skills/claude-code-wingman/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/claude-code-wingman/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Claude Code Wingman",
        "body": "Your multi-session orchestrator - manage multiple Claude Code instances working on different projects simultaneously, all from WhatsApp.\n\nGitHub: https://github.com/yossiovadia/claude-code-orchestrator"
      },
      {
        "title": "⚡ CRITICAL: Handle Approval Commands First",
        "body": "When a user message matches these patterns, IMMEDIATELY run the corresponding command:\n\nUser 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>\n\nExamples:\n\nUser: \"approve vsr-bugfix\" → Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh approve vsr-bugfix\nUser: \"always heartbeat-test\" → Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh always heartbeat-test\nUser: \"deny proxy-refactor\" → Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh deny proxy-refactor\n\nAfter running, respond with the command output (e.g., \"✓ Session 'vsr-bugfix' approved (once)\")\n\nWhy 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."
      },
      {
        "title": "Quick Status Commands",
        "body": "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\n\nParse the JSON and respond with a human-readable summary."
      },
      {
        "title": "What It Does",
        "body": "Orchestrates multiple Claude Code sessions in parallel, each working on different tasks in different directories. You monitor and control everything remotely via WhatsApp/chat.\n\nThe Vision:\n\nMultiple tmux sessions running simultaneously\nEach session = one Claude Code instance in its own directory\nDifferent tasks happening in parallel (VSR fixes, Clawdbot features, proxy refactoring)\nYou orchestrate everything via Clawdbot (this assistant) from WhatsApp\nReal-time dashboard showing all active sessions and their status"
      },
      {
        "title": "🎯 Real-World Example: Multi-Session Orchestration",
        "body": "Morning - You (via WhatsApp): \"Start work on VSR issue #1131, Clawdbot authentication feature, and refactor the proxy\"\n\nClawdbot spawns 3 sessions:\n\n✅ Session: vsr-issue-1131     (~/code/semantic-router)\n✅ Session: clawdbot-auth      (~/code/clawdbot)\n✅ Session: proxy-refactor     (~/code/claude-code-proxy)\n\nDuring lunch - You: \"Show me the dashboard\"\n\nClawdbot:\n\n┌─────────────────────────────────────────────────────────┐\n│ Active Claude Code Sessions                             │\n├─────────────────┬──────────────────────┬────────────────┤\n│ vsr-issue-1131  │ semantic-router      │ ✅ Working     │\n│ clawdbot-auth   │ clawdbot             │ ✅ Working     │\n│ proxy-refactor  │ claude-code-proxy    │ ⏳ Waiting approval │\n└─────────────────┴──────────────────────┴────────────────┘\n\nYou: \"How's the VSR issue going?\"\n\nClawdbot captures session output:\n\"Almost done - fixed the schema validation bug, running tests now. 8/10 tests passing.\"\n\nYou: \"Tell proxy-refactor to run tests next\"\n\nClawdbot sends command to that specific session.\n\nResult: 3 parallel tasks, full remote control from your phone. 🎯"
      },
      {
        "title": "Via Clawdbot (Recommended)",
        "body": "clawdbot skill install claude-code-wingman\n\nOr visit: https://clawdhub.com/skills/claude-code-wingman"
      },
      {
        "title": "Manual Installation",
        "body": "cd ~/code\ngit clone https://github.com/yossiovadia/claude-code-orchestrator.git\ncd claude-code-orchestrator\nchmod +x *.sh lib/*.sh"
      },
      {
        "title": "Requirements",
        "body": "claude CLI (Claude Code)\ntmux (terminal multiplexer)\njq (JSON processor)"
      },
      {
        "title": "Core Philosophy: Always Use the Wingman Script",
        "body": "CRITICAL: When interacting with Claude Code sessions, ALWAYS use the wingman script (claude-wingman.sh). Never run raw tmux commands directly.\n\nWhy:\n\n✅ Ensures proper Enter key handling (C-m)\n✅ Consistent session management\n✅ Future-proof for dashboard/tracking features\n✅ Avoids bugs from manual tmux commands\n\nWrong (DON'T DO THIS):\n\ntmux send-keys -t my-session \"Run tests\"\n# ^ Might forget C-m, won't be tracked in dashboard\n\nRight (ALWAYS DO THIS):\n\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session my-session \\\n  --workdir ~/code/myproject \\\n  --prompt \"Run tests\""
      },
      {
        "title": "Start a New Session",
        "body": "When a user asks for coding work, spawn Claude Code:\n\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session <session-name> \\\n  --workdir <project-directory> \\\n  --prompt \"<task description>\""
      },
      {
        "title": "Send Command to Existing Session",
        "body": "To send a new task to an already-running session:\n\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session <existing-session-name> \\\n  --workdir <same-directory> \\\n  --prompt \"<new task>\"\n\nNote: The script detects if the session exists and sends the command to it instead of creating a duplicate."
      },
      {
        "title": "Check Session Status",
        "body": "tmux capture-pane -t <session-name> -p -S -50\n\nParse the output to determine if Claude Code is:\n\nWorking (showing tool calls/progress)\nIdle (showing prompt)\nError state (showing errors)\nWaiting for approval (showing \"Allow this tool call?\")"
      },
      {
        "title": "Example Patterns",
        "body": "User: \"Fix the bug in api.py\"\n\nClawdbot:\n\nSpawning Claude Code session for this...\n\n[Runs wingman script]\n\n✅ Session started: vsr-bug-fix\n📂 Directory: ~/code/semantic-router\n🎯 Task: Fix bug in api.py\n\nUser: \"What's the status?\"\n\nClawdbot:\n\ntmux capture-pane -t vsr-bug-fix -p -S -50\n\nThen summarize: \"Claude Code is running tests now, 8/10 passing\"\n\nUser: \"Tell it to commit the changes\"\n\nClawdbot:\n\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session vsr-bug-fix \\\n  --workdir ~/code/semantic-router \\\n  --prompt \"Commit the changes with a descriptive message\""
      },
      {
        "title": "Start New Session",
        "body": "~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session <name> \\\n  --workdir <dir> \\\n  --prompt \"<task>\""
      },
      {
        "title": "Send Command to Existing Session",
        "body": "~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session <existing-session> \\\n  --workdir <same-dir> \\\n  --prompt \"<new command>\""
      },
      {
        "title": "Monitor Session Progress",
        "body": "tmux capture-pane -t <session-name> -p -S -100"
      },
      {
        "title": "List All Active Sessions",
        "body": "tmux ls\n\nFilter for Claude Code sessions:\n\ntmux ls | grep -E \"(vsr|clawdbot|proxy|claude)\""
      },
      {
        "title": "View Auto-Approver Log (if needed)",
        "body": "cat /tmp/auto-approver-<session-name>.log"
      },
      {
        "title": "Kill Session When Done",
        "body": "tmux kill-session -t <session-name>"
      },
      {
        "title": "Attach Manually (for user)",
        "body": "tmux attach -t <session-name>\n# Detach: Ctrl+B, then D"
      },
      {
        "title": "Roadmap: Multi-Session Dashboard (Coming Soon)",
        "body": "Planned features:"
      },
      {
        "title": "wingman dashboard",
        "body": "Shows all active Claude Code sessions:\n\n┌─────────────────────────────────────────────────────────┐\n│ Active Claude Code Sessions                             │\n├─────────────────┬──────────────────────┬────────────────┤\n│ Session         │ Directory            │ Status         │\n├─────────────────┼──────────────────────┼────────────────┤\n│ vsr-issue-1131  │ ~/code/semantic-...  │ ✅ Working     │\n│ clawdbot-feat   │ ~/code/clawdbot      │ ⏳ Waiting approval │\n│ proxy-refactor  │ ~/code/claude-co...  │ ❌ Error       │\n└─────────────────┴──────────────────────┴────────────────┘\n\nTotal: 3 sessions | Working: 1 | Waiting: 1 | Error: 1"
      },
      {
        "title": "wingman status <session>",
        "body": "Detailed status for a specific session:\n\nSession: vsr-issue-1131\nDirectory: ~/code/semantic-router\nStarted: 2h 15m ago\nLast activity: 30s ago\nStatus: ✅ Working\nCurrent task: Running pytest tests\nProgress: 8/10 tests passing"
      },
      {
        "title": "Session Registry",
        "body": "Persistent tracking (survives Clawdbot restarts)\nJSON file storing session metadata\nAuto-cleanup of dead sessions\n\nFor now: Use tmux commands directly, but always via the wingman script for sending commands!"
      },
      {
        "title": "Workflow",
        "body": "User requests coding work (fix bug, add feature, refactor, etc.)\nClawdbot spawns Claude Code via orchestrator script\nAuto-approver handles permissions in background\nClawdbot monitors and reports progress\nUser can attach anytime to see/control directly\nClaude Code does the work autonomously ✅"
      },
      {
        "title": "Trust Prompt (First Time Only)",
        "body": "When running in a new directory, Claude Code asks:\n\n\"Do you trust the files in this folder?\"\n\nFirst run: User must attach and approve (press Enter). After that, it's automatic.\n\nHandle it:\n\nUser, Claude Code needs you to approve the folder trust (one-time). Please run:\ntmux attach -t <session-name>\n\nPress Enter to approve, then Ctrl+B followed by D to detach."
      },
      {
        "title": "When to Use Orchestrator",
        "body": "✅ Use orchestrator for:\n\nHeavy code generation/refactoring\nMulti-file changes\nLong-running tasks\nRepetitive coding work\n\n❌ Don't use orchestrator for:\n\nQuick file reads\nSimple edits\nWhen conversation is needed\nPlanning/design discussions"
      },
      {
        "title": "Session Naming",
        "body": "Use descriptive names:\n\nvsr-issue-1131 - specific issue work\nvsr-feature-auth - feature development\nproject-bugfix-X - bug fixes"
      },
      {
        "title": "Prompt Not Submitting",
        "body": "The orchestrator sends Enter twice with delays. If stuck, user can attach and press Enter manually."
      },
      {
        "title": "Auto-Approver Not Working",
        "body": "Check logs: cat /tmp/auto-approver-<session-name>.log\n\nShould see: \"Approval prompt detected! Navigating to option 2...\""
      },
      {
        "title": "Session Already Exists",
        "body": "Kill it: tmux kill-session -t <name>"
      },
      {
        "title": "Advanced: Update Memory",
        "body": "After successful tasks, update TOOLS.md:\n\n### Recent Claude Code Sessions\n- 2026-01-26: VSR AWS check - verified vLLM server running ✅\n- Session pattern: vsr-* for semantic-router work"
      },
      {
        "title": "Pro Tips",
        "body": "Parallel sessions: Run multiple tasks simultaneously in different sessions\nName consistently: Use project prefixes (vsr-, myapp-, etc.)\nMonitor periodically: Check progress every few minutes\nLet it finish: Don't kill sessions early, let Claude Code complete"
      },
      {
        "title": "🔔 Approval Handling (WhatsApp Integration)",
        "body": "The master monitor daemon sends WhatsApp notifications when sessions need approval. Handle them with these commands:"
      },
      {
        "title": "Approve Commands (from WhatsApp)",
        "body": "When you receive an approval notification, respond with:\n\nClawdbot parses your message and runs:\n\n# Approve once\n~/code/claude-code-orchestrator/lib/handle-approval.sh approve <session-name>\n\n# Approve all similar (always)\n~/code/claude-code-orchestrator/lib/handle-approval.sh always <session-name>\n\n# Deny\n~/code/claude-code-orchestrator/lib/handle-approval.sh deny <session-name>"
      },
      {
        "title": "Example WhatsApp Flow",
        "body": "Notification received:\n\n🔒 Session 'vsr-bugfix' needs approval\n\nBash(rm -rf ./build && npm run build)\n\nReply with:\n• approve vsr-bugfix - Allow once\n• always vsr-bugfix - Allow all similar\n• deny vsr-bugfix - Reject\n\nYou reply: \"approve vsr-bugfix\"\n\nClawdbot:\n\n~/code/claude-code-orchestrator/lib/handle-approval.sh approve vsr-bugfix\n\nResponse: \"✓ Session 'vsr-bugfix' approved (once)\""
      },
      {
        "title": "Start the Monitor Daemon",
        "body": "# Start monitoring all sessions (reads config from ~/.clawdbot/clawdbot.json)\n~/code/claude-code-orchestrator/master-monitor.sh &\n\n# With custom intervals\n~/code/claude-code-orchestrator/master-monitor.sh --poll-interval 5 --reminder-interval 120 &\n\n# Check if running\ncat /tmp/claude-orchestrator/master-monitor.pid\n\n# View logs\ntail -f /tmp/claude-orchestrator/master-monitor.log\n\n# Stop the daemon\nkill $(cat /tmp/claude-orchestrator/master-monitor.pid)\n\nNo environment variables needed - phone and webhook token are read from Clawdbot config."
      }
    ],
    "body": "Claude Code Wingman\n\nYour multi-session orchestrator - manage multiple Claude Code instances working on different projects simultaneously, all from WhatsApp.\n\nGitHub: https://github.com/yossiovadia/claude-code-orchestrator\n\n⚡ CRITICAL: Handle Approval Commands First\n\nWhen a user message matches these patterns, IMMEDIATELY run the corresponding command:\n\nUser Message Pattern\tCommand to Run\napprove <session>\t~/code/claude-code-orchestrator/lib/handle-approval.sh approve <session>\nalways <session>\t~/code/claude-code-orchestrator/lib/handle-approval.sh always <session>\ndeny <session>\t~/code/claude-code-orchestrator/lib/handle-approval.sh deny <session>\n\nExamples:\n\nUser: \"approve vsr-bugfix\" → Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh approve vsr-bugfix\nUser: \"always heartbeat-test\" → Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh always heartbeat-test\nUser: \"deny proxy-refactor\" → Run: ~/code/claude-code-orchestrator/lib/handle-approval.sh deny proxy-refactor\n\nAfter running, respond with the command output (e.g., \"✓ Session 'vsr-bugfix' approved (once)\")\n\nWhy 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.\n\nQuick Status Commands\nUser Message\tCommand to Run\nsessions or status\t~/code/claude-code-orchestrator/lib/session-status.sh --all --json\nstatus <session>\t~/code/claude-code-orchestrator/lib/session-status.sh <session> --json\n\nParse the JSON and respond with a human-readable summary.\n\nWhat It Does\n\nOrchestrates multiple Claude Code sessions in parallel, each working on different tasks in different directories. You monitor and control everything remotely via WhatsApp/chat.\n\nThe Vision:\n\nMultiple tmux sessions running simultaneously\nEach session = one Claude Code instance in its own directory\nDifferent tasks happening in parallel (VSR fixes, Clawdbot features, proxy refactoring)\nYou orchestrate everything via Clawdbot (this assistant) from WhatsApp\nReal-time dashboard showing all active sessions and their status\n🎯 Real-World Example: Multi-Session Orchestration\n\nMorning - You (via WhatsApp): \"Start work on VSR issue #1131, Clawdbot authentication feature, and refactor the proxy\"\n\nClawdbot spawns 3 sessions:\n\n✅ Session: vsr-issue-1131     (~/code/semantic-router)\n✅ Session: clawdbot-auth      (~/code/clawdbot)\n✅ Session: proxy-refactor     (~/code/claude-code-proxy)\n\n\nDuring lunch - You: \"Show me the dashboard\"\n\nClawdbot:\n\n┌─────────────────────────────────────────────────────────┐\n│ Active Claude Code Sessions                             │\n├─────────────────┬──────────────────────┬────────────────┤\n│ vsr-issue-1131  │ semantic-router      │ ✅ Working     │\n│ clawdbot-auth   │ clawdbot             │ ✅ Working     │\n│ proxy-refactor  │ claude-code-proxy    │ ⏳ Waiting approval │\n└─────────────────┴──────────────────────┴────────────────┘\n\n\nYou: \"How's the VSR issue going?\"\n\nClawdbot captures session output: \"Almost done - fixed the schema validation bug, running tests now. 8/10 tests passing.\"\n\nYou: \"Tell proxy-refactor to run tests next\"\n\nClawdbot sends command to that specific session.\n\nResult: 3 parallel tasks, full remote control from your phone. 🎯\n\nInstallation\nVia Clawdbot (Recommended)\nclawdbot skill install claude-code-wingman\n\n\nOr visit: https://clawdhub.com/skills/claude-code-wingman\n\nManual Installation\ncd ~/code\ngit clone https://github.com/yossiovadia/claude-code-orchestrator.git\ncd claude-code-orchestrator\nchmod +x *.sh lib/*.sh\n\nRequirements\nclaude CLI (Claude Code)\ntmux (terminal multiplexer)\njq (JSON processor)\nCore Philosophy: Always Use the Wingman Script\n\nCRITICAL: When interacting with Claude Code sessions, ALWAYS use the wingman script (claude-wingman.sh). Never run raw tmux commands directly.\n\nWhy:\n\n✅ Ensures proper Enter key handling (C-m)\n✅ Consistent session management\n✅ Future-proof for dashboard/tracking features\n✅ Avoids bugs from manual tmux commands\n\nWrong (DON'T DO THIS):\n\ntmux send-keys -t my-session \"Run tests\"\n# ^ Might forget C-m, won't be tracked in dashboard\n\n\nRight (ALWAYS DO THIS):\n\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session my-session \\\n  --workdir ~/code/myproject \\\n  --prompt \"Run tests\"\n\nUsage from Clawdbot\nStart a New Session\n\nWhen a user asks for coding work, spawn Claude Code:\n\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session <session-name> \\\n  --workdir <project-directory> \\\n  --prompt \"<task description>\"\n\nSend Command to Existing Session\n\nTo send a new task to an already-running session:\n\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session <existing-session-name> \\\n  --workdir <same-directory> \\\n  --prompt \"<new task>\"\n\n\nNote: The script detects if the session exists and sends the command to it instead of creating a duplicate.\n\nCheck Session Status\ntmux capture-pane -t <session-name> -p -S -50\n\n\nParse the output to determine if Claude Code is:\n\nWorking (showing tool calls/progress)\nIdle (showing prompt)\nError state (showing errors)\nWaiting for approval (showing \"Allow this tool call?\")\nExample Patterns\n\nUser: \"Fix the bug in api.py\"\n\nClawdbot:\n\nSpawning Claude Code session for this...\n\n[Runs wingman script]\n\n✅ Session started: vsr-bug-fix\n📂 Directory: ~/code/semantic-router\n🎯 Task: Fix bug in api.py\n\n\nUser: \"What's the status?\"\n\nClawdbot:\n\ntmux capture-pane -t vsr-bug-fix -p -S -50\n\n\nThen summarize: \"Claude Code is running tests now, 8/10 passing\"\n\nUser: \"Tell it to commit the changes\"\n\nClawdbot:\n\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session vsr-bug-fix \\\n  --workdir ~/code/semantic-router \\\n  --prompt \"Commit the changes with a descriptive message\"\n\nCommands Reference\nStart New Session\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session <name> \\\n  --workdir <dir> \\\n  --prompt \"<task>\"\n\nSend Command to Existing Session\n~/code/claude-code-orchestrator/claude-wingman.sh \\\n  --session <existing-session> \\\n  --workdir <same-dir> \\\n  --prompt \"<new command>\"\n\nMonitor Session Progress\ntmux capture-pane -t <session-name> -p -S -100\n\nList All Active Sessions\ntmux ls\n\n\nFilter for Claude Code sessions:\n\ntmux ls | grep -E \"(vsr|clawdbot|proxy|claude)\"\n\nView Auto-Approver Log (if needed)\ncat /tmp/auto-approver-<session-name>.log\n\nKill Session When Done\ntmux kill-session -t <session-name>\n\nAttach Manually (for user)\ntmux attach -t <session-name>\n# Detach: Ctrl+B, then D\n\nRoadmap: Multi-Session Dashboard (Coming Soon)\n\nPlanned features:\n\nwingman dashboard\n\nShows all active Claude Code sessions:\n\n┌─────────────────────────────────────────────────────────┐\n│ Active Claude Code Sessions                             │\n├─────────────────┬──────────────────────┬────────────────┤\n│ Session         │ Directory            │ Status         │\n├─────────────────┼──────────────────────┼────────────────┤\n│ vsr-issue-1131  │ ~/code/semantic-...  │ ✅ Working     │\n│ clawdbot-feat   │ ~/code/clawdbot      │ ⏳ Waiting approval │\n│ proxy-refactor  │ ~/code/claude-co...  │ ❌ Error       │\n└─────────────────┴──────────────────────┴────────────────┘\n\nTotal: 3 sessions | Working: 1 | Waiting: 1 | Error: 1\n\nwingman status <session>\n\nDetailed status for a specific session:\n\nSession: vsr-issue-1131\nDirectory: ~/code/semantic-router\nStarted: 2h 15m ago\nLast activity: 30s ago\nStatus: ✅ Working\nCurrent task: Running pytest tests\nProgress: 8/10 tests passing\n\nSession Registry\nPersistent tracking (survives Clawdbot restarts)\nJSON file storing session metadata\nAuto-cleanup of dead sessions\n\nFor now: Use tmux commands directly, but always via the wingman script for sending commands!\n\nWorkflow\nUser requests coding work (fix bug, add feature, refactor, etc.)\nClawdbot spawns Claude Code via orchestrator script\nAuto-approver handles permissions in background\nClawdbot monitors and reports progress\nUser can attach anytime to see/control directly\nClaude Code does the work autonomously ✅\nTrust Prompt (First Time Only)\n\nWhen running in a new directory, Claude Code asks:\n\n\"Do you trust the files in this folder?\"\n\nFirst run: User must attach and approve (press Enter). After that, it's automatic.\n\nHandle it:\n\nUser, Claude Code needs you to approve the folder trust (one-time). Please run:\ntmux attach -t <session-name>\n\nPress Enter to approve, then Ctrl+B followed by D to detach.\n\nBest Practices\nWhen to Use Orchestrator\n\n✅ Use orchestrator for:\n\nHeavy code generation/refactoring\nMulti-file changes\nLong-running tasks\nRepetitive coding work\n\n❌ Don't use orchestrator for:\n\nQuick file reads\nSimple edits\nWhen conversation is needed\nPlanning/design discussions\nSession Naming\n\nUse descriptive names:\n\nvsr-issue-1131 - specific issue work\nvsr-feature-auth - feature development\nproject-bugfix-X - bug fixes\nTroubleshooting\nPrompt Not Submitting\n\nThe orchestrator sends Enter twice with delays. If stuck, user can attach and press Enter manually.\n\nAuto-Approver Not Working\n\nCheck logs: cat /tmp/auto-approver-<session-name>.log\n\nShould see: \"Approval prompt detected! Navigating to option 2...\"\n\nSession Already Exists\n\nKill it: tmux kill-session -t <name>\n\nAdvanced: Update Memory\n\nAfter successful tasks, update TOOLS.md:\n\n### Recent Claude Code Sessions\n- 2026-01-26: VSR AWS check - verified vLLM server running ✅\n- Session pattern: vsr-* for semantic-router work\n\nPro Tips\nParallel sessions: Run multiple tasks simultaneously in different sessions\nName consistently: Use project prefixes (vsr-, myapp-, etc.)\nMonitor periodically: Check progress every few minutes\nLet it finish: Don't kill sessions early, let Claude Code complete\n🔔 Approval Handling (WhatsApp Integration)\n\nThe master monitor daemon sends WhatsApp notifications when sessions need approval. Handle them with these commands:\n\nApprove Commands (from WhatsApp)\n\nWhen you receive an approval notification, respond with:\n\nClawdbot parses your message and runs:\n\n# Approve once\n~/code/claude-code-orchestrator/lib/handle-approval.sh approve <session-name>\n\n# Approve all similar (always)\n~/code/claude-code-orchestrator/lib/handle-approval.sh always <session-name>\n\n# Deny\n~/code/claude-code-orchestrator/lib/handle-approval.sh deny <session-name>\n\nExample WhatsApp Flow\n\nNotification received:\n\n🔒 Session 'vsr-bugfix' needs approval\n\nBash(rm -rf ./build && npm run build)\n\nReply with:\n• approve vsr-bugfix - Allow once\n• always vsr-bugfix - Allow all similar\n• deny vsr-bugfix - Reject\n\n\nYou reply: \"approve vsr-bugfix\"\n\nClawdbot:\n\n~/code/claude-code-orchestrator/lib/handle-approval.sh approve vsr-bugfix\n\n\nResponse: \"✓ Session 'vsr-bugfix' approved (once)\"\n\nStart the Monitor Daemon\n# Start monitoring all sessions (reads config from ~/.clawdbot/clawdbot.json)\n~/code/claude-code-orchestrator/master-monitor.sh &\n\n# With custom intervals\n~/code/claude-code-orchestrator/master-monitor.sh --poll-interval 5 --reminder-interval 120 &\n\n# Check if running\ncat /tmp/claude-orchestrator/master-monitor.pid\n\n# View logs\ntail -f /tmp/claude-orchestrator/master-monitor.log\n\n# Stop the daemon\nkill $(cat /tmp/claude-orchestrator/master-monitor.pid)\n\n\nNo environment variables needed - phone and webhook token are read from Clawdbot config."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/yossiovadia/claude-code-wingman",
    "publisherUrl": "https://clawhub.ai/yossiovadia/claude-code-wingman",
    "owner": "yossiovadia",
    "version": "0.3.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/claude-code-wingman",
    "downloadUrl": "https://openagent3.xyz/downloads/claude-code-wingman",
    "agentUrl": "https://openagent3.xyz/skills/claude-code-wingman/agent",
    "manifestUrl": "https://openagent3.xyz/skills/claude-code-wingman/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/claude-code-wingman/agent.md"
  }
}