make-distilled
Transform raw captured content into distilled knowledge by extracting summary, key points, principles, patterns, entities, and quotes, storing the result in the distilled/ directory.
When & Why to Use This Skill
The make-distilled skill is a sophisticated knowledge management tool designed to transform raw, unorganized content into high-value, structured knowledge. It goes beyond simple summarization by extracting actionable insights, core principles, reusable patterns, and notable quotes from source materials. By automating the creation of organized Markdown files with cross-referenced metadata and Obsidian-style linking, it enables users to build a searchable, professional-grade knowledge base from diverse inputs like articles, transcripts, and research notes.
Use Cases
- Research Synthesis: Convert long-form articles and academic papers into distilled summaries that highlight underlying principles and mental models for easier reference.
- Video Transcript Processing: Transform raw YouTube or meeting transcripts into structured notes featuring timestamped topics, key takeaways, and suggested next steps.
- Pattern Extraction for Developers: Analyze technical blog posts or documentation to extract concrete architectural patterns, code workflows, and tool-specific entities.
- Personal Knowledge Management (PKM): Automatically organize raw captures into a 'distilled' directory with proper backlinking, making it ready for integration into tools like Obsidian or Logseq.
| name | make-distilled |
|---|---|
| description | Transform raw captured content into distilled knowledge by extracting topics (outline), summary, key points, principles, patterns, entities, and quotes, storing the result in the distilled/ directory. |
Make Distilled Content
When to use
Use this skill when:
- The user has a raw file in
raw/and wants to extract structured insights - You need to convert unprocessed source material into organized knowledge
- You're preparing content for integration into notes or essays
Keywords: distill, extract, summarize, patterns, principles, organize
Inputs
Required:
raw_paths(list[string]): Relative or absolute paths to one or more raw files inraw/
Optional:
focus(string): Specific aspect to emphasize (e.g., "patterns", "principles", "practical advice")distilled_filename(string): Output filename (useful when distilling multiple raw files into one distilled file)
Outputs
This skill produces:
- A new file in
distilled/with the same timestamp-slug naming pattern as the raw file - An update to the raw file front matter to add a backlink to one (or more) distilled outputs
- Metadata returned to the agent:
distilled_path: full path to the created distilled filetitle: title of the distilled contentdistilled_at: ISO timestamp (UTC)status: initial status (typically "draft")
Procedure
1. Read the raw files
- Use the
read_filetool to load each raw file content - Parse front matter from each raw file to extract:
titlesource_urlcaptured_atcapture_typeauthor(if available)published_at(if available)distilled_refs(if present; used for appending a new backlink)- any other relevant metadata
2. Generate distilled content structure
Extract and organize the following elements from the raw content:
Topics / outline (5-15 bullets)
- What gets discussed, in order
- Prefer timestamped bullets when the source provides timestamps (common for videos)
- Keep this distinct from “Key points” (outline is coverage; key points are takeaways)
Summary (5-10 lines)
- Concise overview of the main topic and purpose
- What problem/question does this address?
- What approach or solution is presented?
Key points (bullet list)
- 5-10 actionable or memorable insights
- Focus on practical takeaways
- Avoid restating the summary
Concepts / principles
- Abstract ideas or mental models
- Transferable patterns
- Underlying theory or philosophy
- Trade-offs and decision factors
Patterns (if relevant)
- Concrete, reusable approaches
- Workflow patterns
- Code/architectural patterns
- Team/organizational patterns
Entities (if relevant)
- Tools, frameworks, libraries mentioned
- People or organizations referenced
- Related projects or initiatives
- Terminology and definitions
Quotes (select 3-8 notable ones)
- Verbatim excerpts that are particularly insightful
- Include just enough context to be standalone
- Format as blockquotes with inline attribution if author is known
Open questions / follow-ups
- Gaps or areas for deeper research
- Connections to explore
- Uncertainties or ambiguities in the source
Next steps (agent-suggested)
- Suggested integration targets in
notes/ - Related topics to capture or research
- Concepts worth expanding into standalone notes
3. Build front matter
Create YAML front matter for the distilled file:
---
title: "<original title> (or improved title if clearer)"
source_url: "<primary source URL (optional)>"
captured_at: "<captured_at from a representative raw file>"
distilled_at: "<current ISO timestamp UTC>"
raw_refs:
- "[[raw/<raw file 1>]]"
- "[[raw/<raw file 2>]]"
capture_type: "<capture_type from a representative raw file>"
status: draft
agent: github-copilot
model: claude-sonnet-4.5
confidence_notes: "<any uncertainty flags, hallucination risks, or missing context>"
tags: ["tag1", "tag2", "tag3"] # 3-7 relevant tags
---
Critical rules:
- Use
raw_refsas an Obsidian-style internal link list (e.g.,[[raw/20260102-095107Z--patterns-for-ai-assisted-software-development]]). - Always use
raw_refs(plural) as a list, even when there is only one raw source. - Also add (or append to) a backlink in each raw file front matter:
distilled_refsshould be a YAML list of Obsidian-style internal links (e.g.,[[distilled/20260102-095107Z--patterns-for-ai-assisted-software-development]])
- In YAML front matter, quote Obsidian links (e.g.,
- "[[raw/...]]") so the file stays valid YAML. - Be explicit in
confidence_notesif:- Author/date was inferred rather than explicit
- Content was truncated or unclear
- You're uncertain about any extraction
- The
statusshould bedraftunless the user specifies otherwise
4. Apply the distilled content template
Combine the extracted elements into this structure:
---
<front matter from step 3>
---
## Summary
<5-10 line summary>
## Topics
- <topic 1>
- <topic 2>
- ...
## Key points
- <point 1>
- <point 2>
- ...
## Concepts / principles
<extracted concepts, one per paragraph or sub-section>
## Patterns
<if relevant: concrete patterns found>
## Entities
<if relevant: tools, people, projects, terms>
## Quotes
> <quote 1>
>
> — <attribution if known>
> <quote 2>
...
## Open questions / follow-ups
- <question or gap 1>
- <question or gap 2>
## Next steps
- <suggested action 1>
- <suggested action 2>
## Links
- Source: [<source_url>](<source_url>)
- (Optional) Additional external links extracted from the source (avoid duplicating `raw_refs` here; they live in front matter)
- <Other links extracted from content if relevant>
5. Generate filename and write the file
- If
distilled_filenameis provided, use it. - Otherwise:
- If
raw_pathscontains exactly one file, use the same timestamp and slug as that raw file - If
raw_pathscontains multiple files, generate a newYYYYMMDD-HHMMSSZ--<slug>.mdfilename based on the distilled title
- If
- Full path:
distilled/<filename> - Content: front matter + blank line + distilled structure
- Use
create_filetool with the full content
6. Update raw front matter (backlink)
- For each file in
raw_paths:- Keep the raw body unchanged; only update front matter.
- Add or update
distilled_refsas a YAML list:- If
distilled_refsis missing, add it. - If
distilled_refsexists, append the new distilled path (avoid duplicates).
- If
- Use Obsidian-style internal links, e.g.:
distilled_refs:
- "[[distilled/20260102-095107Z--patterns-for-ai-assisted-software-development]]"
7. Confirm to user
Provide a brief confirmation:
- Link to the created distilled file using an Obsidian-style internal link
- One-sentence summary of what was extracted
- Note any significant
confidence_notesor gaps
Quality guidelines
Preserve intent and nuance
- Do not "improve" the source's tone or claims
- If something is speculative in the source, preserve that uncertainty
- Avoid marketing language or hype
Be explicit about uncertainty
- Use
confidence_notesfront matter for extraction risks - In the body, flag inferred vs. explicit information
- If author/date is missing, say so
Favor principles over tools
- Extract transferable ideas, not tool-specific instructions
- Highlight trade-offs and decision factors
- Patterns should be adaptable across contexts
Short, precise, reusable
- Clarity over verbosity
- Make each section independently useful
- Link concepts instead of duplicating them
Avoid exposing private information
- Do not include private repository names, local paths, or personal data
- Sanitize examples if they reference non-public systems
Examples
Example 1: Blog post about AI agent patterns
Input:
raw_paths:
- raw/20260102-095107Z--patterns-for-ai-assisted-software-development.md
Process:
- Read the raw file and extract metadata
- Identify main patterns: interview-driven specs, progressive disclosure, etc.
- Extract key principles: preserve intent, think in systems, avoid hype
- Select 5-6 notable quotes
- Note any follow-up questions (e.g., "How do these patterns scale to larger teams?")
Output:
- Creates
distilled/20260102-095107Z--patterns-for-ai-assisted-software-development.md - Front matter includes
raw_refs: ["[[raw/20260102-095107Z--patterns-for-ai-assisted-software-development]]"] - Raw front matter updated with
distilled_refs: ["[[distilled/20260102-095107Z--patterns-for-ai-assisted-software-development]]"] - Structured summary + key points + concepts + quotes + next steps
Example 2: YouTube transcript
Input:
raw_paths:
- raw/20260105-140000Z--building-production-agents.md
Process:
- Read the transcript
- Extract main themes (often less linear than written content)
- Identify practical advice vs. theoretical discussion
- Build a topic outline (timestamped if present in the source)
- Note any tools or frameworks mentioned
- Flag areas where transcript was unclear or incomplete
Output:
- Creates
distilled/20260105-140000Z--building-production-agents.md confidence_notesmight mention: "Transcript had several unclear segments; some technical terms may be misspelled"- Entities section lists tools and frameworks discussed
- Raw front matter updated with
distilled_refs(append if already present)
Failure modes and edge cases
Truncated or incomplete raw content
- Note in
confidence_notes - Extract what's available
- Suggest follow-up: "Consider re-capturing with full content"
Highly technical content with domain-specific jargon
- Preserve technical terms as-is
- Add brief context in Entities section if helpful
- Do not oversimplify at the cost of accuracy
Opinion pieces vs. technical guides
- For opinion: focus on arguments, not just conclusions
- For guides: emphasize patterns and principles over step-by-step
Multiple topics in one source
- Consider suggesting multiple distilled files focused on different aspects
- Or use clear sub-sections in a single distilled file
Tools typically used
read_file— to load the raw contentcreate_file— to write the distilled outputupdate_file(or equivalent) — to update raw front matter withdistilled_refsrun_in_terminal— to generate UTC timestamp if needed
References
- Distillation pipeline: docs/distillation/distillation-pipeline.md
- Agent skills standard: notes/agent-skills.md
- Repository guidance: AGENTS.md