← ClaudeAtlas

main-po-patrollisted

The main PO's patrol over the fleet's project POs — check each PO session's health (context usage, degradation symptoms, forced model switches) and drive session rotation via /po-handover → /po-resume where needed. The subjects are POs, not lanes. Triggers - "main PO patrol", "check on the POs", "PO health sweep", "PO context check".
reoring/sds · ★ 2 · AI & Automation · score 75
Install: claude install-skill reoring/sds
# main-po-patrol — patrolling the POs **English** | [日本語](SKILL.ja.md) When one person runs many projects, each project has a PO session — and someone must watch the watchers. The **main PO** is a PO of POs: it supervises PO sessions themselves and drives their rotation. **Its subjects are POs, not lanes** — lanes belong to each project PO. The main PO touches a lane only as emergency proxy when that PO is dead (recorded in the ledger). ## 0. Principles - Take the real time (`date +%H:%M`) before starting — no mental arithmetic. - Consolidate the report into the final message of the turn. - Patrol is read-only by default. The only mutations: driving a rotation, and appending to the roster/ledger. - **Leave self-running POs alone. The best main PO is idle.** ## 1. Measure the PO roster (every patrol, no skipping) ```bash herdr pane list | jq -r '.result.panes[] | select(.agent=="claude") | [.pane_id, .agent_status, .cwd] | @tsv' ``` Cross-check against `<main-po-dir>/po-roster.md` (space → PO pane map; create on first patrol): - Roster pane gone or replaced → update the roster from measurement. - Unrostered PO-looking pane (cwd in a PO operations dir) → ask it, then add. - **Never send to a pane ID from a snapshot** — re-measure right before sending. ## 2. Health-check each PO For each rostered PO: ```bash herdr pane read <pane> --source visible --lines 5 --format text # statusline + current state herdr pane read <pane> --source recent --lines 20 --format text