orchestrate-monitorlisted
Install: claude install-skill Kewton/CommandMate
# orchestrate-monitor
`/orchestrate`(`/pm-auto-issue2dev` の並列運用)で実証済みの**ワーカー監視レシピ**を、
オペレータ/セッションメモリに滞留していた暗黙知から取り出し、**テスト済みスクリプト**にしたもの。
判定ロジック(生成中判定・STARTED ガード・prompt 分類・完了検証)は fixture ベースの単体テストで
固定されているので、プロンプトから再発明するのではなく、この中核を移植して使える。
> **なぜ Skill 化するか**: 監視ノウハウは実運用の失敗から学ばれたが、バージョン管理外にあり再現・移転不能だった。
> 同種の誤報(未起動 idle の COMPLETE 誤報/検証ガード自身の偽陽性)が複数回再発したため、テストで封じる。
## 構成
```
.claude/skills/orchestrate-monitor/
├── SKILL.md
└── scripts/
├── monitor-lib.sh # 共有ヘルパー(JSON scalar 抽出・ANSI 正規化・アンカー検出・違反カウント・介入先セッション導出)
├── classify-state.sh # capture --json 1 ポーリング → 状態トークン
├── verify-completion.sh # タスク状態を一次ソースとする完了判定(+STARTED ガード、回帰#1)
├── verify-scope.sh # 偽陽性しないスコープ検証(回帰#2)
├── quality-gate.sh # exit code を実測する品質ゲート
├── monitor.sh # オペレータ用監視ループ(temp ファイル状態)
├── hooks-git.sh # 作業量フックの参考実装(worktree-id → 実 checkout の commit / 変更数)
└── hooks-task.sh # タスク状態フック(worktree-id → 実行契約の裁定済みステータス)
```
テスト: `tests/unit/skills/orchestrate-monitor/`。fixture は**実 `capture --json` を採取した生 payload
(ANSI エスケープを含む)**で、`fixture-fidelity.test.ts` が ANSI の残存を CI で強制する
(ANSI を剥がした fixture は「製品が出力しない形」を検証してしまう=回帰#3 の再生産)。
`npm run test:unit` に含まれ、`bash -n` 構文チェックも `syntax.test.ts` として同梱される。
## 使い方
```bash
# 1 つ以上の worktree-id を監督する(フラグ無しで正しいセッションへ介入する)
CM="npx commandmate@latest" \
.claude/skills/orchestrate-monitor/scripts/monitor.sh \
--interval 20 --idle-threshold 8 <worktree-id> [<worktree-id> ...]
# 既定インスタンス以外を見