lecture-to-obsidian

skill
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Turn YouTube lectures into Obsidian study notes with Claude: LaTeX, timestamp links, board equations from video frames, honest confidence markers, review questions.

README.md

lecture-to-obsidian

A skill for Claude that turns a YouTube lecture into an Obsidian study note. You review and edit a ready-made note instead of writing one while you watch.

Built for math-heavy lectures, where auto-captions garble equations and the important content is on the board:

  • Transcript → structured note: summary, numbered sections with clickable timestamp links, LaTeX math, Obsidian callouts for definitions, theorems and tips, step-by-step worked examples, and [[wikilinks]] to notes already in your vault.
  • Board equations from video frames: when the transcript can't give an equation, the skill grabs frames at that moment and reads the board.
  • Honest confidence markers: every uncertain piece of math is labeled, so a guess never looks like lecture content.
  • Active-recall layout: in-class exercises get a "pause and try it" prompt with the lecturer's solution folded away, plus a review-questions section without answers.
  • Review queue export (optional): send chosen questions to Anki (CSV) or your own spaced-repetition script.
  • Validation: a checker for frontmatter, timestamp links and balanced $/$$ before the note is handed over.

Example: notes on Gilbert Strang's MIT 18.06 Lecture 1, "The Geometry of Linear Equations", made with this skill. The board equations were confirmed from video frames.

  • Read it on GitHub: converted with export_github.py, because GitHub renders only part of Obsidian's Markdown.
  • Obsidian source: what the skill actually writes into your vault. Callouts, [[wikilinks]] and folded solutions show properly in Obsidian.

Confidence markers

Marker Meaning
(none) said clearly in the lecture
[🖼 from frame, mm:ss] read from the board or a slide in the video
[🔁 reconstructed from spoken arithmetic, mm:ss] rebuilt from the spoken steps, every step checked
[❓ check equation, mm:ss] unknown. Check it while watching (search ❓ in Obsidian)

Install

Claude Code (plugin)

/plugin marketplace add Abdelrhman2Fawzy/lecture-to-obsidian
/plugin install lecture-to-obsidian@lecture-to-obsidian

Claude Code (plain skill folder)

git clone https://github.com/Abdelrhman2Fawzy/lecture-to-obsidian
cp -r lecture-to-obsidian/skills/youtube-lecture-notes ~/.claude/skills/

claude.ai

Download youtube-lecture-notes.zip from the latest release and upload it under Settings → Capabilities → Skills. The sandbox there may not be able to reach YouTube. In that case paste the transcript (YouTube: …more → Show transcript), and the rest of the workflow still applies.

Requirements

Python 3.9+ (standard library only), plus:

Tool Needed for
yt-dlp (recent) transcripts
ffmpeg board frames
deno or node board frames (yt-dlp needs a JS runtime for YouTube video)

Check with:

python3 skills/youtube-lecture-notes/scripts/doctor.py

Without ffmpeg or a JS runtime, notes still work, but board equations stay as ❓ markers.

Use

Give Claude a lecture link:

Make Obsidian notes from https://www.youtube.com/watch?v=...

Or, in Claude Code: /youtube-lecture-notes <url>. To fix up an older note: "resolve the ❓ markers in Lectures/….md".

Configure (optional)

Works with no configuration: it finds your vault (and asks once if you have several) and writes to Lectures/. To change defaults, create ~/.config/lecture-to-obsidian/config.json. Start from examples/config.example.json:

{
  "vault": "~/Obsidian/Study",
  "notes_dir": "Lectures",
  "note_language": "en",
  "review_queue": {"format": "anki-csv", "anki_csv": "~/Obsidian/Study/anki/lectures.csv"}
}

Every key, including the study-records integration (a personalized "For you" callout) and custom review-queue commands, is documented in references/config.md.

Scripts

All in skills/youtube-lecture-notes/scripts/, standard library only:

Script Does
fetch_transcript.py subtitles and metadata for one video (ignores playlist links, prefers manual subs)
clean_srt.py rolling auto-captions → clean minute-stamped paragraphs
grab_frames.py frames at given timestamps (downloads a low-res copy once)
validate_note.py checks frontmatter, marker count, timestamp links, math delimiters
export_review_questions.py review questions → print, Anki CSV, or your command
export_github.py Obsidian note → GitHub-flavored Markdown (alerts, <details>, math fences) for sharing
log_material.py records a new note in your study log (optional)
config.py shows settings, finds vaults, saves a setting
doctor.py checks dependencies and prints fixes

Privacy and fair use

  • Everything runs locally. The only network calls are yt-dlp's requests to YouTube.
  • Frames are downloaded only to read the board, and the video is deleted afterwards unless frames.keep_video is set. Use this for personal study of videos you are allowed to access, and respect the lecturer's rights when sharing notes.
  • The skill never invents lecture content: no transcript means no note.

Development

python3 -m unittest discover -s tests -v
python3 skills/youtube-lecture-notes/scripts/validate_note.py examples/mit-18.06-lecture-01.md --duration 2389
python3 skills/youtube-lecture-notes/scripts/export_github.py examples/mit-18.06-lecture-01.md   # regenerate the GitHub view
python3 tools/build_zip.py   # dist/youtube-lecture-notes.zip for claude.ai

Issues and pull requests are welcome. Please include a lecture URL and the problem marker or timestamp when reporting bad notes.

License

Code: MIT. The example notes on MIT OpenCourseWare 18.06 (examples/mit-18.06-lecture-01.md) are derived from a lecture licensed CC BY-NC-SA 4.0 and are shared under that license, with attribution to Prof. Gilbert Strang and MIT OpenCourseWare.

Yorumlar (0)

Sonuc bulunamadi