Labsco
vamsi-kodimela logo

Maagpi Youtube Workflow Skill

from vamsi-kodimela

Automate end-to-end youtube production pipeline for face less channels

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup

YouTube Content Workflow Skill

Claude Code npm version npm downloads Node >=18 License: MIT Platforms Privacy: never public PRs Welcome GitHub stars

YouTube Content Workflow is a Claude Code skill that turns a Notion content calendar into scheduled YouTube videos end-to-end: pick a channel, generate SUCCESS-framework titles, run NotebookLM deep research, generate an Explainer video in the channel's language, transcribe it, draft the description, build the thumbnail (preferring Nano Banana Pro), generate tags, and schedule upload β€” never public.

This repository is the source for the skill. After install it lives at ~/.claude/skills/youtube-content-workflow/ and is invoked via the /youtube-content-workflow slash command.

Skill

  • Trigger: /youtube-content-workflow
  • Install path: ~/.claude/skills/youtube-content-workflow/
  • State: local JSON cache (per-channel + per-run) + Notion (canonical)
  • Full docs: see SKILL.md for the complete phase-by-phase contract

Phase Reference

The skill runs five phases. Phases 2 and 3 fan out as parallel Agent subagents (one per topic). User gates batch sequentially.

PhaseWhat it doesMCPs called
0. Channel + contextProbe MCPs. Pick channel. Load (cache β†’ Notion) or capture (first-time) tone, audience, language, calendar DB.YouTube, Notion
1. Calendar readQuery Notion content calendar for topics whose Publish Date falls in your chosen range.Notion
2. Title genPer topic: 5 SEO + SUCCESS-framework titles (Heath, Made to Stick). User picks one.(LLM only)
3. Heavy pipelinePer topic: notebook β†’ deep research β†’ Explainer video β†’ download β†’ transcribe β†’ description β†’ thumbnail spec β†’ image gen β†’ tags β†’ save.NotebookLM, image gen, transcription
4. ReviewShow every topic's assets + thumbnail. Approve / regen / skip. Pick privacy: private (default) or unlisted.(UI gate)
5. UploadPre-flight assert (privacy != public, files exist, date in future). Schedule upload. Update Notion.YouTube, Notion

Example

A typical run for three topics in the next 7 days:

Copy & paste β€” that's it
> /youtube-content-workflow

[Phase 0]   channel = Main Channel (UCxxxxxxxx) β€” cache hit
[Phase 1]   3 topics found in date range 2026-04-30..2026-05-07
[Phase 2]   spawned 3 parallel title gens
            topic 1: 5 candidates β†’ user picked #2
            topic 2: 5 candidates β†’ user picked #4
            topic 3: 5 candidates β†’ user picked #1
[Phase 3]   spawned 3 parallel pipelines
            topic 1: notebook βœ“ deep research (8m 12s) βœ“ video (3m 4s) βœ“
                     transcript βœ“ description βœ“ thumbnail βœ“ tags βœ“
            topic 2: ...
            topic 3: ...
[Phase 4]   review topic 1: approved
            review topic 2: regen thumbnail β†’ approved
            review topic 3: approved
            privacy: private
[Phase 5]   pre-flight pass Β· uploaded 3 Β· all scheduled as private

βœ… run complete: ~/.claude/skills/youtube-content-workflow/state/runs/run-2026-04-30-a1b2c3/

State Layout

Copy & paste β€” that's it
~/.claude/skills/youtube-content-workflow/
β”œβ”€β”€ SKILL.md
β”œβ”€β”€ schemas/
└── state/
    β”œβ”€β”€ channels/
    β”‚   └── UCxxxxxxxx.json      # cached channel metadata (mirrors Notion)
    └── runs/
        └── run-2026-04-30-a1b2c3/
            └── <topic_slug>/
                β”œβ”€β”€ metadata.json
                β”œβ”€β”€ video.mp4
                β”œβ”€β”€ thumbnail.png
                β”œβ”€β”€ transcript.txt
                β”œβ”€β”€ description.txt
                β”œβ”€β”€ tags.json
                └── titles.json

Channel state is canonical in Notion and locally cached for speed. See schemas/notion-databases.md for the required Notion schema (YouTube Channels + Content Calendar).

Why this skill 🎯

  • Anti-hallucination by construction. Tool-sourced facts only, per-step output verification, language preservation. Never invents topics, calendar entries, or transcripts.
  • Parallel by default. Title gen and the heavy per-topic pipeline both fan out as subagent teams; user gates (title pick, review, privacy) batch sequentially.
  • Never public. Default privacy is private. unlisted requires explicit opt-in. A pre-flight assertion enforces this before every upload call.

Links

Relationship to existing skills

The legacy youtube-content-creator and youtube-notebooklm skills at ~/.claude/skills/ are left intact. This skill is a unified, MCP-first replacement. To retire the old ones, delete their directories and remove their CLAUDE.md entries manually β€” neither installer touches them.