Install
$ agentstack add skill-nevaaron-youtube-skill-youtube-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
YouTube Skill
Access YouTube channel analytics, video metadata, and transcripts via official Google APIs.
Triggers
Use this skill when the user asks about:
- YouTube stats, analytics, or performance
- Channel subscribers, views, or growth
- Video performance, views, or engagement
- YouTube Studio metrics
- Video transcripts or captions
- Top performing videos
- Audience demographics
- Traffic sources
- Revenue or monetization data
- "How are my videos doing?"
- "What videos performed best?"
- "When did I talk about X?"
- "Find clips where I mention X"
- "Search my videos for X"
- Content patterns or themes across videos
Prerequisites
Authentication must be set up first:
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_auth.py --setup
Commands
Channel Information
# Get channel stats (subscribers, total views, video count)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_channel.py info
# List recent videos
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_channel.py videos --max 20
# List videos by view count
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_channel.py videos --max 20 --order viewCount
# Search within channel (costs 100 quota units)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_channel.py search "topic keywords"
Video Details
# Get full video metadata
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_video.py details VIDEO_ID
# Get top comments
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_video.py comments VIDEO_ID --max 20
# Get transcript (plain text)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_video.py transcript VIDEO_ID
# Get transcript with timestamps
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_video.py transcript VIDEO_ID --timed
# Search for a specific moment in a video (returns timestamps + deeplinks)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_video.py transcript VIDEO_ID --search "keyword or phrase"
# Search with more surrounding context (default: 1 line either side)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_video.py transcript VIDEO_ID --search "phrase" --context 3
Transcript Library (Phase 2)
# Download all channel transcripts (one-time, then incremental)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_transcripts.py sync
# Force re-download all
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_transcripts.py sync --force
# Search across ALL your video transcripts
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_transcripts.py search "burnout"
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_transcripts.py search "creative block" --max 50
# List cached transcripts
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_transcripts.py list
# Get single transcript (uses cache or fetches)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_transcripts.py get VIDEO_ID
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_transcripts.py get VIDEO_ID --timed
Analytics
# Channel overview (last 28 days by default)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_analytics.py overview
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_analytics.py overview --days 7
# Top performing videos
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_analytics.py top-videos --days 30 --max 10
# Single video performance
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_analytics.py video VIDEO_ID --days 14
# Audience demographics (age/gender)
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_analytics.py demographics --days 28
# Traffic sources
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_analytics.py traffic --days 28
# Geographic breakdown
uv run ~/.openclaw/workspace/skills/youtube/scripts/yt_analytics.py geography --days 28
API Quota Notes
YouTube Data API has a daily quota of 10,000 units:
videos.list: 1 unit per callchannels.list: 1 unit per callsearch.list: 100 units per call (use sparingly)commentThreads.list: 1 unit per callcaptions.list: 50 units per callcaptions.download: 200 units per call
YouTube Analytics API has separate, generous quotas.
Transcript Support
Transcripts work for any public YouTube video (yours or others) via youtube-transcript-api.
- Auto-generated captions: ✓
- Manual captions: ✓
- External videos: ✓ (cached locally for searching)
Note: Videos with captions disabled or region-locked will not have transcripts available.
Example Workflows
Weekly performance check:
uv run yt_analytics.py overview --days 7
uv run yt_analytics.py top-videos --days 7 --max 5
Deep dive on a video:
uv run yt_video.py details VIDEO_ID
uv run yt_analytics.py video VIDEO_ID --days 28
uv run yt_video.py comments VIDEO_ID --max 20
Content analysis:
uv run yt_channel.py videos --max 50 --order viewCount
uv run yt_video.py transcript VIDEO_ID
Find when you talked about something:
# First sync (one-time setup)
uv run yt_transcripts.py sync
# Then search anytime
uv run yt_transcripts.py search "impostor syndrome"
# Returns: timestamps + direct YouTube links (youtu.be/VIDEO?t=SECONDS)
Content theme research:
uv run yt_transcripts.py search "motivation" --max 50
uv run yt_transcripts.py search "creativity" --max 50
# Cross-reference with top performers:
uv run yt_analytics.py top-videos --days 365
Research external videos:
# Get transcript from any public YouTube video
uv run yt_video.py transcript dQw4w9WgXcQ
# Cache it for future searching
uv run yt_transcripts.py get dQw4w9WgXcQ
# Now it's searchable alongside your own videos
uv run yt_transcripts.py search "keyword"
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: nevaaron
- Source: nevaaron/youtube-skill
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.