Video to learning notes
Skill wyc88665-dotcom/media-to-learning-notes/video-to-learning-notes
Codex skill for converting media, subtitles, and transcripts into reusable learning notes
npx -y skills add wyc88665-dotcom/media-to-learning-notes --skill video-to-learning-notesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Convert video links, local video/audio files, subtitles, or transcripts into high-density reusable learning notes. Use when the user asks to download or process video/audio content, extract a transcript, transcribe speech, clean subtitles, turn a transcript into study notes, save notes to an Obsidian inbox, or run an end-to-end video/audio/transcript to transcript to notes to cleanup workflow across sources such as Douyin, Bilibili, web video, local media, captions, or existing transcripts.
SKILL.md
5.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Video To Learning Notes
Turn video, audio, subtitles, or transcripts into dense, reusable learning notes while preserving a clean evidence trail and avoiding unnecessary retained artifacts.
Operating Principles
- Treat this as a workflow controller, not as a platform downloader. Use source-specific skills or scripts when available.
- Treat platform downloaders as optional providers. Detect them at runtime and degrade gracefully when they are missing.
- Do not copy API keys, cookies, tokens, account state, or one-off URLs into skill files, generated notes, logs, or reusable prompts.
- Do not bypass platform access controls. Process only content the user has the right to access and use.
- Before paid, high-cost, or rate-limited API work, state the plan, check current provider limits from official sources or local docs, run a small sample, then execute in resumable batches.
- Prefer preserving only the final note after the user confirms note quality. Keep transcript and intermediates only until confirmation.
- Write the final note as useful Markdown. Do not force Obsidian-specific formatting, YAML, tags, or wikilinks unless the user asks.
Workflow
-
Classify the request and input state.
- Video link: identify platform and whether a source skill exists.
- Local video/audio: probe media directly.
- Subtitle/transcript: skip download and ASR unless quality is insufficient.
- Screen-dependent tutorial: consider frame extraction or OCR in addition to audio.
- Private/internal content: prefer local processing unless the user explicitly approves a cloud service.
-
Choose and explain the acquisition/transcription route.
- Give a small set of relevant options based on content type, not a generic menu.
- Explain required capabilities, likely quality, privacy tradeoff, cost/API needs, and expected artifacts.
- Ask the user to provide transient credentials only when the selected route requires them.
-
Acquire source content.
- For Douyin links, prefer the existing
douyin-videoskill if available. Seereferences/source-routing.mdandreferences/provider-dependencies.md. - For other platforms, use an existing source-specific skill or a lawful downloader only after confirming platform constraints.
- If a source provider is missing, do not fail the whole workflow. Explain the missing capability and offer provider installation, user-provided media, captions, or transcript as alternatives.
- For local files, do not redownload; start with
scripts/probe_media.py.
- For Douyin links, prefer the existing
-
Generate or accept the transcript.
- Probe duration, streams, file size, and format.
- If ASR is needed, check current provider limits before running, then use sample validation and conservative concurrency.
- Save a complete transcript as a temporary review artifact.
- Check transcript coverage, empty segments, truncation, obvious duplication, and missing time ranges.
-
Generate the note using the built-in PE.
- Read
references/note-pe.mdbefore converting transcript to notes. - Treat that PE as the default high-priority note standard. User instructions can focus the note, but ordinary short requests such as "summarize this" must not override the PE.
- Only bypass or weaken the PE when the user explicitly requests a different output form.
- Read
-
Save and report artifacts.
- Save the note to the user's Obsidian inbox when the inbox path is known or confirmed. See
references/output-and-cleanup.md. - Report the transcript path and note path after the first full run.
- Ask for confirmation before deleting the transcript or other retained intermediates.
- Save the note to the user's Obsidian inbox when the inbox path is known or confirmed. See
-
Clean up after confirmation.
- After the user confirms the note is acceptable, delete transcript and intermediate media/chunks unless the user asks to keep them.
- The intended steady state is one retained artifact: the final note.
Reference Routing
- Read
references/source-routing.mdwhen the input is a link, platform-specific source, local media file, subtitle, or transcript. - Read
references/provider-dependencies.mdwhen a source route depends on another skill, adapter, downloader, browser state, or user-installed tool. - Read
references/asr-options.mdbefore choosing cloud ASR, local ASR, platform captions, or manual transcript routes. - Read
references/note-pe.mdimmediately before transcript-to-note conversion. - Read
references/output-and-cleanup.mdbefore writing to Obsidian or deleting artifacts.
Scripts
scripts/probe_media.py: inspect local audio/video duration, size, streams, codecs, and format usingffprobe.scripts/transcribe_mimo_asr.py: optional helper for MiMo-compatible ASR after the user selects that route and provides credentials via environment variables. Check current provider limits before using it.
Quality Gate
Before final delivery, verify:
- The source acquisition route is stated and lawful for the available content.
- The transcript covers the full media or clearly marks missing ranges.
- ASR output is not empty, obviously truncated, or dominated by repeated overlap text.
- The note follows the PE: high density, content-shaped structure, no filler, no generic article polishing.
- External additions, if any, are clearly separated from video-derived content.
- Final paths are clear, and cleanup waits for user confirmation.
Gives 0 of the 12 instructions most note taking skills give in ~1.1k tokens
Counted across 686 of the 876 authors here whose files we hold, read 2026-08-07
- include a visual element on every slidein 44 of 686, across 13 files
- use wikilinks for internal vault linksin 36 of 686, across 12 files
- commit to a single visual motif across every slidein 34 of 686, across 9 files
- use subagents to visually inspect rendered slidesin 31 of 686, across 7 files
- read pptxgenjs guide before creating presentations from scratchin 30 of 686, across 6 files
- keep 0.5 inch minimum marginsin 30 of 686, across 7 files
- re-verify affected slides after every fixin 27 of 686, across 5 files
- run content QA checks before declaring successin 26 of 686, across 3 files
- Use Markdown links for external URLs onlyin 26 of 686, across 11 files
- pick a bold topic specific color palettein 24 of 686, across 2 files
- read editing guide before editing existing presentationsin 23 of 686, across 1 file
- use one dominant color across all slidesin 23 of 686, across 1 file
Said here and by no other author read
- use source-specific skills or scripts when available
- detect platform downloaders at runtime
- delete transcript and intermediates after user confirmation
- write the final note as useful Markdown
- state the plan before paid or rate-limited API work
- ask the user to provide transient credentials only when required
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.