From release
Extract and analyze YouTube video content (transcripts + metadata). Use when the user explicitly requests to analyze, summarize, extract wisdom from, or get context from a YouTube video. Supports wisdom extraction, summary, Q&A prep, key quotes, and custom analysis. Does NOT auto-trigger on YouTube URLs - only when analysis is explicitly requested.
npx claudepluginhub fairchild/dotclaude --plugin skill-creatorThis skill uses the workspace's default tool permissions.
Extract transcripts and metadata from YouTube videos for analysis.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Extract transcripts and metadata from YouTube videos for analysis.
--no-save to skip)Run from the skill directory (~/.claude/skills/youtube-content/):
uv run ~/.claude/skills/youtube-content/scripts/fetch_youtube.py "https://youtube.com/watch?v=VIDEO_ID"
Options:
--metadata-only - Skip transcript extraction--transcript-only - Skip metadata extraction--with-segments - Include timestamped segments (for quote extraction)Output: JSON with {video_id, metadata, transcript, errors}
By default, transcript contains only text and language. Use --with-segments when timestamps are needed (e.g., Quotes mode).
youtube.com/watch?v=VIDEO_IDyoutu.be/VIDEO_IDyoutube.com/embed/VIDEO_IDyoutube.com/v/VIDEO_IDSelect based on user request:
| User Says | Mode | Action |
|---|---|---|
| "extract wisdom", "key insights" | Wisdom | See analysis-modes.md |
| "summarize", "TLDR", "overview" | Summary | See analysis-modes.md |
| "questions", "Q&A", "discussion" | Q&A | See analysis-modes.md |
| "quotes", "notable statements" | Quotes | Use --with-segments, see analysis-modes.md |
| Other specific requests | Custom | Apply user's instructions directly |
The script returns partial results when possible:
Check the errors array in output for any issues.
For video analysis that shouldn't block the main conversation, spawn a background subagent:
Task(
subagent_type: "general-purpose",
prompt: "Read ~/.claude/skills/youtube-content/SKILL.md and follow the workflow.
Analyze this YouTube video: {url}
Mode: {wisdom|summary|qa|quotes}
Save to knowledge base: {yes|no}"
)
Analyses and raw transcripts are automatically saved to a knowledge base for future reference.
Set CLAUDE_KNOWLEDGE_DIR to customize storage location (default: ~/.claude/knowledge).
Saves both the analysis (markdown) and raw transcript (JSON):
echo '{"video_id": "...", "metadata": {...}, "transcript": {...}, "analysis": "..."}' | \
uv run scripts/save_analysis.py --mode wisdom --tags "ai,coding"
Output: {"saved": true, "analysis_path": "...", "transcript_path": "..."}
uv run scripts/search_knowledge.py --list # List recent
uv run scripts/search_knowledge.py "react" # Search keyword
uv run scripts/search_knowledge.py --tag ai # Filter by tag
$CLAUDE_KNOWLEDGE_DIR/youtube/
├── .gitignore # Ignores transcripts/
├── index.md # Quick reference
├── analyses/
│ └── 2025-12-30_VIDEO_ID.md # Formatted analysis with frontmatter
└── transcripts/ # Raw data (gitignored)
└── 2025-12-30_VIDEO_ID.json # Full fetch output with transcript
Note: Raw transcripts are gitignored by default as they can be large and re-fetched from YouTube if needed.