Install
$ agentstack add skill-theveller-claude-skills-youtube-search ✓ 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
YouTube Search Skill
Search YouTube for videos and return structured results using yt-dlp.
Trigger
Use this skill when the user wants to:
- Search YouTube for videos on a topic
- Find top YouTube videos about a query
- Research what's popular on YouTube about a subject
- Get video metadata (views, channel, duration, description) for analysis
How to Use
When triggered, call the Bash tool to run yt-dlp with the search query.
Basic Search
yt-dlp "ytsearch10:{QUERY}" \
--dump-json \
--no-download \
--flat-playlist \
--no-warnings \
2>/dev/null
Each line of output is a JSON object. Parse and return structured results.
Result Fields to Extract
From each JSON object, extract:
id→ YouTube video IDtitle→ Video titleurl→ Full URL:https://www.youtube.com/watch?v={id}view_count→ Number of views (may be null for search results)channel→ Channel namechannel_url→ Channel URLduration→ Duration in seconds (convert to MM:SS)description→ First 300 chars of descriptionupload_date→ Date in YYYYMMDD formatlike_count→ Likes (may be null)
Output Format
Return results as a structured markdown list:
## YouTube Search Results: "{query}"
Found {N} videos
| # | Title | Channel | Views | Duration |
|---|-------|---------|-------|----------|
| 1 | [Title](URL) | Channel Name | 1.2M | 12:34 |
...
### Full Details
**1. [Video Title](URL)**
- Channel: Channel Name
- Views: 1,234,567
- Duration: 12:34
- Published: 2024-03-15
- Description: First 300 chars...
Parameters
query— Search query string (required)limit— Number of results (default: 10, max: 50)sort_by— Sort preference:relevance(default),views,date
Notes
- yt-dlp is installed at
/opt/homebrew/bin/yt-dlp - Search results may not include view counts (YouTube API limitation with yt-dlp search)
- For view counts, a second pass fetching individual video metadata may be needed
- If view counts are needed:
yt-dlp --dump-json "https://www.youtube.com/watch?v={id}"
Example Usage
User: "Search YouTube for the top 5 videos about Claude Code MCP servers"
yt-dlp "ytsearch5:Claude Code MCP servers" --dump-json --no-download --flat-playlist --no-warnings 2>/dev/null
Parse JSON output → return structured table + details.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: TheVeller
- Source: TheVeller/claude-skills
- License: MIT
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.