| name | make-distilled |
| description | Transform raw captured content into distilled knowledge by extracting 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:
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>
## 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
- 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