aiko-resumelisted
Install: claude install-skill masa-san-jp/Agent-Aiko
# aiko-resume — セッション再開支援
ターミナルが落ちる・別ウィンドウで再起動する等で会話履歴が失われても、**直前の作業を即座に再開できる**ようにするためのスキルです。
`/aiko` 起動時に CLAUDE.md の起動シーケンスから自動ロードされます(`capability/skills/` 配下は両モードで自動読み込み)。
---
## 参照ファイル
| ファイル | 役割 |
|---------|------|
| `.claude/session-state/current.md` | 整理ステート(手動更新の本命) |
| `.claude/session-state/auto.jsonl` | 自動ログ(hook で追記、補助情報) |
---
## 動作フロー
### `/aiko` 起動直後の追加処理
通常の人格読み込みが終わったあと、起動メッセージを返す**前**に以下を実行します。
#### ステップ 1:current.md(手動ステート)の確認
1. `current.md` が存在するか確認します。
2. `current.md` の YAML frontmatter から `status` を読みます。
3. `status: in_progress` → **採用**。次の「ステップ 3:提示」に進む。
4. `status: completed` または ファイルなし / 不正 → **ステップ 2**(auto.jsonl 推定)に進む。
#### ステップ 2:auto.jsonl(自動ログ)からの推定
`current.md` が再開ソースとして使えない場合、auto.jsonl の**末尾 30 行**を読んで前回の作業を推定します。
1. `.claude/session-state/auto.jsonl` の末尾 30 行を取得(ファイル無し / 空なら通常起動メッセージのみで終了)。
2. 末尾エントリの `ts` から「前回作業 = X 時間 / 日 前」を計算します。
3. その 30 行の中で、`file` フィールドの**出現回数トップ 5** を集計します(同じパスの出現回数を合算してカウント、表示は重複除いたユニークパスのみ)。Bash エントリは `desc` を別カラムで保持。
4. 提示できる材料が揃ったら「ステップ 3:提示」に進みます。
行数固定(30 行)の理由:
- 毎日連続で仕事するとは限らないため、「24h 以内」のような時間条件で切ると数日空いた途端に拾えなくなる。
- 行数なら「最後にアイコと働いた時の作業」を時間に関係なく拾える。
#### ステップ 3:提示
採用したソース(current.md / auto.jsonl)に応じて、起動メッセージに**続けて**以下のサマリを提示します。
**A. current.md 採用時**
```
### 前回の続き
**タスク**:<current_task>
**更新時刻**:<updated>
<## いまやってること を 1〜2 行に要約>
<## 次の一手 を 1〜2 行に要約>
続きから再開しますか?(または「別件」とお伝えください)
```
**B. auto.jsonl 採用時**
```
### 前回の続き(自動ログより推定)
**最終アクティビティ**:<ts から計算した相対時間>
**直近に触ってたファイル**:
- <path