Aan de slag
Transcript Distiller: Subtitles to PKM Notes

Transcript Distiller: Subtitles to PKM Notes

YouTube VTT & podcast transcripts → structured PKM notes: TL;DR, key points, quotes, tags, batch index. One file or folder. Any AI agent. No API keys.
#Product#Productiviteit#Schrijven
Beoordeling
Meer beoordelingen nodig
Verkocht
0
Gebruikswijze
Downloaden

The Problem

You collect transcripts faster than you distill them.

YouTube VTT files, podcast exports, Otter transcripts, Whisper output — they pile up in a folder. Raw text is not knowledge. Without structure, you can't link ideas, search takeaways, or reuse insights in your next article, course, or newsletter.

Summarizing one hour of audio by hand takes 20–40 minutes. A playlist of 30 videos becomes a weekend you never schedule.

Most creators don't need another transcription service. They need a repeatable distillation pass that turns subtitles into TL;DR notes with key points, quotes, tags, and a batch index — without inventing facts.


The Solution

Transcript Distiller is a self-contained AI agent skill that reads your VTT, SRT, plain text, or markdown transcripts and produces structured knowledge notes in a single run.

You define your world in config.yaml (input folder, output language, optional topic keywords, related-link rules). The agent parses each file, extracts real content only, and writes reusable markdown notes.

What you get per run

Output Contents
00_inventory.md Full file list with inferred titles
01_parse-log.md Format detection, char counts, parse warnings
notes/*.md One structured note per source (TL;DR, key points, quotes, action items)
02_classification.md Topic assignment + tag proposals (when topics configured)
03_batch-index.md Cross-cutting themes across multiple sources
99_completion-report.md Counts, open questions, next steps

No fabrication: quotes must be verbatim from the source. Missing titles or URLs → <<CONFIRM: …>>, not guesses.

What each structured note contains

Every file under notes/ follows the same reusable template:

Section Purpose
TL;DR 2–4 sentences — the core message only
Key points 3–7 bullets mapped to actual transcript content
Notable quotes Verbatim lines from the source (max 3 by default)
Action items Takeaways or next steps stated or implied in the source
Open questions Missing metadata flagged for you to fill in
Related links Optional Obsidian wikilink suggestions from your config

Frontmatter includes title, source_type, source_file, source_url, topics, tags, and created — ready to drop into Obsidian, Logseq, or any markdown PKM tool.


Real-World Workflows

YouTube research library

  1. Download subtitles as .vtt from videos you saved for later.
  2. Drop files into ./transcripts/youtube/.
  3. Run Transcript Distiller in batch mode.
  4. Review 03_batch-index.md for cross-cutting themes across the playlist.
  5. Copy notes/*.md into your vault and link related topics.

Time saved: Manual summarization of a 45-minute video typically takes 20–30 minutes. Batch mode handles the parse + structure pass in one agent run.

Podcast show notes & reuse material

  1. Export episode transcript from Otter, Descript, or Whisper as .txt or .srt.
  2. Add source_url when you run (podcast episode link).
  3. Use TL;DR + key points as draft show notes.
  4. Feed the structured note into a repurposer skill for blog / newsletter / social (optional second step).

Course & lecture distillation

  1. Collect lecture transcripts (.md, .txt, or .vtt) in one folder.
  2. Configure topics[] in config.yaml for your subject areas (e.g., tutorial, lecture, interview).
  3. Run batch distillation before exam week or curriculum updates.
  4. Use 02_classification.md to see how episodes cluster by topic.

Meeting & interview archives

  1. Paste or save interview transcripts as plain text.
  2. Run single-file mode when you only have one source.
  3. Pull verbatim quotes for articles or case studies — the skill will not paraphrase quotes as if they were exact.

Supported Input Formats

Format Typical source How the skill handles it
.vtt YouTube subtitles, web players Strips WEBVTT headers, cue numbers, timestamps; dedupes repeated lines
.srt Video editors, subtitle tools Skips index lines and timestamp rows; joins cue text
.txt Otter, Whisper, copy-paste Plain text distillation; title from filename or first line
.md Existing notes with frontmatter Uses body for content; preserves frontmatter title when present

You bring the text. The skill does not download subtitles from YouTube or run speech-to-text — that keeps the workflow honest, portable, and free of extra API dependencies.


Customizing config.yaml

Copy config_TEMPLATE.yamlconfig.yaml. Key fields:

Field What to set
input_dir Folder where transcript files live
output_dir Where reports and notes are written
language Output language for notes (en, ja, etc.)
topics[] Optional categories + keywords for auto-tagging
related_rules Keyword → wikilink suggestions for your vault
summary.max_key_points Cap on bullet count (default 7)
summary.max_quotes Verbatim quote limit (default 3)

Leave topics: [] empty to skip classification — you still get full structured notes and a batch index.


Why Transcript Distiller

Works with your sources, not ours.
Copy config_TEMPLATE.yaml to config.yaml. Set your input folder and optional topic keywords. No author vault paths or personal categories baked in.

Agent-agnostic.
Runs on Claude Code, Codex, Cursor, AntiGravity, MANAS, and any agent that reads skill files and writes local files.

Zero dependencies.
No API keys. No plugins. No cloud database. Plain markdown skill + YAML config.

Deterministic parsing.
VTT and SRT cleanup rules are documented in the skill (strip headers, dedupe cue lines, remove HTML tags). You can audit what was parsed.

Batch-ready.
Process one file or an entire folder. Get a batch index when you distill multiple transcripts in one run.

PKM-friendly.
Notes include frontmatter (title, source_type, source_file, topics, tags). Optional related_rules suggest Obsidian wikilinks when keywords match.

Privacy-safe.
Designed for external sale: no personal profiles, no fixed C:\Users\... paths, no proprietary vault names.


Who It's For

  • YouTubers building a searchable research library from subtitle files
  • Podcasters turning episode transcripts into show notes and reuse material
  • Course creators distilling lecture recordings into study notes
  • Researchers processing interview transcripts into tagged summaries
  • Obsidian / Logseq users with folders of .vtt files waiting to be processed
  • Teams converting meeting transcripts into shared documentation

If you have more than 10 unprocessed transcript files, this skill pays for itself on the first batch run.


Setup (About 5 Minutes)

  1. Download SKILL.md and config_TEMPLATE.yaml from your purchase.
  2. Place the skill in your agent's skills folder:
    • Cursor: .cursor/skills/transcript-distiller/SKILL.md
    • Claude Code: .claude/skills/transcript-distiller/SKILL.md
  3. Configure: cp config_TEMPLATE.yaml config.yaml — edit input_dir, language, and optional topics.
  4. Run on a test VTT file. Review notes/ output.
  5. Scale to a full folder when satisfied.

Default output: ./output/transcript-distiller/ (customizable in config or per run).


Sample Prompt

/transcript-distiller
Config: ./config.yaml
Input: ./transcripts/
Language: en
Output: ./output/transcript-distiller/2026-06-11/

Chat receives a short completion summary — not a wall of note content.

For a single pasted transcript:

Distill this transcript into a structured note.
[paste text]
Config: ./config.yaml
Output: ./output/transcript-distiller/single/

How It Works (Pipeline Overview)

  1. Inventory — Scan input folder; respect exclude dirs and supported extensions.
  2. Parse — Detect VTT/SRT/plain/markdown; apply documented cleanup rules.
  3. Distill — Write one note per source: TL;DR, key points, quotes, action items.
  4. Classify — Score notes against optional topics[] in config (+3 title, +1 body).
  5. Index — Batch index with cross-cutting themes when 2+ notes produced.
  6. Complete — Summary report with counts and <<CONFIRM>> items.

Optional timestamp section in each note when summary.include_timestamps: true and the source file contains cue timestamps.


Files You Receive Per Run

File / folder Contents
00_inventory.md Every input file with inferred title and size
01_parse-log.md Format detected, char count, skip warnings
notes/*.md One structured note per successfully parsed source
02_classification.md Topic scores + tag proposals (when topics configured)
03_batch-index.md Master index + cross-cutting themes (2+ notes)
99_completion-report.md Totals, open questions, suggested next steps

Suggested review order: completion report → parse log (check skips) → batch index → individual notes.


Sample Output (abbreviated)

After distilling a podcast VTT, a note might look like:

---
title: "Building a Second Brain — Weekly Review Habits"
source_type: vtt
source_file: "./transcripts/episode-42.vtt"
topics: [tutorial]
tags: [type/distillation, channel/podcast]
---

# Building a Second Brain — Weekly Review Habits

## TL;DR
The speaker argues that capture without review creates noise, not knowledge.
A weekly 30-minute review — inbox, tags, three highlights — beats daily perfectionism.

## Key points
1. One inbox folder reduces decision fatigue at capture time.
2. Review on the same weekday each week to build habit momentum.
3. Tag by topic, not by project phase, for long-term retrieval.
...

## Notable quotes
> "You don't have a storage problem. You have a retrieval problem."

Quotes appear only when they exist verbatim in the source.


FAQ

Does this download YouTube subtitles for me?
No. Export or download VTT/SRT yourself, then point the skill at the folder. This avoids API keys and keeps the skill agent-agnostic.

Can I run this in Japanese or other languages?
Yes. Set language: ja (or any code) in config.yaml. Input can be any language; output follows your setting.

Will it invent statistics or speaker claims?
No. The skill is built with anti-fabrication rules. Gaps are marked <<CONFIRM: …>> instead of filled with guesses.

How is this different from ChatGPT "summarize this"?
Transcript Distiller is a repeatable pipeline: parse rules, file outputs, batch index, frontmatter, optional taxonomy, and quality gates — not a one-off chat reply. You get files you can link, search, and reuse.

Can I process 50 files at once?
Yes. Batch mode scans the whole input folder and writes one note per file plus a single batch index.

Does it work with Content Repurposer?
Yes. Distill transcripts into structured notes first, then feed a note into a repurposer skill for blog / newsletter / social. Distillation = understand & store; repurposing = reformat for channels.


Requirements

You need:

  • An AI coding agent that reads markdown skill files and writes local files
  • Transcript files (.vtt, .srt, .txt, or .md)
  • A customized config.yaml

You do not need:

  • YouTube API access or automatic subtitle download
  • Whisper or other speech-to-text (this skill distills existing text only)
  • Obsidian specifically (markdown folders are enough)
  • Pre-built personal taxonomy from the seller

What's Not Included (By Design)

  • Automatic subtitle download from YouTube or podcast hosts
  • Speech-to-text / transcription (input must already be text)
  • Invented quotes, statistics, or speaker claims
  • Multi-channel repurposing (blog + X + newsletter — use a separate repurposer skill)

These boundaries keep the skill portable, honest, and safe for first-time buyers.


What's Included in Your Purchase

File Purpose
SKILL.md Main agent skill — upload to your agent's skills folder
config_TEMPLATE.yaml Copy → config.yaml and customize paths + topics
Install guide Step-by-step setup for Cursor, Claude Code, and Codex

No subscription to our servers. No author vault paths. No personal taxonomy baked in. You own the config and the output files.


Version

v1.0.0 — Initial release. VTT/SRT/plain/markdown parse, structured notes, optional topic classification, batch index.


Support

Use the included install guide and sample VTT to validate your first run. If you see <<CONFIRM: …>> in notes, add the missing metadata in config or re-run with a title override.


Transcript Distiller — raw subtitles in, structured knowledge notes out.