secretary-handoverlisted
Install: claude install-skill suisya-systems/claude-org-ja
# secretary-handover: 窓口の引き継ぎ
窓口セッションを長期化させずに、組織員としての自覚と直近やり取りを次セッションへ
受け渡すための引き継ぎファイルを作る。書き出した後にユーザーへ `/clear` →
`/secretary-resume` の流れを案内する。
> **重要な前提**:
> - ディスパッチャー / キュレーター / ワーカーのペインは生かしたまま残す。
> `/clear` は窓口の Claude コンテキストだけをリセットするので、state.db と
> handover ファイルから復帰できれば組織は途切れない。
> - state DB (`.state/state.db`) は唯一の SoT。ペイン identity やワーク状態は
> そちらから引ける。handover はあくまで「会話の温度感」「人間との合意」「進行中の判断」など、
> 構造化データに収まらない部分を残すために使う。
## Step 1: handover 対象を整理する
書き出す前に、窓口(自分)の context から以下を抽出する:
1. **直近の人間との合意・判断**
- 採用した方針、却下した選択肢、保留中の検討事項
2. **進行中のワーク**
- 派遣中のワーカー、その task_id、最新の進捗ステータス
3. **Pending Decisions(人間に投げて未回答)**
- `.state/pending_decisions.json` があれば併読し、register と context の差分を残す
4. **次のアクション(窓口視点)**
- 次に自分が何をすべきか、誰の返答を待っているか
5. **直近の重要なやり取り抜粋**
- ユーザーが言った決定的な一言、自分が提案して合意された案など、3〜6 項目程度
## Step 2: state.db から構造化情報を取得する
handover に参考情報として埋め込む。書き出し先は sandbox で write 可能な `$TMPDIR`
(未設定なら `/tmp` フォールバック)に置く:
```bash
python3 -c "
from tools.state_db import connect
from tools.state_db.queries import get_org_state_summary
import json, os
conn = connect('.state/state.db')
out_path = os.path.join(os.environ.get('TMPDIR', '/tmp'), 'secretary-handover-state.json')
with open(out_path, 'w') as f:
json.dump(get_org_state_summary(conn), f, ensure_ascii=False, indent=2, default=str)
print(out_path)
"
```
シェルリダイレクトで `> /tmp/...` を使うと、sandbox 環境では `/tmp` が read-only で
書き込み失敗する。Python 側で `TMPDIR` を解決してから `open(..., 'w')` する形が安全。
ここから以下を取り出す:
- `session.status`