YouTube Video Ingestion
Ingest YouTube videos into your vault by fetching transcripts and creating structured notes.
Workflow
- Extract video ID from the YouTube URL (the
vparameter or from youtu.be short links) - Fetch transcript using the bundled script
- Create transcript note with full content and metadata
- Create summary note with key insights extracted from the transcript
- Run markdownlint on both notes
Usage
Fetching transcripts
Run the transcript fetcher script (uses PEP723 inline metadata):
uv run <path-to-skill>/scripts/fetch_transcript.py <video_id>
The script outputs the transcript text to stdout.
Creating notes
Create two notes in the vault:
- Transcript note:
Evergreen Notes/<Video Title> - <Speaker Name> (Transcript).md - Summary note:
Evergreen Notes/<Video Title> - Key insights.md
Note structure
Transcript note structure:
# <Video Title> - <Speaker> (Transcript)
**Source**: [YouTube - <Video Title>](<youtube_url>)
**Speaker**: <speaker name>
**Project**: <project/company if mentioned>
---
## Full Transcript
<transcript text>
---
## Related
- [[<Summary note name>]]
Summary note structure:
# <Video Title> - Key insights
**Source**: [[<Transcript note name>]]
**Speaker**: <speaker name>
---
## Core argument
<1-2 sentence summary of main thesis>
## Key points
### <Section 1 heading>
<bullet points or prose summarizing key insights>
### <Section 2 heading>
<bullet points or prose summarizing key insights>
## Key takeaway
<final synthesis or call to action>
## Related
- [[<Transcript note name>]]
Guidelines
- Follow vault writing guidelines from AGENTS.md
- No em-dashes, use commas/semicolons/periods instead
- No AI-sounding phrases ("stands as", "serves as", "it's important to note")
- Headers: capitalize first word only
- Never hallucinate wikilinks. Only link to notes that actually exist
- Link the transcript and summary notes to each other
Script
See scripts/fetch_transcript.py for the transcript fetching implementation.
Scan to join WeChat group