mcpField
Y
youtube-processor

youtube-processor

github.com/nicepkgProductivity288101 installsUpdated 40w ago
Repository

About youtube-processor

youtube-processor is a skill for extracting YouTube transcripts, summarizing them, and formatting the results as Obsidian-ready notes. It supports transcript extraction through a Python script or an API endpoint, with summaries tailored to the requested purpose.

Key features

  1. 01Extracts YouTube transcripts
  2. 02Supports Python script and API extraction
  3. 03Creates quick or detailed summaries
  4. 04Formats notes for Obsidian
  5. 05Finds angles for newsletter content

Use cases

  1. 01Summarize a YouTube video
  2. 02Save video notes in Obsidian format
  3. 03Find newsletter ideas in a video

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nicepkg/ai-workflow --skill youtube-processor

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

Bundled files

References and scripts installed along with SKILL.md.

.gitignore
requirements.txt
TODO.md
vercel.json
api/
main.py
docs/
GUIDE.md
ROADMAP.md
examples/
sample-output.md
tools/
get_transcript.py
process_video.py
youtube_core.py

Details

From the project README

YouTube Processor

What This Does

Takes a YouTube URL, extracts the transcript, and you (Claude) summarize it. Outputs Obsidian-ready markdown. Zero friction: share a link, get actionable notes.

When to Use

  • "Summarize this video: [URL]"
  • "Turn this YouTube into notes"
  • "What's this video about?"
  • "Process this for my newsletter"
  • Any YouTube URL shared for processing

Location

This skill's tools live at:

/Users/eddale/Documents/GitHub/powerhouse-lab/skills/youtube-processor/tools/

How It Works

Step 1: Python extracts the transcript (no API key needed) Step 2: You (Claude) summarize using your intelligence + context Step 3: You write the Obsidian-formatted output

This approach means you can use mission-context, newsletter-coach, and other skills during summarization.


Instructions

Which Method to Use
EnvironmentMethod
Claude CodeLocal Python script (Step 1a)
Claude.ai / Mac ClientAPI via WebFetch (Step 1b)

Step 1a: Extract Transcript (Claude Code)

Run the Python tool to get the transcript:

cd /Users/eddale/Documents/GitHub/powerhouse-lab/skills/youtube-processor/tools && \
python3 get_transcript.py --url "[URL]"

For JSON output (easier to parse):

python3 get_transcript.py --url "[URL]" --json
Step 1b: Extract Transcript (Claude.ai / Mac Client)

Use the API endpoint via WebFetch:

WebFetch: https://youtube-processor-eight.vercel.app/transcript?url=[VIDEO_URL]

The API returns JSON:

{
  "success": true,
  "video_id": "abc123",
  "language": "en",
  "transcript": "...",
  "char_count": 5000,
  "word_count": 850
}

Example prompt for WebFetch: "Extract the transcript text from the response"


Step 2: Summarize the Transcript

Once you have the transcript, summarize it based on what the user needs:

Quick Summary:

  • Headline (1 sentence)
  • Key points (3-5 bullets)
  • Main takeaway

Detailed Analysis:

  • Headline summary
  • Key points with context
  • Main takeaways
  • Action items mentioned
  • How this relates to Ed's work (if relevant)

Newsletter Mining:

  • Hook ideas for an article
  • Core insight/framework
  • Story beats for anecdotes
  • Takeaways for readers
  • Newsletter angle for The Little Blue Report
Step 3: Format for Obsidian

Create markdown with this structure:

---
source: YouTube
video_id: [ID]
url: [URL]
processed: [YYYY-MM-DD HH:MM]
tags: [youtube, video-notes]
---

# [Video Title or Topic]

**Link**: [URL]
**Processed**: [Date]

## Summary

[Your summary here]

---

## Full Transcript

[The transcript]

---

_Generated by youtube-processor skill_
Step 4: Save (Optional)

Save to Ed's Zettelkasten:

/Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/

Filename format: YT - [Topic] - YYYY-MM-DD.md


Error Handling

ErrorMeaningWhat to Do
"Transcripts disabled"Creator turned off captionsVideo can't be processed
"No transcript found"No English captions availableTry a different video
"Video unavailable"Private, deleted, or age-restrictedCheck the URL

Examples

Example 1: Quick Summary

User says:

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

You do:

  1. Run: python3 get_transcript.py --url "https://www.youtube.com/watch?v=VIDEO_ID"
  2. Read the transcript output
  3. Provide a summary to the user
Example 2: Save to Obsidian

User says:

Turn this video into notes and save it: [URL]

You do:

  1. Extract transcript with the Python tool
  2. Summarize the content
  3. Format as Obsidian markdown
  4. Use Write tool to save to Zettelkasten
  5. Confirm: "Saved to [filepath]"
Example 3: Newsletter Mining

User says:

I want to write about this video for the newsletter: [URL]

You do:

  1. Extract transcript
  2. Analyze for newsletter angles (hooks, insights, story beats)
  3. Present the angles
  4. Offer to hand off to newsletter-coach skill

Integration Points

  • newsletter-coach: After extracting video insights, hand off for article development
  • mission-context: Use Ed's voice and style when summarizing
  • task-clarity-scanner: Action items from videos can be added to daily notes

Dependencies

The Python tool requires:

youtube-transcript-api

Install if needed:

pip3 install youtube-transcript-api

Version History

VersionDateChanges
1.12026-01-03Added Vercel API for Claude.ai/Mac client support
1.02026-01-02Initial build with transcript extraction

Notes & Learnings

  • youtube-transcript-api works without API keys
  • Most videos have auto-generated English captions
  • Claude doing the summarization is better than Python calling the API (can use context)
  • ~3-5 second transcript extraction for typical videos

Comments

Markdown supported