---
name: conversation-save
description: ユーザーが「この会話を wiki に保存して」「今の議論を記録して」等と指示した際、現在の会話から知見を抽出して raw/notes/ に構造化保存する。保存後に ingest（raw-to-wiki スキル）への接続を提案し、個人情報の匿名化・log.md への記録を伴う。save モード（CLAUDE.md §9）の実装。
---

<!-- allow-realname -->

# conversation-save skill

## いつ起動するか

ユーザーが以下のような指示を出したとき:

- 「この会話を wiki に保存して」
- 「このチャットを welfare-graph に」
- 「今の議論を記録して」
- 「今回のやり取りを残したい」
- 「会話を保存」「チャット保存」

## 何をするか

本スキルは welfare-graph の **save モード**（[[../../../CLAUDE#§9 会話保存モード（save）]]）を実装する。

1. 会話を構造化抽出
2. 個人情報の匿名化
3. `raw/notes/YYYY-MM-DD_トピック名.md` に保存
4. `log.md` に append
5. ingest への接続を提案

## 入力

- 現在の会話コンテキスト（暗黙）
- トピック名（ユーザー指定があれば優先、なければ会話から自動推定）

## 処理手順

### ステップ 1: 会話の要素抽出

会話全体から以下を抽出:

| 要素 | 説明 |
|---|---|
| **トピック** | 1 行タイトル（ファイル名にも使用） |
| **背景・経緯** | なぜこの議論が始まったか |
| **議論の要点** | 主要な論点を箇条書き |
| **決定事項・結論** | 合意された結論・決定 |
| **未解決事項** | 継続検討・保留項目 |
| **次のアクション** | 具体的な TODO |
| **関連する既存ノート** | 議論中に言及された vault 内ノート |
| **参考資料** | 議論中に参照された外部 URL 等 |

### ステップ 2: 匿名化チェック（[[../../../CLAUDE#§7 個人情報の匿名化ルール]]）

以下を自動置換/削除:

- 氏名 → `P-XXXX` / `F-XXXX` / `O-XXXX` 等
- 電話番号・メール → 完全削除
- 住所 → 「都市部」「地方自治体」に抽象化
- 生年月日 → 年齢層（「40 代」）
- 事件特定日付 → 「2020 年代前半」等

匿名化できない/疑わしい箇所があれば **保存前にユーザー確認**。

### ステップ 3: ファイル名決定

```
raw/notes/YYYY-MM-DD_トピック名.md
```

- `YYYY-MM-DD`: 会話日（今日）
- `トピック名`: 空白は `_` に置換、記号は除去、20 字以内推奨

衝突した場合: `YYYY-MM-DD_トピック名_2.md` のように連番。

### ステップ 4: ファイル生成

テンプレート:

```markdown
<!-- allow-realname -->
---
type: conversation
date: YYYY-MM-DD
source: claude-code | claude-desktop | claude.ai | cursor
participants: [河原, Claude]
tags: [raw, notes, conversation, <テーマタグ>]
related:
  - "[[該当する既存ノート]]"
---

# {トピック}

## 背景・経緯

{1-3 段落で経緯を要約}

## 議論の要点

- 論点 1
- 論点 2
- 論点 3

## 決定事項・結論

- 決定 1
- 決定 2

## 未解決事項・次のアクション

- [ ] TODO 1
- [ ] TODO 2

## 関連ノート

- [[60_Laws/...]]
- [[66_Services/...]]

## 参考資料

- https://...
- [[raw/papers/...]]

## 補足メモ

{追加の気付き・留保事項}
```

### ステップ 5: log.md への追記

```markdown
### YYYY-MM-DD HH:MM [save] 会話保存: {トピック}

- ファイル: `raw/notes/YYYY-MM-DD_トピック.md`
- 匿名化: 実施（氏名 N 件 → 仮名化、電話 M 件 → 削除）
- ingest 予定: yes / no / 検討中
```

### ステップ 6: ingest への接続提案

保存完了後、ユーザーに確認:

```
✅ 保存完了: raw/notes/YYYY-MM-DD_トピック.md

このまま Wiki に統合（ingest）しますか？
- yes → raw-to-wiki スキルに移行（30_Insights/ 等に昇華）
- no  → raw/notes/ への保存のみで終了
- 後で → 別タイミングで実施
```

## 抽出の品質原則

### 残すもの

- **本質的な判断・理由**: 「なぜそうなったか」
- **最終結論と根拠**: 議論の結果
- **関連 Wiki ノートへのリンク**: 後続で辿れるように
- **未解決の論点**: 次回の議論の起点

### 省略するもの

- **試行錯誤の過程**: 失敗した検討案
- **コード・コマンド出力**: 本質的でないログ
- **会話の礼儀表現**: 「ありがとうございます」等
- **重複した確認**: 何度も同じことを確認したやり取り

### 絶対に残さないもの（[[../../../CLAUDE#§2 絶対遵守のガードレール]] 第 3 項）

- 実名・電話・メール・住所
- クライアント特定可能な具体事例（日時・場所の組合せ）
- 第三者の未公開発言

## 例: 「今の議論（就労選択支援の運用について）を保存して」

### 実行内容

1. 会話から「就労選択支援」「運用課題」「意思決定支援」「相談支援専門員の役割」等を抽出
2. 匿名化チェック（事例の具体日時があれば年代に丸める）
3. ファイル: `raw/notes/2026-04-25_就労選択支援の運用課題.md`
4. 生成:
   ```markdown
   ---
   type: conversation
   date: 2026-04-25
   source: claude-code
   participants: [河原, Claude]
   tags: [raw, notes, conversation, 就労選択支援, 令和6改正, 意思決定支援]
   related:
     - "[[66_Services/就労選択支援]]"
     - "[[61_Guidelines/就労選択支援_運営要綱]]"
     - "[[61_Guidelines/意思決定支援ガイドライン]]"
   ---
   
   # 就労選択支援の運用課題
   
   ## 背景・経緯
   令和6年改正で新設された就労選択支援について、計画相談現場での運用課題を整理した...
   ```
5. log.md に追記
6. ingest 提案

## 注意事項

### 判定が難しいケース

- **長い会話**: 複数トピックが混在している場合、分割保存を提案
- **技術議論とクライアント話の混在**: 技術だけ save する選択肢を提示
- **匿名化が困難**: ユーザーに確認してから保存（「この箇所は手動で書き換えてください」）

### エラー時の挙動

- `raw/notes/` 書き込み失敗 → エラー提示、ユーザーに再試行を求める
- 匿名化に疑義 → 保存中断、ユーザー確認
- トピック名に記号混入 → 自動サニタイズ + ユーザーに最終ファイル名を提示

## 関連

- [[../../../CLAUDE]] §9 会話保存モード
- [[../raw-to-wiki/SKILL]] 後続の ingest 処理
- [[../../../raw/notes/README]] raw/notes/ 運用
- [[../../../log.md]] 操作ログ
