Agent skill

youtube-processor

Process YouTube videos into summarized Obsidian notes. Use when given a YouTube URL to summarize, extract insights, or turn videos into notes. Triggers on "summarize this video", "process this YouTube", "what's this video about", or any YouTube URL shared for processing.

Stars 149
Forks 27

Install this agent skill to your Project

npx add-skill https://github.com/nicepkg/ai-workflow/tree/main/workflows/content-creator-workflow/.claude/skills/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:

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

For JSON output (easier to parse):

bash
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:

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:

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

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:

bash
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

Expand your agent's capabilities with these related and highly-rated skills.

nicepkg/ai-workflow

workflow-creator

Create complete Claude Code workflow directories with curated skills. Use when user wants to (1) create a new workflow for specific use case (media creator, developer, marketer, etc.), (2) set up a Claude Code project with pre-configured skills, (3) download and organize skills from GitHub repositories, or (4) generate README.md and AGENTS.md documentation for workflows. Triggers on phrases like "create workflow", "new workflow", "set up workflow", "build a xxx-workflow".

149 27
Explore
nicepkg/ai-workflow

add-new-skills-to-workflow

Add new skills to an existing workflow and update all related documentation. Use when user wants to add skills from GitHub URLs to a workflow (e.g., "add this skill to the workflow", "为工作流添加技能"). Triggers on adding skills to workflows, updating workflow documentation after skill additions.

149 27
Explore
nicepkg/ai-workflow

remove-old-skills-from-workflow

Guide for removing skills from an existing workflow and updating all related documentation. Use when user wants to remove skills from a workflow (e.g., "remove skill", "delete skill", "移除技能", "删除技能").

149 27
Explore
nicepkg/ai-workflow

legacy-to-ai-ready

Transform legacy codebases into AI-ready projects with Claude Code configurations. Use when (1) analyzing old projects to generate AI coding configurations, (2) creating CLAUDE.md, skills, subagents, slash commands, hooks, or rules for existing projects, (3) user wants to enable vibe coding for a codebase, (4) onboarding new team members with AI-assisted development, (5) user mentions "make project AI-ready", "generate Claude config", or "create coding standards for AI".

149 27
Explore
nicepkg/ai-workflow

skill-downloader

Download and install Claude Code skills from various sources. Supports GitHub repositories, compressed archives (.zip, .tar.gz, .skill), and direct URLs. Use when user wants to download, install, or add a skill from GitHub, URL, or archive file. Triggers on "download skill", "install skill", "add skill from", "get skill".

149 27
Explore
nicepkg/ai-workflow

skill-creator

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

149 27
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results