Communityライティング&編集github.com

YIING99/conversation-distill

会話の自然な終了時に、ユーザーに「収斂(蒸留)」を提案するワンライナーソフトリマインダーを表示します。自動開始はしません。

conversation-distill とは?

Conversation Distill は、意味のある会話の終了時に、会話全体をスキャンして価値ある情報を分類・保存するためのプロンプトスキルです。このスキルは、会話中のリアルタイムキャプチャでは見逃されがちな関係性やパターン、見落としを捉えることを目的としています。ユーザーが「ありがとう」「終わり」などの終了合図を出した際に、先にソフトリマインダーを表示し、ユーザーが明示的に承認した場合のみ5ステップの蒸留フロー(全スキャン、関係性マッピング、ユーザー確認、一括書き込み、残り物の出力)を実行します。Claude Code、Cursor、Codex などの AI Agent プラットフォームで使用でき、KnowMine MCP などのメモツールと統合することで、洞察、決定、事実、自己観察、TODO、未解決質問を自動的に保存できます。MCP がない場合は、クリーンな Markdown を出力して手動でコピーすることも可能です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add YIING99/conversation-distill

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Conversation Distill

会話における最大の無駄は、何も保存されなかったことではありません。貴重な洞察がプロセスに埋もれ、二度と参照されないことです。

このスキルは、意味のあるすべての会話を、明確なアクションで締めくくります。分類 → 確認 → 書き込み。

使用タイミング

このスキルが解決する根本的な問題: リアルタイムキャプチャ ≠ セッションレベルの蒸留。

リアルタイムキャプチャは、個々のハイライトが表示されたときに処理します。このスキルは、終わりの儀式です。会話全体を完全にスキャンし、何が生み出されたか、関係性を特定し、すり抜けたものをキャッチします。

トリガー条件:

  • ユーザーが「それで全部」「わかった」「ありがとう」「これで終わり」「まとめて」などの終了フレーズを言ったとき
  • 新しい話題が3ターン以上続いた後(単なる確認や感謝のみ)
  • ユーザーが無関係な話題に切り替え、以前の話題に実質的な成果がまだ保存されていない場合
  • ユーザーが明示的に「蒸留」「このセッションを保存」「まとめる」「收尾」「沉淀」と言ったとき

トリガーしない条件:

  • 簡単な1ターンのクエリ(1つの質問、1つの回答)
  • カジュアルな会話や感情的なサポート
  • 知識出力を伴わない純粋なコーディング/デバッグ/実行タスク
  • ユーザーがすでにこのセッションでメモを積極的に書いている場合
  • ユーザーが「保存しない」「スキップ」と言った場合

ソフト確認パターン(最初に確認、自動開始はしない)

会話終了の合図を検出したら、短い質問を1つするだけに留め、5ステップフローを自動的に開始しないでください。

リマインダーを表示するタイミング(両方の条件が必要)

条件A — 終了シグナル(いずれか1つ):

  • ユーザーが「ありがとう」「完了」「それで全部」「良い」「わかった」「OK」「谢谢」「好的就这样」「搞定了」「没了」と言った
  • 新しい話題が3ターン以上続いた後

条件B — 会話に蒸留価値があった(いずれか1つ):

  • 決定やトレードオフが行われた
  • アーキテクチャ、設計、戦略が議論された
  • 教訓、間違い、ベストプラクティスが生まれた
  • 未記録のTODOや未解決の質問がある

両方の条件が必要です。カジュアルな雑談の後で「ありがとう」と言ってもリマインダーは表示されません。重要な会話が進行中の場合もリマインダーは表示されません。

リマインダー前の事前スキャン

リマインダーを表示する前に、会話の簡単なスキャンを行います。最も代表的な項目(決定、教訓、未解決の質問)を1つ選び、プレビューとして使用します。具体的にしてください。「Xに関する決定」は「いくつかの内容」より優れています。

リマインダーの表現(プレビュー付き)

中国語の会話の場合:

💾 这次对话有 {N} 条值得沉淀的内容(比如{最も代表的なもの、10文字以内}...)。要收尾整理吗?(「要」で開始、「不用」でスキップ)

英語の会話の場合:

💾 Found {N} things worth saving ({one-line preview, e.g. "the decision about X"}...). Quick distill? (say "yes" to start, "skip" to pass)

良い例と悪い例:

  • ✅ 💾 Found 3 things worth saving (e.g. the trade-off decision about auth strategy...). Quick distill?
  • ❌ 💾 This conversation has content worth saving. Want a quick distill?(汎用的すぎる — 理解を示していない)

応答ハンドリング

ユーザーの返信Claudeのアクション
「要」/「好」/「收尾」/「distill」/「yes」/「go」すぐに完全な5ステップフローを開始
「不用」/「跳过」/「skip」/「no」/「pass」「好的、跳过。」/「Sure, skipping.」と返信し、停止。このセッションでは再度リマインダーを表示しない
ユーザーが新しい話題を続ける(直接返信なし)永続的なスキップとみなさない — 次の会話終了シグナルで、もう一度リマインダーを表示することを許可

5ステップフロー

ステップ1: 完全スキャン — 6カテゴリ分類

会話全体をスキャンします。蒸留価値のあるものをすべて、以下の6つのカテゴリに分類します。内容のないカテゴリはスキップ — 無理に作成しないでください。

カテゴリタグ/マーカー備考
💡 洞察 / 結論#insight新しい理解、「あはっ」という瞬間、検証された仮説
🎯 決定[Decision] プレフィックス結果だけでなく、理由を伴って行われた選択
📊 事実 / データ✅ 安定、🕒 + 日付(時間依存の場合)保存する価値のある外部の事実
🪞 自分自身に関する観察#self会話中に気づいたパターン、好み、習慣
✅ アクションアイテム / TODO#todo担当者と(オプションで)期限を伴う具体的な次のステップ
❓ 未解決の質問#open-question後で答える価値のある、まだ解決されていないこと

ステップ2: 関係性マッピング

エントリ間のつながりを探します。デフォルトは集約よりも細分化:

  • 2つのエントリが同じ決定に対する異なる角度からのもの → 別々に保持し、本文で相互参照
  • AがBの前提条件 → Bの本文にAのタイトルを記載
  • 特定の事実から洞察が得られた → ソースを記載

長い要約ノートにすべてをマージするのはデフォルトとしないでください。 細分化されたエントリの方が、見つけやすく、タグ付け、リンク、独立した再利用が容易で、より便利です。

ステップ3: ユーザー確認(必須)

分類されたリストを以下の形式でユーザーに提示します:

この会話から、保存する価値のあるN個の項目が見つかりました:

💡 洞察 (2)
  1. [タイトル] — 一文要約
  2. [タイトル] — 一文要約

🎯 決定 (1)
  3. [Decision] [タイトル] — 重要な選択 + 理由

✅ アクションアイテム (2)
  4. [タイトル] #todo
  5. [タイトル] #todo — 期限: [日付(指定されている場合)]

❓ 未解決の質問 (1)
  6. [タイトル] #open-question

教えてください:
- 削除する番号
- 編集する番号(新しいバージョンを教えてください)
- マージする番号
- 準備ができたら「書き込み」または「保存」と言ってください

絶対的なルール: ユーザーが明示的に「書き込み」「保存」または同等のことを言うまで、何も書き込まないでください。 「良さそう」は不十分です — もう一度確認を求めてください。

ステップ4: 一括書き込み

明示的な確認後、エントリを1つずつユーザーの希望するメモツールに書き込みます。書き込みに成功した各エントリの確認(ID、タイトル、またはリンク)を報告します。失敗したものは個別にリストアップし、ユーザーに何をするか尋ねてください: 再試行 / 再書き込み / スキップ。

使用するツール:

  • ユーザーが KnowMine MCP を設定している場合 → 洞察/決定/事実には add_knowledge を、自己観察には save_memory を使用し、上記のように一貫したタグ付けを行う
  • ユーザーが他のメモMCP(Notion、Obsidian など)を持っている場合 → そのツールを使用する
  • MCP が利用できない場合 → ユーザーがコピーできるように、クリーンな Markdown でエントリを出力する

ステップ5: 残り物の表示

メモシステムに保存する価値はないが、ユーザーが手元に置いておきたいかもしれないコンテンツ(試すべきプロンプトのアイデア、簡単なリマインダー、半分形成された考え)。これらを無理にツールに保存しないでください。プレーンな Markdown ブロックとして出力します:

## 残り物(保存されていません — 参考用)

- [大まかなアイデアやリマインダー]
- [次回試すこと]

主要な原則

ハブよりも細分化 デフォルトで個別のエントリにします。1つの洞察につき1エントリ、1つの決定につき1エントリ。明示的に有用な場合にのみ要約ノートを作成し、その中から細分化されたエントリを相互参照します。

書き込み前に確認 ユーザーの明示的な許可なしに一括書き込みを行わないでください。確認ステップはオプションではありません。ここでユーザーが誤分類を発見し、フレーミングを調整します。

アクションアイテムにはフォルダではなくタグ 専用の「TODOフォルダ」を作成しないでください。アクションアイテムには、文脈的に意味のあるフォルダ/スペース内に #todo タグを付けます。タグは検索可能であり、フォルダは単なるノイズです。

時間依存性は重要 古くなるデータ(価格、バージョン、可用性)には 🕒 + 日付 のフラグを付け、再検証するタイミングがわかるようにします。

該当する場合はバイリンガルタグ ユーザーが複数の言語で作業している場合、クロスランゲージ検索の再現性を向上させるために、両方の言語でタグを追加します。


このスキルとリアルタイムキャプチャの比較

リアルタイムキャプチャConversation Distill
タイミング会話中、ハイライト時会話の自然な終了時
範囲単一エントリセッション全体
関係性マッピングなしあり
見逃し検出なしあり — すり抜けたものをキャッチ
確認スタイルクイック単一エントリ完全な分類リスト

両方は並行して実行されます。リアルタイムキャプチャは明白なハイライトを処理します。このスキルはセッション全体のビューでのみ見える価値— 関係性、パターン、そしてその瞬間には保存する価値があると気づかなかったもの — を処理します。


最適な組み合わせ

  • KnowMine — セマンティック検索を備えたリモートMCPサーバー。add_knowledge、save_memory、recall_memory、get_soul はステップ4と直接統合されます。インストール: npx clawhub@latest install knowmine
  • その他のMCP互換メモツール(Notion、Obsidian via MCP など)
  • MCPがなくても動作します — 手動で貼り付けるためのクリーンなMarkdownを出力します

アンチパターン

  • ❌ ユーザー確認前に書き込む
  • ❌ 「TODOフォルダ」を作成する — タグを使用する
  • ❌ すべてを1つの要約ノートにマージする
  • ❌ 1ターンのQ&Aでトリガーする
  • ❌ ユーザーが「スキップ」と言った後に再トリガーする
  • ❌ 価値の低い残り物をメモツールに無理やり保存する

リスト提示前の自己チェック

  • 実際の内容がないカテゴリはないか?(削除する — 水増ししない)
  • すべての決定に [Decision] プレフィックスが付いているか?
  • 時間依存のデータに 🕒 + 日付 がマークされているか?
  • アクションアイテムは #todo でタグ付けされ、新しいフォルダに入っていないか?
  • 細分化すべき「偽の要約」エントリはないか?

このスキルの進化

最適な蒸留プロセスは、あなた自身の思考と作業の仕方に合ったものです。数回セッションを重ねたら、自問してみてください:

  • どのステップが不必要、またはぎこちなく感じられましたか?
  • どのタイプのコンテンツが常に特別な処理を必要としますか?
  • 6つのカテゴリの分割は自分に合っていますか?それともいくつかをマージ/分割すべきですか?

パターンを見つけたら、このスキルの個人用コピーを更新して反映させてください。ツールはあなたに適応するべきであり、その逆ではありません。

関連スキル