← ClaudeAtlas

pr-watch-panelisted

PR の CI / マージ監視 (tools/pr-watch.sh) を broker tmux セッション内の専用ペイン pr-watch-<PR> で回す。窓口が PR 作成直後に `/pr-watch-pane <PR>` で起動すると、 ja-root cwd・sandbox 外で監視が走り、/clear や窓口セッション寿命と無関係に継続する。 pane name で冪等起動 (二重監視しない)、role=watcher で identity 登録、監視終了 (CI green / PR merged / timeout) でペイン自動 close。Bash tool の background は session 寿命依存で長時間 watcher には不適なので本 skill が推奨経路。 「CI 監視をペインで」「pr-watch をペインで回して」「PR <N> の CI を見張って」等で発動。
suisya-systems/claude-org-ja · ★ 5 · AI & Automation · score 73
Install: claude install-skill suisya-systems/claude-org-ja
# pr-watch-pane: CI / マージ監視を専用ペインで回す `tools/pr-watch.sh <PR> --repo <owner/repo> --merge-watch` を broker tmux セッション 内の専用ペイン (`name="pr-watch-<PR>"`) で起動する。Bash tool の background 起動は session 寿命依存で、CI 監視のような長時間 watcher には不適(公式設計の対象外)。broker ペイン spawn を経由することで **sandbox 外・窓口セッション非依存**(`/clear` や窓口の context リセットと無関係)に監視が継続し、人間が tmux ペインで直接見えるので可視性も高い (feedback-dispatcher-visibility 整合)。 監視結果は二経路で残る(どちらも `pr_watch.py` の既存挙動。本 skill は形を変えない): - **`.state/state.db` events テーブル** … `ci_completed` / `pr_merge_watch_timeout` の canonical event 行(payload 形・`CI_COMPLETED` / `PR_MERGED` / `PR_MERGE_WATCH_TIMEOUT` のメッセージ形は不変)。**これが判定の canonical 記録**。 - **`.state/pr-watch-<PR>.log` + tmux スクロールバッファ** … 人間可読の生ログ二段。 > **peer push は best-effort**: `pr_watch.py` は CI 確定・マージ時に窓口へ `CI_COMPLETED` / > `PR_MERGED` の peer message を送ろうとするが、これは `tools/peer_notify.py` 経由の > best-effort(broker send CLI 不在 / `ORG_TRANSPORT`・`RENGA_SOCKET` 未設定の pane では > no-op)。daemon が非既定 state dir(herdr dogfood 等)で動く環境では、pane env に > `ORG_BROKER_STATE_DIR` が無いと broker send が既定 `.state/broker` を掴んで push が欠落する > (欠落しても canonical の events DB 行には影響しない)。**待つべき正路は上記 events DB 行と > 可視ペイン**であり、push の到達を merge gate の > 前提にしない(org-pull-request の CI/merge gate は events DB を一次ソースにする)。 > **輸送層(transport)両系 — 既定 `broker` / opt-in `renga`**: 本ファイル(および各スキル)の peer message・pane 操作は `mcp__org-broker__*` で書いてあり、**`ORG_TRANSPORT` 無設定=既定 `broker`** ではそのまま従えばよい。`ORG_TRANSPORT=renga`(opt-in、切戻し可)では MCP サーバー名が `renga-peers` になり、**完全修飾名が