youtube-notetaker
Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.
Creative & MediaAI & Automationaidair-academyworkflow
YouTube Notetaker
When to Use
Use when this workflow matches the user request: >
_Source: dair-ai/dair-academy-plugins (MIT)._
Build a personal library of YouTube talks you study with. Each video becomes one plain markdown file: slide snapshots at their timestamps, a full timestamped transcript, and editable notes. A small bundled server renders the library as an interactive deep-dive in the browser. No database, no cloud service. Everything is files on disk you fully own.
Architecture (read this first)
The markdown library is the single source of truth. The artifact is a thin HTML shell that fetches from the server and writes notes back. Never hardcode video data into the HTML.
- Library: a plain folder, set by
VIDEO_LIBRARY_DIR(default~/video-deepdives/). - One markdown file per video, filename slug = YouTube id (e.g.
RtywqDFBYnQ.md). - Frontmatter holds video metadata + a
slidesarray. - Body holds the full transcript as
[HH:MM:SS] textlines. _media/holds slide images, namespaced per video as<youtube_id>-slide-NN.jpg- Server:
scripts/serve.py, a single stdlib + PyYAML file. Start it with:
to avoid collisions between videos.
`` python3 scripts/serve.py --dir ~/video-deepdives --port 8000 ` It serves the artifact at /` and a small API the
Subscribers only
The full skill, its 12 bundled files and every download is included with every paid Complete AI plan.
Details
| Source | dair-ai/dair-academy-plugins |
|---|---|
| License | MIT |
| Risk label | safe ("critical" means the skill may run commands or touch files — read before use) |
| Files | SKILL.md, reference/artifact.html, scripts/contact_sheet.py, scripts/detect_slides.sh, scripts/download.sh, scripts/extract_slides.py, scripts/scratch_safety.sh, scripts/serve.py, scripts/setup.sh, scripts/verify.sh, scripts/vtt_to_transcript.py, scripts/write_library_item.py |
| Added | 2026-06-19 |
