/install conversation-distill
Conversation Distill
The biggest waste of a conversation isn't that nothing was saved — it's that valuable insights are buried in the process and never revisited.
This skill closes every meaningful conversation with one explicit action: classify → confirm → write.
When to Use
The core problem this solves: real-time capture ≠ session-level distillation.
Real-time capture handles individual highlights as they appear. This skill is the closing ritual — a full scan of the entire conversation to see what was produced, identify relationships, and catch what slipped through.
Trigger when:
- User says a closing phrase: "that's all", "got it", "thanks", "done for now", "wrap up"
- 3+ consecutive turns with no new topics (just confirmations or thanks)
- User switches to an unrelated topic and the previous topic had substantive output not yet saved
- User explicitly says: "distill", "save this session", "wrap up", "收尾", "沉淀"
Explicit invocation takes highest priority. Proactive suggestions must be phrased as a question — never execute without asking first.
Do NOT trigger for:
- Quick single-turn queries (one question, one answer)
- Casual conversation or emotional support
- Pure coding/debugging/execution tasks with no knowledge output
- When user is already actively writing notes
- When user says "don't save" or "skip it"
Five-Step Flow
Step 1: Full Scan — 6-Category Classification
Scan the entire conversation. Classify everything with distillation value into these 6 categories. Skip any category with no content — don't force it.
| Category | Tag / Marker | Notes |
|---|---|---|
| 💡 Insights / Conclusions | #insight |
New understanding, "aha" moments, validated hypotheses |
| 🎯 Decisions | [Decision] prefix |
Choices made with reasoning, not just outcomes |
| 📊 Facts / Data | ✅ stable, 🕒 + date if time-sensitive |
External facts worth keeping |
| 🪞 Observations about yourself | #self |
Patterns, preferences, habits noticed during conversation |
| ✅ Action items / TODOs | #todo |
Concrete next steps with owner and (optionally) deadline |
| ❓ Open questions | #open-question |
Things worth answering later, not yet resolved |
Step 2: Relationship Mapping
Look for connections between entries. Default to granular over aggregated:
- Two entries are different angles on the same decision → keep separate, cross-reference in body
- A is prerequisite for B → mention A's title in B's body
- An insight came from a specific fact → note the source
Do not default to merging everything into one long summary note. Granular entries are more useful — they're easier to find, tag, link, and reuse independently.
Step 3: User Confirmation (Mandatory)
Present the classified list to the user in this format:
This conversation produced N items worth saving:
💡 Insights (2)
1. [title] — one sentence summary
2. [title] — one sentence summary
🎯 Decisions (1)
3. [Decision] [title] — the key choice + reason
✅ Action items (2)
4. [title] #todo
5. [title] #todo — due: [date if mentioned]
❓ Open questions (1)
6. [title] #open-question
Tell me:
- Numbers to remove
- Numbers to edit (give the new version)
- Numbers to merge
- Say "write" or "save" when ready
Iron rule: do not write anything until the user explicitly says "write", "save", or equivalent. "Looks good" is not enough — ask once more to confirm.
Step 4: Batch Write
After explicit confirmation, write entries one by one to the user's preferred notes tool. Report back a confirmation (ID, title, or link) for each successful write. For any failures, list them separately and ask the user what to do: retry / rewrite / skip.
Which tool to write to:
- If the user has KnowMine MCP configured → use
add_knowledgefor insights/decisions/facts,save_memoryfor self-observations, consistent tagging as above - If the user has another notes MCP (Notion, Obsidian, etc.) → use that tool
- If no MCP available → output entries as clean Markdown for the user to copy
Step 5: Surface Leftovers
Some content isn't worth saving to a notes system but the user might want to keep handy (a prompt idea to try, a quick reminder, a half-formed thought). Don't force these into any tool. Output as a plain Markdown block:
## Leftovers (not saved — for your reference)
- [rough idea or reminder]
- [something to try next time]
Key Principles
Granular over hub Default to separate entries. One insight per entry, one decision per entry. Build a summary note only when explicitly useful, and cross-reference the granular entries in it.
Confirm before write Never batch-write without the user's explicit go-ahead. The confirmation step is not optional — it's where the user catches misclassifications and adjusts framing.
Tags over folders for action items
Don't create a dedicated "TODO folder". Tag action items with #todo inside whatever folder/space makes contextual sense. The tag is searchable; the folder is just noise.
Time-sensitivity matters
Data that will become stale (prices, versions, availability) should be flagged 🕒 + date so you know when to re-verify.
Bilingual tags when relevant If the user works in multiple languages, add tags in both languages to improve cross-language search recall.
This Skill vs Real-Time Capture
| Real-time capture | Conversation Distill | |
|---|---|---|
| When | During the conversation, on highlights | At natural conversation end |
| Scope | Single entry | Entire session |
| Relationship mapping | No | Yes |
| Miss-detection | No | Yes — catches what slipped through |
| Confirmation style | Quick single-entry | Full classification list |
Both run in parallel. Real-time capture handles obvious highlights. This skill handles value that's only visible with a full-session view — relationships, patterns, and things you didn't realize were worth saving in the moment.
Works Best With
- KnowMine — remote MCP server with semantic search;
add_knowledge,save_memory,recall_memory,get_soulintegrate directly with Step 4. Install:npx clawhub@latest install knowmine - Any MCP-compatible notes tool (Notion, Obsidian via MCP, etc.)
- Works without any MCP too — outputs clean Markdown for manual paste
Anti-Patterns
- ❌ Writing before user confirms
- ❌ Creating a "TODO folder" — use tags
- ❌ Merging everything into one summary note
- ❌ Triggering on single-turn Q&A
- ❌ Re-triggering after user said "skip it"
- ❌ Forcing low-value leftovers into the notes tool
Self-Check Before Presenting the List
- Any category with no real content? (remove it — don't pad)
- Every decision has
[Decision]prefix? - Time-sensitive data marked
🕒 + date? - Action items tagged
#todo, not put in a new folder? - Any "fake summary" entries that should be split granularly?
Evolving This Skill
The best distillation process is one that fits how you think and work. After a few sessions, ask yourself:
- Which step felt unnecessary or awkward?
- Which type of content keeps needing special handling?
- Is the 6-category split right for you, or should some be merged / split?
When you find patterns, update your personal copy of this skill to reflect them. Your tools should adapt to you, not the other way around.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install conversation-distill - 安装完成后,直接呼叫该 Skill 的名称或使用
/conversation-distill触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
conversation-distill 是什么?
At the natural end of a conversation, proactively suggest a structured wrap-up (distill): scan the full session, classify outputs into 6 categories (insights... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 101 次。
如何安装 conversation-distill?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install conversation-distill」即可一键安装,无需额外配置。
conversation-distill 是免费的吗?
是的,conversation-distill 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
conversation-distill 支持哪些平台?
conversation-distill 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 conversation-distill?
由 YING99(@yiing99)开发并维护,当前版本 v1.0.0。