lecture-to-notes skill
Turns a lecture recording into slide-illustrated notes and an HTML page where video, transcript and summary stay in sync.
- 115 ★ on the repository
- Last commit
Extended access
Why this level
- Scripts read recording files and move clips into the HTML page folder, rewriting manifest.json with a .bak copy.
- The cloud Groq and Gemini routes send audio out unless `LECTURE_LOCAL_ONLY=1` is set.
- The agy route through Antigravity CLI may breach Google terms for consumer plans.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/lecture-to-notesDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Scripts read recording files and move clips into the HTML page folder, rewriting manifest.json with a .bak copy.
- The cloud Groq and Gemini routes send audio out unless `LECTURE_LOCAL_ONLY=1` is set.
- The agy route through Antigravity CLI may breach Google terms for consumer plans.
This is third-party code. Review the repository files before installing.
What it does
The skill takes a folder of video, audio, a PDF deck or slide photos and builds structured notes from it. Whisper transcribes on a local GPU, slide frames are extracted without duplicates, OCR reads the text and a local vision model scores what each slide means. A language model joins only at the end and writes prose from facts already collected. The main output is one HTML page holding the video, the timestamped transcript and the summary. Playback highlights the matching note bullet, and clicking a timestamp seeks the video. Every claim in a note is tied to a moment in the recording and to the slide on screen at that moment. Stages 0 to E also run as plain scripts without an agent.
Who it is for. Students and course attendees who record lectures and conferences and want to skim notes instead of rewatching hours of video.
Good fit when
- A course left video, audio and phone photos of slides, and there is no time to rewatch the recording.
- A disputed point in the notes must be checked at the source: the note cites a minute of the recording and a slide.
- An event folder holds several talks, and each needs its own note plus a shared index.
- Notes live in a vault, so the result is easier to receive as Markdown.
Not a fit when
- There is no GPU and the recording runs for hours: CPU transcription takes much longer than the lecture itself.
- The recording is confidential and the transcript would go to an external cloud service.
- You want a one-click tool without Python, ffmpeg and environment setup.
Example request
Process this lecture folder: ask the speaker language, transcribe, extract slides and build notes with the HTML viewer.Limitations
The author tested the set on Windows 11 with an 8 GB NVIDIA RTX 3070 Ti. Linux and macOS were not tested, and Apple Silicon is described as a CPU mode without confirmation. Python 3.12 and ffmpeg are required. A GPU with 8 GB or more speeds things up, while on small memory the scripts fall back to the CPU and transcribing an hour-long talk takes hours instead of minutes. The synthesis stage is a specification for a model with no ready script, so without an executing agent you have to write your own. Templates still come from medical courses: headings in Traditional Chinese and medical word lists. They are changed through config.example.yaml.
How to disable. Delete the lecture-to-notes folder from the agent skills directory. Transcripts, slides and HTML pages sit next to the source recording, so remove them separately.
FAQ
Does lecture-to-notes need a GPU?
No. The fast path uses an NVIDIA card with 8 GB or more, without it transcription runs on the CPU and prints an expected time first.
What does route_inputs.py do?
It inspects the folder, decides each file's role and prints a command plan. It runs and writes nothing itself. The `--json` flag returns steps as argument lists for agents.
Why will transcription not start without a language?
The language is set with `--lang` as zh, en, bilingual or auto. There is no default: a wrong guess makes Whisper invent Chinese text from English speech.
Can I supply a ready transcript?
Yes. `scripts/import_transcript.py` converts SRT, WebVTT or JSON into transcript.json and the transcription stage is skipped.
Where does the recording audio go?
It stays on the machine by default. The Groq and Gemini routes send it to the cloud, and `LECTURE_LOCAL_ONLY=1` stops them before any upload.
Discussion
No questions or reviews yet.
Related
SkillsA skill that turns an article, report or notes into a deck of full-slide images and assembles them into a pptx
Four skills for Codex: YouTube and Bilibili videos into LaTeX PDF notes, SRT refinement and tensor formula diagrams.
The ppt-speech-writer skill reads a real PPTX, checks rendered slides and writes the talk script into PowerPoint speaker notes.
Learn from materials
learn-from-materials
A skill that turns books, PDFs, slides and documents into a traceable knowledge base and an interactive learning page with sources, maps and self-check
A skill for talks: outlines a deck around the audience's train of thought, picks images and video, and checks finished slides before you present
Four skills for Codex and Claude Code build editable PPTX and Word reports, website demo videos and Xiaohongshu cards.
README in short
Heavy stages run locally and spend no Claude tokens. Transcription, slides, OCR and grounding produce slides_grounded.json, which is readable on its own.