ワンクリックで
cmux-stop
오케스트레이션 종료 — 컨트롤 타워 + 부서 선택적 종료. /cmux-stop으로 실행.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
오케스트레이션 종료 — 컨트롤 타워 + 부서 선택적 종료. /cmux-stop으로 실행.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
JARVIS 시스템 관리자 — 오케스트레이션 설정 진화 엔진. 자동 감지 + 분석 + 승인 + 백업 + 구현 + 반영.
cmux 멀티 AI 오케스트레이션
Use when monitoring cmux surfaces for IDLE/ERROR/STALL — cmux surface 실시간 감시 에이전트. 감지→기록→보고 전담. 모든 개입 금지. 상세 규칙은 references/gate-w-*.md 참조.
원커맨드 오케스트레이션 시작 — 컨트롤 타워(사장+와쳐+자비스) 구성 + 기존 세션 포함 여부 질문. /cmux-start로 실행.
MemPalace — mine projects and conversations into a searchable memory palace. Use when asked about mempalace, memory palace, mining memories, searching memories, or palace setup.
바선생 성장 리포트 — AI 활용 세션 데이터를 분석하여 성장 리포트를 자동 생성합니다. v2 레벨 시스템(6축×7단계, 0.5 단위)으로 분석합니다. "성장 리포트", "성장 분석", "얼마나 성장했는지", "레벨 체크", "성장 트래킹", "growth" 같은 요청에 사용됩니다.
| name | cmux-stop |
| description | 오케스트레이션 종료 — 컨트롤 타워 + 부서 선택적 종료. /cmux-stop으로 실행. |
| user-invocable | true |
| classification | workflow |
| allowed-tools | Bash, Read, AskUserQuestion |
입력: $ARGUMENTS
오케스트레이션을 종료합니다. 부서(workspace)는 선택적으로 닫을 수 있습니다.
/cmux-pause= 일시 중지 (부서 유지)/cmux-stop= 종료 (부서 선택적 닫기)/cmux-uninstall= 완전 제거 (hook/스킬 삭제)
# 오케스트레이션 모드 확인
if [ ! -f /tmp/cmux-orch-enabled ]; then
echo "오케스트레이션이 실행 중이 아닙니다."
# 종료
fi
eagle-status와 roles.json을 읽어 현재 상태를 보고합니다.
# eagle-status에서 surface 상태 집계
python3 -c "
import json
eagle = json.load(open('/tmp/cmux-eagle-status.json'))
roles = json.load(open('/tmp/cmux-roles.json'))
stats = eagle['stats']
surfaces = eagle['surfaces']
boss_ws = roles.get('boss',{}).get('workspace','')
jarvis_sid = roles.get('jarvis',{}).get('surface','')
# 컨트롤 타워 vs 부서 분리
ctrl_surfaces = []
dept_workspaces = {}
for sid, info in surfaces.items():
ws = info.get('workspace','')
if ws == boss_ws:
ctrl_surfaces.append(f'surface:{sid} ({info[\"status\"]})')
else:
dept_workspaces.setdefault(ws, []).append({'sid':sid, 'status':info['status'], 'title':info.get('title','')})
print(f'컨트롤 타워: {len(ctrl_surfaces)}개 surface')
print(f'부서: {len(dept_workspaces)}개 workspace')
print(f'WORKING: {stats.get(\"working\",0)}개')
print(f'IDLE: {stats.get(\"idle\",0)}개')
print(f'ENDED: {stats.get(\"ended\",0) + stats.get(\"done\",0)}개')
" 2>/dev/null
WORKING surface가 있으면 (자비스/와쳐 제외) 사용자에게 질문합니다.
자비스(JARVIS)와 와쳐(Watcher)는 WORKING이어도 즉시 종료 가능 (모니터링만 하므로). 실제 작업 중인 부서 surface만 "완료 대기" 대상입니다.
WORKING surface가 있습니다:
surface:62 — electron-4layer (5분 경과)
surface:63 — Research NL skill (3분 경과)
[완료 대기] — DONE 확인까지 2분 폴링으로 기다립니다.
[강제 종료] — 작업 중단하고 즉시 종료합니다.
[취소] — 종료를 취소합니다.
[완료 대기] 선택 시:
# 2분 간격 폴링
for round in 1 2 3 4 5; do
sleep 120
# 각 WORKING surface 확인
for SID in $WORKING_SURFACES; do
SCREEN=$(cmux read-screen --surface $SID --lines 5 2>/dev/null)
if echo "$SCREEN" | grep -q "DONE"; then
echo "✅ $SID 완료"
fi
done
# 전부 완료 시 break
done
# 10분 초과 시 강제 진행
오케스트레이션을 어떻게 종료할까요?
[전부 닫기] — 컨트롤 타워 + 부서 N개 전부 종료.
[컨트롤 타워만] — 사장/와쳐/자비스만 종료. 부서는 독립 작업 계속.
[그대로 두기] — 취소. 아무것도 안 합니다.
각 부서 workspace를 순서대로 종료합니다.
# 각 부서 workspace
for WS in $DEPT_WORKSPACES; do
# 해당 ws에 WORKING surface가 있는지 확인 (S4 방어)
WS_WORKING=$(python3 -c "
import json
eagle = json.load(open('/tmp/cmux-eagle-status.json'))
working = [sid for sid,info in eagle['surfaces'].items()
if info.get('workspace')=='$WS' and info.get('status')=='WORKING']
print(' '.join(working))
" 2>/dev/null)
if [ -n "$WS_WORKING" ]; then
# WORKING surface에 종료 알림
for SID in $WS_WORKING; do
cmux send --workspace $WS --surface surface:$SID "작업을 중단하고 현재 상태를 저장하세요."
cmux send-key --workspace $WS --surface surface:$SID Enter
done
sleep 5
fi
# workspace 종료 (S2: --workspace 명시로 guard 통과)
cmux close-workspace --workspace $WS 2>/dev/null
echo " ✅ $WS 종료"
done
이후 Step 5B로 진행.
JARVIS_SID=$(python3 -c "import json;print(json.load(open('/tmp/cmux-roles.json')).get('jarvis',{}).get('surface',''))" 2>/dev/null)
WATCHER_SID=$(python3 -c "import json;print(json.load(open('/tmp/cmux-roles.json')).get('watcher',{}).get('surface',''))" 2>/dev/null)
# 자비스 종료
if [ -n "$JARVIS_SID" ]; then
cmux send --surface $JARVIS_SID "/quit"
cmux send-key --surface $JARVIS_SID Enter
sleep 3
echo " ✅ 자비스 종료"
fi
# 와쳐 종료
pkill -f "watcher-scan.py" 2>/dev/null || true
if [ -n "$WATCHER_SID" ]; then
cmux send --surface $WATCHER_SID "/quit"
cmux send-key --surface $WATCHER_SID Enter
sleep 3
echo " ✅ 와쳐 종료"
fi
# 사장 pane은 닫지 않음 (사용자 세션)
# 오케스트레이션 모드 OFF
rm -f /tmp/cmux-orch-enabled
# 역할 초기화
rm -f /tmp/cmux-roles.json
# JARVIS 임시 파일
rm -f /tmp/cmux-jarvis-*
rm -f /tmp/cmux-jarvis-freeze-mode
# 크로스플랫폼 유틸리티 데먼 종료
python3 ~/.claude/skills/cmux-orchestrator/scripts/cmux_compat.py stop 2>/dev/null
# pause 플래그
rm -f /tmp/cmux-paused.flag
# 컨트롤 타워 workspace 이름 복원
BOSS_WS=$(cmux identify 2>/dev/null | python3 -c "import sys,json;print(json.load(sys.stdin)['caller']['workspace_ref'])" 2>/dev/null)
cmux rename-workspace --workspace $BOSS_WS "$(basename $HOME)"
cmux rename-tab --surface $(cmux identify 2>/dev/null | python3 -c "import sys,json;print(json.load(sys.stdin)['caller']['surface_ref'])" 2>/dev/null) "Claude Code"
═══════════════════════════════════════════════════════
오케스트레이션 종료 완료
═══════════════════════════════════════════════════════
종료된 항목:
─────────────────────────────────────────────────────
🟡 자비스(JARVIS) — 종료
🟢 와쳐(Watcher) — 종료
📁 부서 N개 — 종료 (전부 선택 시)
유지된 항목:
─────────────────────────────────────────────────────
🔵 이 세션 — 일반 모드로 계속 사용
⚙️ Hook — 유지 (재시작 가능)
📦 스킬 — 유지 (재시작 가능)
/cmux-start 오케스트레이션 재시작
/cmux-uninstall 완전 제거 + Hook/스킬 삭제
═══════════════════════════════════════════════════════