Video to learning notes
Skill wyc88665-dotcom/media-to-learning-notes/video-to-learning-notes
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.From its SKILL.md
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.
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.
What ships with it: 8 files
27.9 KB alongside SKILL.md, 2 of them executable
agents/
- openai.yaml212 B
references/
- asr-options.md2.9 KB
- note-pe.md5.4 KB
- output-and-cleanup.md1.6 KB
- provider-dependencies.md3.9 KB
- source-routing.md2.3 KB
scripts/
- probe_media.pyruns2.3 KB
- transcribe_mimo_asr.pyruns9.4 KB