From david-skills
Generates channel-consistent YouTube titles, descriptions, and tags from video transcripts using a brand guide. Requires user confirmation before publishing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/david-skills:youtube-content-opsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate titles, descriptions, and tags matching channel brand style.
Generate titles, descriptions, and tags matching channel brand style. All publish actions require user confirmation.
yutu CLI (eat-pray-ai/yutu) — read + write via YouTube APIyoutube_transcript_api CLI (pip install youtube-transcript-api) — transcript fetch onlyAt session start, detect mode:
yutu channel list --output json 2>/dev/null && echo "FULL" || \
(youtube_transcript_api --help >/dev/null 2>&1 && echo "READ_ONLY" || echo "NONE")
If any yutu command returns an auth error (token expired, invalid credentials, authError, 401, 403), stop the current task immediately. Do NOT:
web fetch, curl, or any other HTTP workaround to scrape YouTube pagesInstead:
yutu auth --credential client_secret.jsonThis applies to every step of the workflow — transcript fetch, video update, search, etc. An expired token is not a "find a workaround" situation; it is a "stop and ask the user to fix it" situation.
Check for ./[channel-name]-brand-guide.md. If missing, generate from recent videos and confirm with user. Template: references/brand-guide-template.md.
Full Access:
yutu caption list --videoId VIDEO_ID --output json
yutu caption download --id CAPTION_ID --file /tmp/caption.txt --tfmt srt
Read-Only (extract video ID from URL yourself — supports youtube.com/watch?v=, youtu.be/, shorts/, embed/):
youtube_transcript_api VIDEO_ID --languages en zh --format text
Fallback: ask user for transcript.
From transcript, extract topic, key highlights, target audience, keywords.
Apply brand guide tokens: title_format, title_separator, tone, banned_phrases, primary_tags, footer_full.
Generate:
Present content. Never publish without explicit user confirmation.
Full Access (after confirmation):
yutu video update --id VIDEO_ID --title "Title" --description "Description" --tags "t1,t2,t3"
Read-Only: User copies to YouTube Studio manually.
references/brand-guide-template.md — Brand guide formatreferences/brand-guide-generation.md — Auto-generation from channel historyreferences/yutu-commands.md — Full yutu CLI referencereferences/pre-publish-checklist.md — Review checklistnpx claudepluginhub thedavidweng/skillsGenerates YouTube metadata (title, description, tags, chapters) from a transcript, topic, or description. Useful for content creators optimizing video SEO.
Routes YouTube creator requests to 14 sub-skills for channel audits, video SEO, retention scripts, hooks, thumbnails, strategy, calendars, Shorts, analytics, monetization, competitors, repurposing, metadata, and ideas.
Plans YouTube videos with optimized titles, thumbnails, and hooks. Creates or reviews opening hooks for retention and generates production-ready video plans backed by research.