CommunityRédaction et éditiongithub.com

YIING99/conversation-distill

At the natural end of a meaningful conversation, show a one-line soft reminder asking the user if they want to distill — do NOT auto-start.

Qu'est-ce que conversation-distill ?

conversation-distill is a Claude Code agent skill that at the natural end of a meaningful conversation, show a one-line soft reminder asking the user if they want to distill — do NOT auto-start.

Compatible avecClaude Code~Codex CLI~Cursor
npx skills add YIING99/conversation-distill

Installed? Explore more Rédaction et édition skills: steipete/notion, affaan-m/seo, affaan-m/brand-voice · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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", "收尾", "沉淀"

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 this session
  • When user says "don't save" or "skip it"

Soft Ask Pattern (Ask First, Never Auto-Start)

When you detect a conversation-ending signal, ask one short question — do not launch the 5-step flow automatically.

When to Show the Reminder (Both Conditions Required)

Condition A — Ending signal (any one):

  • User says: "thanks", "done", "that's all", "good", "got it", "OK", "谢谢", "好的就这样", "搞定了", "没了"
  • 3+ consecutive turns with no new topics

Condition B — Conversation had distillation value (any one):

  • A decision or trade-off was made
  • Architecture, design, or strategy was discussed
  • A lesson, mistake, or best practice emerged
  • There are unrecorded TODOs or open questions

Both conditions required. Saying "thanks" after casual chat → no reminder. Substantive conversation still in progress → no reminder.

Pre-Scan Before Reminding

Before showing the reminder, do a quick scan of the conversation. Pick the single most representative item (a decision, a lesson, an open question) to use as the preview. Be specific — "the decision about X" beats "some content".

Reminder Phrasing (With Preview)

For Chinese conversations:

💾 这次对话有 {N} 条值得沉淀的内容(比如{最代表性的一条,10字内}...)。要收尾整理吗?(说「要」开始,「不用」跳过)

For English conversations:

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

Good vs bad:

  • 💾 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? (too generic — doesn't signal understanding)

Response Handling

User replyClaude action
"要" / "好" / "收尾" / "distill" / "yes" / "go"Launch full 5-step flow immediately
"不用" / "跳过" / "skip" / "no" / "pass"Reply "好的,跳过。" / "Sure, skipping." — then stop, do not remind again this session
User continues with new topic (no direct reply)Do not treat as permanent skip — allow one more reminder at the next conversation-ending signal

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.

CategoryTag / MarkerNotes
💡 Insights / Conclusions#insightNew understanding, "aha" moments, validated hypotheses
🎯 Decisions[Decision] prefixChoices made with reasoning, not just outcomes
📊 Facts / Data stable, 🕒 + date if time-sensitiveExternal facts worth keeping
🪞 Observations about yourself#selfPatterns, preferences, habits noticed during conversation
Action items / TODOs#todoConcrete next steps with owner and (optionally) deadline
Open questions#open-questionThings 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_knowledge for insights/decisions/facts, save_memory for 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 captureConversation Distill
WhenDuring the conversation, on highlightsAt natural conversation end
ScopeSingle entryEntire session
Relationship mappingNoYes
Miss-detectionNoYes — catches what slipped through
Confirmation styleQuick single-entryFull 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_soul integrate 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.

Skills associés

steipete/notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

community

affaan-m/seo

Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.

community

affaan-m/brand-voice

Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes.

community

affaan-m/crosspost

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

community

affaan-m/x-api

X/Twitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.

community

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

community