youtube-seo-audit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited youtube-seo-audit (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.
@handle, /channel/UC..., /c/name, ora video URL. Normalize to channel ID via API or WebFetch.
Without these, score only metadata and structure; label retention metrics as "unknown".
/about, /videos, /shorts, /playlists,/community, /featured. Extract:
channels.list?part=topicDetails)by views. For each: title, description, visible tags, view count, like count, comment count, duration, upload date, thumbnail URL, chapters.
youtube-seo-channel — identity, about, playlists, trailer, session chainsyoutube-seo-video — run on top 3 + bottom 3 performers (contrast analysis)youtube-seo-thumbnail — review last 12 thumbnails as a grid + SERP differentiationyoutube-seo-keywords — topical authority score + gap analysisyoutube-seo-competitor — detect 3-5 direct competitors + pattern extractionand measure concentration (entropy). High concentration = high authority on that cluster. Diffuse = weak algorithmic classification.
stddev + regular cadence = Browse feed promotion friendly.
one playlist; % of playlists with ≥5 videos; avg playlist view count.
YT-AUDIT-REPORT.md + YT-ACTION-PLAN.md to thecurrent directory.
| Category | Weight | Why |
|---|---|---|
| Retention & Watch Time (Tier 1) | 25% | Dominant ranking signal; only scorable with Studio CSV |
| Video Metadata Quality | 18% | Title, description, tags, chapters, entities, captions |
| Thumbnails (CTR) | 15% | Second-largest lever for impressions |
| Topical Authority | 12% | Channel classification strength |
| Content Strategy (cadence, format mix, length) | 10% | Browse feed friendliness |
| Channel Setup (identity, about, playlists) | 8% | Foundational but ceiling-limited |
| Discoverability (translations, captions, hashtags) | 7% | International + accessibility multiplier |
| Engagement (likes, comments, saves) | 5% | Secondary signal, correlates with above |
If Studio CSV is missing, Retention & Watch Time drops to 0 weight and other weights rescale proportionally — the report flags this explicitly.
intensity
presence, chapter presence
reclassify, topics to stop covering
youtube-seo-channelclassification (fix this week)
Each recommendation includes estimated impact and the Studio metric to watch after implementation.
First-party only. YouTube Data API v3, YouTube Studio CSV exports (user-provided), yt-dlp, YouTube suggest API, WebFetch on youtube.com, and the local helper scripts in scripts/. Do NOT pull data from SocialBlade, VidIQ, TubeBuddy, NoxInfluencer, HypeAuditor, or similar third parties — they rate-limit and error, which blocks the audit.
The seo-dataforseo MCP is OPTIONAL. If it is installed AND returns data cleanly, it may supplement SERP position checks. On any error, skip it silently and continue with native sources — do not retry.
Core principle: degrade gracefully, score what you can, flag what you can't, never fabricate Tier 1 numbers.
| Scenario | Action |
|---|---|
| Channel URL not resolvable | Try @handle, /channel/UC..., and /c/name forms; if all fail, ask user for the canonical URL |
| Fewer than 5 videos published | Skip metadata aggregation; focus on setup + strategy |
| API key missing or quota exhausted | Fall back to yt-dlp --flat-playlist -J for channel crawl; tags and topicDetails will be missing — note in report |
| WebFetch blocked on a page | Retry once with the /channel/UC... canonical form; if still blocked, skip that section and flag |
| Any optional tool (DataForSEO etc.) errors | Skip it, continue, do not retry — the audit must not depend on optional tools |
| yt-dlp transcript fetch fails | Retry with --sub-lang en.*,a.en; on second failure, skip transcript-dependent analysis for that video |
| No Studio CSV provided | Retention and CTR analysis skipped; rescale scoring weights and flag explicitly in the executive summary |
| Mixed-language channel | Segment metadata analysis per language before aggregation |
| MFK channel | Skip comment/engagement analysis (disabled); emphasize thumbnail + playlist |
| Partial sub-skill failure | Continue the audit with remaining sub-skills; list failed sections at the bottom of the report with their error codes |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.