mcpField
Y
youtube-ingest

youtube-ingest

github.com/gkwaProductivity071 installsUpdated 2d ago
Repository

About youtube-ingest

youtube-ingest is a workflow skill that turns a YouTube URL into a note in an Obsidian Vault. It gathers video details, uses YouTube's thumbnail URL, derives a filename, then stages and commits the note.

Key features

  1. 01Fetch video title and channel details
  2. 02Build thumbnail URL from video ID
  3. 03Create a vault-safe filename
  4. 04Write a structured Obsidian note
  5. 05Stage and commit the note

Use cases

  1. 01Save a YouTube video as a vault note
  2. 02Add video topic and thumbnail details
  3. 03Commit a newly created video note

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gkwa/volcanicviper --skill youtube-ingest

After installing, type/youtube-ingestin Claude Code to confirm it loaded.

Bundled filestile.json

Details

From the project README

YouTube Ingest Workflow

Given a YouTube URL (e.g. https://youtu.be/0EHFgu7V7N4), run the following steps in order. Carry outputs forward — do not prompt the user between steps unless a step fails.

Step 1: Fetch video metadata

Run yt-dlp to get the video title:

uvx yt-dlp --get-title "<youtube_url>"

Collect from the output:

  • The video title

Also fetch the page to identify the channel name and a one-sentence summary of the topic. Use WebFetch on the canonical YouTube watch URL with a prompt asking for title, channel, and topic.

Step 2: Take the thumbnail URL directly

YouTube already hosts the thumbnail at a stable URL, so do not run the social-to-imgur skill here.

Build the URL from the video id: https://i.ytimg.com/vi/<VIDEO_ID>/maxresdefault.jpg

Use that for both pic: and the hero image.

The Imgur round trip adds nothing for YouTube and runs into the egress-IP 429. Instagram and other platforms with expiring CDN URLs still need the upload.

Step 3: Derive the vault filename

Convert the video title to a vault-safe filename:

  • All lowercase
  • Words separated by spaces (no hyphens or underscores)
  • Strip special characters (pipes, colons, slashes, etc.)
  • Strip filler words that add no meaning (e.g. "how to", "a", "the") only when the result is still descriptive

Example: "How To Make Dumpling Wrappers From Scratch | KitchenAid Pasta Attachment" becomes: dumpling wrappers from scratch kitchenaid pasta attachment.md

Step 4: Write the vault note

Write the note to /Users/mtm/Documents/Obsidian Vault/<filename>.md with this structure:

<youtube_url>

![hero](https://i.ytimg.com/vi/<VIDEO_ID>/maxresdefault.jpg)

No frontmatter is needed unless the user asks for it.

Step 5: Commit

Stage and commit the new file:

git add "<filename>.md"
git commit -m "Add <short topic> note with YouTube link and hero image"

Run each git command as a separate Bash call (no chaining with &&).

Final report

After all steps complete, report:

  • The vault note filename
  • The i.ytimg.com thumbnail URL
  • The original YouTube URL

Comments

Markdown supported