qwwiwi/agentos-skills-public/yt-research
Claude Code and agent skill by qwwiwi/agentos-skills-public
- community
Checking that the SKILL.md file is still in the repository.
Research YouTube for content strategy — find what's taking off in a niche, scan competitor channels, rank videos by views and by view-velocity, read comments, see trending Shorts, and pull any video's transcript. Use this WHENEVER you need to research YouTube, find trending/viral videos on a topic, see what's blowing up on YT, scan a competitor's channel, get a YouTube video's transcript or 'what's in this video', or gather YouTube content ideas from what's working — even if the skill isn't named. Data comes from Loore (LOORE_API_KEY); the official YouTube Data API v3 (YOUTUBE_API_KEY) is an optional alternative for search, channels and comments. Never scrape YouTube from this machine.
Install
npx vskill@latest install qwwiwi/agentos-skills-public/yt-researchSKILL.md
yt-research — YouTube niche & competitor radar
Find what's taking off on YouTube in your niche, scan competitor channels, rank by virality, read comments and pull transcripts for analysis. Pairs well with an Instagram radar (e.g. reel-radar) and an X radar — this is the YouTube leg.
Where the data comes from. YouTube data is read only through Loore (default, docs: https://docs.loore.ai) or the official YouTube Data API v3 (optional --api). Do not scrape YouTube from your own IP — no yt-dlp, innertube, oEmbed or transcript sites for data. yt-dlp is acceptable only to download a video file itself, and this skill does not need that.
Setup
Spend approval. Every Loore YouTube call is paid (search, channel, video, comments, trending: 1.5 credits per call; transcript: 2 credits, only when one is returned). An empty page or an upstream error is free. State the total cap in credits to the user once, and after their «yes» create a flow budget (valid 24 hours):
The scripts send spend_authorization_id with every paid call, including every next page. Without it Loore answers 428 needs_user_confirmation. On 429 the client waits Retry-After; when the window resets later than 120 seconds (daily budget), it stops with exit code 4 and prints when to rerun.
MCP instead of scripts. The same operations are MCP tools on https://mcp.loore.ai/mcp (header Authorization: Bearer <key>): yt_search, yt_channel, yt_channel_videos, yt_channel_shorts, yt_video, yt_comments, yt_transcript, yt_trending_shorts (yt_search ↔ POST /v1/yt-search). Full list: https://docs.loore.ai/mcp/tools.
When to use
- "What's taking off on YouTube about <niche>?"
- "Scan these competitor channels — what's working for them?"
- "What are people saying under this video?"
- "Get the transcript / what's in this video <url>?"
- Gathering proven content ideas before planning a video.
1. Niche search + ranking (Loore yt_search)
--by views(default) — top by absolute views.--by velocity— by view-velocity (views / days since upload). The best "rising right now"
signal: a fresh video with high daily velocity matters more than an old one with big-but-slow totals. Search dates are approximate (YouTube shows «3 weeks ago»); rows without a date are enriched automatically.
--enrich— exact upload date, likes, comments (yt_video) and channel subscribers
(yt_channel, once per channel). One paid call per video — run on short lists.
- Filters map to
yt_searchparameters:--upload-date(today / this_week / this_month /
this_year), --sort (relevance / popular), --length (under_3_min / between_3_and_20_min / over_20_min), --region (two-letter code), --type (videos / shorts).
- Pages follow
nextCursoruntil--limitis reached (at most 5 pages per search or channel).
2. Scan competitor channels (Loore yt_channel_videos / yt_channel_shorts)
Pulls the latest N long-form videos (or, with --shorts, the newest Shorts) of each channel and ranks them — so you see which formats are firing for a competitor right now. Handle with or without @, or a UC… channel id.
Trending Shorts (Loore yt_trending_shorts)
About 48 Shorts trending on YouTube right now, one call.
Channel base — references/watchlist.json
Keep a persistent base of tracked channels in references/watchlist.json (ships as a template — fill it with your own niche). Each entry: handle, name, url, channel_id, subs, lang, niche, cadence, note, added. Run the radar over the whole base in one line:
Add a channel: read it with Loore yt_channel (by handle, UC… id or any channel link) — name, subscribers, video totals, country, keywords:
then append an object to channels[] (niche from recent titles, cadence from recent upload dates).
3. Comments under a video (Loore yt_comments)
Output: likes | replies — author: text. With --json each comment also carries replies_token; read a thread with python3 scripts/_loore.py call yt-comments '{"replies_token": "<token>"}'.
4. Transcript of a video (Loore yt_transcript)
- Public captions of any video or Short, any length (no AI transcription). Long transcripts come
in windows (truncated / nextOffset); the script reads them all.
textprints a# title — channelheader (oneyt_videocall) and the plain transcript;
json prints {video_id, language, transcript, metadata}.
- More options (timestamps, caption language, original audio only, no header) —
python3 scripts/yt_transcript.py --help.
- No captions → exit 4 and the list of caption languages the video has.
- The official YouTube Data API cannot download captions of other people's videos (
captions.download
works only for videos you can edit), so there is no API alternative for transcripts.
Then extract key points, compare competitors' narratives, and build the structure for your own video.
5. YouTube Data API v3 (optional alternative)
Official path for search, channel videos and comments. Enable with --api; reads YOUTUBE_API_KEY from the environment and sends it in the X-goog-api-key header (never in a URL or command line).
Setup (once): in Google Cloud, enable YouTube Data API v3 → create an API key → export YOUTUBE_API_KEY. Free quota: 10,000 units/day (search.list = 100 units/request ≈ 100 searches/day; channel, video and comment reads ≈ 1 unit each). Not available on this path: Shorts lists, trending Shorts and transcripts (use Loore).
Output
Default — a numbered list: views | velocity/day | duration — title + a channel — url line. With --json — an array of objects (id, title, channel, views, likes, comments, duration, upload_date, velocity, url, plus channel_subs after --enrich) for downstream analysis or writing to your base.
How to read it (content strategy)
- High velocity on a fresh video = a topic on the rise → candidate for your plan now.
- High absolute views on an old one = evergreen → a base topic, not urgent.
- Compare the winners' format / title / length — that's what works in the niche.
- Transcript of a top video → extract the structure and points; don't copy, do it better in your voice.
Limits & notes
- Public data only — no private analytics of someone else's channel (only the owner has that).
--enrich/--by velocitymake one paid call per video — run on short lists, in batches.- Private analytics of YOUR OWN channel needs OAuth (YouTube Analytics API) — separate setup.
- Loore errors:
401key,402out of credits,403key not allowed this method,428spend
approval needed — the script stops with a hint; 429 waits or stops with a rerun time.
- The channel base (
references/watchlist.json) ships as a template — populate it with your niche.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/yt-research/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/qwwiwi/agentos-skills-public/yt-research)