원클릭으로
supervisor-monitor
Live tree view of supervisor via cron — agent collects stats every 30s
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Live tree view of supervisor via cron — agent collects stats every 30s
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Stop the running supervisor and all researcher variants
Dashboard: supervisor status, researcher variants, and metric history
Remove all supervisor leftovers: clones, logs, state, backups
Start the supervisor as a background process
Delete all deployed SAR repos and clean temp files
Reset the target to its initial seed state
| name | supervisor-monitor |
| description | Live tree view of supervisor via cron — agent collects stats every 30s |
| user_invocable | true |
Sets up a recurring cron that dispatches the supervisor-monitor agent every minute to collect stats as JSON, then renders the tree.
When the user invokes /supervisor-monitor:
Create a cron job:
CronCreate(cron="*/1 * * * *", prompt="/supervisor-monitor-tick", recurring=true)
Run the first tick immediately (see tick logic below).
Report the cron job ID so the user can cancel with CronDelete.
Dispatch the supervisor-monitor agent:
Agent(subagent_type="supervisor-monitor", prompt="Collect stats and return JSON.")
The agent returns structured JSON (see .claude/agents/supervisor-monitor.md for schema).
Parse the JSON and render the tree in this EXACT format:
Hub: ~\/.claude-<profile>
└── Supervisor: ~\/.claude-<profile> (started 17:00, running 1h 15m)
│
├── Researcher (main): ~\/.claude-<profile> (started 17:00, running 1h 15m)
│ PID: 95600 running
│ │
│ └── Target: P@5=0.65 R@5=0.575
│ Runs (last 3 of 5: 2 keep, 3 discard):
│ #3 112ba8b 0.65 baseline
│ #4 1cc81ef 0.35 discard chunk overlap
│ #5 eca93b6 0.60 discard swap RRF
│
├── Researcher Variant rv-001 (precision-safe): ~\/.claude-<profile> (started 17:05, running 1h 10m)
│ PID: 96001 running
│ │
│ ├── Target Variant rv-001-tv-1: P@5=0.70 R@5=0.62
│ └── Target Variant rv-001-tv-2: P@5=0.68 R@5=0.64
│ Runs (last 3 of 8: 3 keep, 5 discard):
│ #6 ccc9012 0.68 keep BM25 stop words
│ #7 ddd3456 0.62 discard heading-aware
│ #8 eee7890 0.64 keep overlap 300
│
└── Researcher Variant rv-002 (evaluator-direct): ~\/.claude-<profile> (started 17:10, stopped after 25m)
PID: 96002 stopped
│
└── Target Variant rv-002-tv-1: P@5=0.55 R@5=0.50
Runs (2: 0 keep, 2 discard):
#1 fff1234 0.65 baseline
#2 ggg5678 0.55 discard alternate eval
Given the JSON from the agent:
Hub: {hub_profile}└── Supervisor: {supervisor_profile} (started HH:MM, running Xh Ym) — compute duration from now - supervisor_started_atresearchers array becomes a child node:
Researcher (main)Researcher Variant {id} ({name})├── for non-last, └── for last(started HH:MM, running Xh Ym) if running, (started HH:MM, stopped after Xh Ym) if stoppedPID: {pid} {running/stopped}MRR={mrr:.4f} R@5={recall_at_5:.4f} or no report yet if target is nullRuns (last 3 of {total}: {kept} keep, {discarded} discard): or no runs yet if runs is null#{n} {commit} {metric} {status} {description}Compute duration = now - started_at from the JSON:
Xm (e.g. 45m)Xh Ym (e.g. 1h 15m)started_at is null: show (no start time)Use /supervisor-list instead, or dispatch the agent directly:
Agent(subagent_type="supervisor-monitor", prompt="Collect stats and return JSON.")
Then render the tree from the returned JSON.