From david-skills
Generates channel-consistent titles, descriptions, and tags for YouTube videos from transcripts. Uses yutu CLI for full read/write access or youtube_transcript_api for read-only. Auto-generates brand guide.
npx claudepluginhub thedavidweng/skillsThis skill uses the workspace's default tool permissions.
Generate titles, descriptions, and tags matching channel brand style.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Processes PDFs: extracts text/tables/images, merges/splits/rotates pages, adds watermarks, creates/fills forms, encrypts/decrypts, OCRs scans. Activates on PDF mentions or output requests.
Share bugs, ideas, or general feedback.
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")
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 checklist