youtube-to-knowledge

skill
Security Audit
Warn
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 22 GitHub stars
Code Warn
  • network request — Outbound network request in src/transcribe.py
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool converts YouTube videos into structured transcripts, summaries, and interactive knowledge graphs. It is designed to work as an extension within the Claude Code environment.

Security Assessment
The tool requires no explicitly dangerous system permissions. However, it makes outbound network requests to fetch YouTube transcripts and, depending on the mode, may connect to HuggingFace APIs. No hardcoded secrets were found, though users opting for the WhisperX mode must manually provide their own HuggingFace token via environment variables. Because it actively pulls external content and runs alongside Claude Code, users should be aware of the data being processed. Overall risk is rated as Medium.

Quality Assessment
The project has a clear description and is licensed under the permissive MIT standard. It appears to be actively maintained, with recent repository updates. While it is a relatively new tool with a small community footprint of 22 GitHub stars, the documentation is thorough and provides clear setup and usage instructions.

Verdict
Use with caution: the tool is a well-documented, actively maintained project, but executing it alongside AI workflows with external network requests requires standard security awareness.
SUMMARY

Turn any YouTube video into a transcript, summary, and knowledge graph - powered by Claude Code.

README.md

youtube-to-knowledge

Turn any YouTube video into a transcript, summary, and knowledge graph — powered by Claude Code.

Paste a link. Get structured knowledge.

How it works

  1. Fetches the transcript (YouTube API or local Whisper)
  2. Generates a structured summary in the video's language
  3. Extracts entities and relationships → builds an interactive knowledge graph

Requirements

  • Python 3.10+
  • Claude Code
  • ffmpeg (required for Whisper mode)

Install ffmpeg

OS Command
macOS brew install ffmpeg
Ubuntu / Debian sudo apt install ffmpeg
Fedora sudo dnf install ffmpeg
Windows winget install ffmpeg

Setup

git clone https://github.com/velmighty/youtube-to-knowledge
cd youtube-to-knowledge
pip install -r requirements.txt

Open the folder in Claude Code.

Usage

/process https://www.youtube.com/watch?v=VIDEO_ID

Additional commands:

  • /video_specialist — deep-dive questions about what was said in a processed video
  • /kg_navigator — explore entity connections across videos

Output

Files are saved to vault/content/<channel_name>/:

raw/
  transcript_raw.txt    raw transcript
  metadata.json         title, channel, video ID, language
summary.md              structured summary
triplets.json           knowledge graph source data
graph.json              graph in node-link format
graph.html              open in browser — interactive visualization

Transcription modes

Mode Speed Requirement
Fast (default) Seconds Video must have subtitles
Whisper (local) Minutes Any video, no subtitles needed
WhisperX (opt-in) Minutes pip install -r requirements-whisperx.txt

The /process command tries fast mode first and falls back to Whisper automatically. To force Whisper:

python src/transcribe_whisper.py https://www.youtube.com/watch?v=VIDEO_ID

WhisperX mode

WhisperX provides word-level timestamps, speaker diarization, and faster transcription via faster-whisper. Install the extra dependencies:

pip install -r requirements-whisperx.txt

Then use the --engine flag:

/process --engine whisperx https://www.youtube.com/watch?v=VIDEO_ID

Speaker diarization requires a HuggingFace token set as HF_TOKEN in your environment. Without it, WhisperX still produces timestamped segments but without speaker labels.

Obsidian integration

Add --obsidian to export the knowledge graph directly into your Obsidian vault.

/process --obsidian https://www.youtube.com/watch?v=VIDEO_ID

This generates one .md file per extracted entity in vault/content/<channel_name>/obsidian/. Each file contains:

  • YAML frontmatter — tags, source title, URL, channel
  • Relations — outgoing links to other entities: - made_by: [[Anthropic]]
  • Referenced by — incoming links: - [[Claude]] → made_by

Wikilinks use Obsidian's [[filename|display]] aliasing, so they resolve correctly even when entity names contain special characters.

To connect the exported notes to your main vault, point Obsidian at the vault/ folder or copy the obsidian/ directory into your existing vault.

You can also run the exporter directly:

python src/obsidian_exporter.py vault/content/<channel>/triplets.json /path/to/output \
  --metadata vault/content/<channel>/raw/metadata.json

Options

/process [--depth light|standard|deep] [--engine whisperx|whisper] [--obsidian] <URL>
Flag Values Default Effect
--depth light, standard, deep standard Controls triplet count and summary detail
--engine whisper, whisperx whisper Selects transcription engine for fallback
--obsidian off Exports entity notes to obsidian/ subfolder

Examples:

/process https://www.youtube.com/watch?v=VIDEO_ID
/process --depth deep https://www.youtube.com/watch?v=VIDEO_ID
/process --engine whisperx --depth light https://www.youtube.com/watch?v=VIDEO_ID
/process --obsidian https://www.youtube.com/watch?v=VIDEO_ID
/process --obsidian --depth deep https://www.youtube.com/watch?v=VIDEO_ID

License

MIT

Reviews (0)

No results found