skills/nicepkg/ai-workflow/youtube-processor

youtube-processor

SKILL.md

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

Environment Method
Claude Code Local Python script (Step 1a)
Claude.ai / Mac Client API 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]
mission_areas: [BlackBelt, Powerhouse, Newsletter, Prototyping, Daily workflow, Skill building]
action_verdict: [Act now | Bookmark | Ignore | Research]
---

# [Video Title or Topic]

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

## Summary

[Your summary here]

## Mission Relevance

**Applies to:** [Tag which mission areas this content is relevant to]
- **BlackBelt** - Coaching program work
- **Powerhouse** - AI Amplified program / members
- **Newsletter** - The Little Blue Report
- **Prototyping** - Building leverage tools
- **Daily workflow** - Personal productivity
- **Skill building** - Improving the system itself

[Brief explanation of why it matters to each tagged area]

## Action Verdict

**Verdict:** [Act now | Bookmark | Ignore | Research]

[Specific recommendation and next step if applicable]

- **Act now** - Worth immediate attention. Next step: [specific action]
- **Bookmark** - Know it exists, use when relevant
- **Ignore** - Not applicable to Ed's mission
- **Research** - Needs more info before deciding

## Learning Triggers

[Any questions or opportunities this surfaces for Ed's system]

- **Questions raised:** [What this makes you wonder about]
- **Skill opportunities:** [Could this improve an existing skill?]
- **Newsletter angles:** [Story hook or insight for The Little Blue Report]
- **Follow-up research:** [Would a research-swarm help clarify something?]

---

## 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

Error Meaning What to Do
"Transcripts disabled" Creator turned off captions Video can't be processed
"No transcript found" No English captions available Try a different video
"Video unavailable" Private, deleted, or age-restricted Check 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

Version Date Changes
1.1 2026-01-03 Added Vercel API for Claude.ai/Mac client support
1.0 2026-01-02 Initial 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
Weekly Installs
4
Installed on
opencode3
cursor3
claude-code3
antigravity3
gemini-cli3
cline2