youtube-seo-competitor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited youtube-seo-competitor (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Competitor analysis on YouTube is about pattern extraction, not imitation. Find what works, understand why, and apply the mechanism (not the surface form) to the user's channel.
If the user provides a competitor list → use it and add 1-2 mid-tier comparables. Otherwise derive competitors using only first-party sources (no third-party analytics tools — they rate-limit or error):
search.list?part=snippet&type=video&order=viewCount&q={keyword} for the user's 3-5 primary keywords. Cluster the results by channelId and pick the 5 channels that appear most often in the top 20.
-J` returns the same ranked list with channel IDs — no API key, no scraping.
relatedPlaylists +featuredChannelsUrls (brandingSettings) via the API. As a secondary signal, pull the top 10 videos' descriptions via fetch_channel.py and extract @handle / channel-URL mentions.
size (aspiration) and 2-3 within 2-5× (comparable).
If all of the above fail or the API quota is exhausted, ask the user for 3-5 competitor channel URLs directly rather than falling back to third-party scrapers.
For each competitor (use scripts/fetch_channel.py + API where possible):
topic IDs
the winners)
comment velocity
extraction)
#### Title patterns From the title corpus:
benefit / fear / authority / novelty
How I [Action] in [Time],[Number] [Thing] That [Outcome], I Tried [X] for [Time], The [Adjective] [Noun] Nobody Talks About. Deliver 3-5 formulas with source video examples.
#### Thumbnail patterns From the contact sheet:
in the niche?
#### Hook patterns (from transcripts) Extract the first 15 seconds of the top 5 videos per competitor:
pattern-interrupt / promise
or emotional beat hit?
authority?
viewer what they will get?
flag if competitors do this poorly (opportunity for the user)
#### Retention strategy inference (from pacing) From transcripts + video length:
keep attention?
#### Format-market-fit map For each competitor, classify their top videos by format:
Plot format × performance. Formats with disproportionately high median views are the competitor's "format-market-fit".
Plot upload cadence against recent 90-day view velocity:
active time if available)
| Keyword | You | Comp A | Comp B | Comp C | Opportunity |
|---|---|---|---|---|---|
| ... | ❌ | ✅ | ✅ | ✅ | HIGH — 3 competitors validated, user absent |
| ... | ✅ | ❌ | ✅ | ❌ | MEDIUM — defensible, few competitors |
| ... | ✅ | ✅ | ❌ | ❌ | LOW — user already covers, saturation moderate |
Extract the Knowledge Graph entities competitors mention most (from titles, descriptions, transcripts). Compare to the user's entity coverage. Entities with high competitor coverage and zero user coverage represent classification gaps.
Where does the user have a defensible advantage that competitors cannot or do not replicate? Sources of moat:
# {Competitor name} — {handle}
Subs: {N} | Videos: {N} | Joined: {date}
Topic IDs: {list}
Upload cadence: {median} days, stddev {X}
Format mix: {long %} / {shorts %} / {live %}
Median views/video (90d): {N}
Engagement rate: {%}
Top format: {format} ({X} of top 10 videos)
Winning title formulas:
- "{pattern}" — e.g. "{actual title}"
- "{pattern}" — e.g. "{actual title}"
Thumbnail style: {palette}, {face presence %}, {text treatment}
Hook pattern: {summary of first-15s strategy}
Retention strategy (inferred): {cuts/min, callbacks, B-roll density}As in step 5.
Entities mentioned by competitors ≥3x but NEVER by user:
- Entity 1 (topic cluster: X)
- Entity 2 (topic cluster: Y)
- ...Derived from keyword gaps × format-market-fit × moat. Each idea has:
youtube-seo-keywords)Concrete list of 3-5 defensible advantages with recommended content to lean into.
Testable hypotheses derived from patterns, e.g.:
haven't tried it. Expected lift: 2× median views if pattern holds."
youtube-seo-keywordsto score the keyword gap with the full opportunity formula.
youtube-seo-thumbnail for a side-by-sidecomparison of the user's top thumbnails against competitor top thumbnails.
| Scenario | Action |
|---|---|
| User has no clear competitors | Derive from top 3 target keywords instead |
| Mega-channel competitor only (>10M subs) | Note that tactics may not scale down; include a mid-tier comparable too |
| API quota exhausted | Switch to yt-dlp ytsearch20: mode; if still failing, ask user for a 3-5 channel URL list directly — do NOT use third-party scrapers |
| yt-dlp transcript fails | Retry with --sub-lang en.*,a.en (auto-caption fallback); if still failing, skip hook analysis with a note — do not guess |
| Channel private or has hidden subs | Analyze only public signals; label subscriber-dependent sections "unknown" |
| No API key | Use yt-dlp only; tags, topicDetails, channelKeywords unavailable — note gaps in the report rather than fabricating |
| WebFetch returns empty (bot detection) | Retry with the canonical /channel/UC... URL (more bot-friendly than /@handle); if still empty, ask user for channel description paste |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.