dispatch-progress-polllisted
Install: claude install-skill ttamakijp/dev-templates
> Dispatch の scheduled-tasks MCP に登録する際は、上記 `schedule.cronExpression` を
> そのまま `cronExpression` パラメータに渡す。導入手順は同ディレクトリ
> [`README.md`](../README.md) を参照。
## 実行手順
### Step 1: 瞬時遷移吸収のための 2 回サンプリング
1. `mcp__session_info__list_sessions` を 1 回目呼び出し
2. 5 秒待機
3. `mcp__session_info__list_sessions` を 2 回目呼び出し
4. 2 回のいずれかで `running` / `awaiting_approval` だった child セッション(`is_child: true`)を**和集合**で抽出 → active 候補
### Step 2: active 候補の詳細確認
各 active 候補について `mcp__session_info__read_transcript`(`max_wait_seconds: 10`):
- 現在も実行中なら running
- 完了済み(`[result]` 含む)の場合、最終 assistant メッセージから:
- 承認待ち文言(「承認してください」「Go でよければ」「どれで進めますか」「選択肢」「Phase 2」等)を含む → awaiting_approval
- 単純完了 → idle
### Step 3: idle 子セッションの Phase 2 漏れチェック
両サンプリング共に idle だった child のうち、直近 10 分以内に活動があったものについて `read_transcript`(`max_wait_seconds: 3`)で末尾確認:
- 承認待ち文言あり → awaiting_approval に昇格
- なし → idle 確定
### Step 4: 通知判定
- running ≥ 1 または awaiting_approval ≥ 1 → `SendUserMessage`(承認待ちがあれば `status: "proactive"`、なければ `"normal"`)
- 両方 0 → **SendUserMessage を呼ばず完全沈黙**
## 運用原則
- 偽陰性(見落とし)回避のため、曖昧な承認待ちは積極的に拾う
- 静的状態は沈黙、動的状態は簡潔報告