بنقرة واحدة
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.