YouTube Video Creation Workflow

This is the exact workflow I use to produce my YouTube videos, start to finish, plus the Claude Code skills behind each step. Every step that uses a skill has a copy-paste prompt you drop into Claude Code to recreate that exact skill from my GitHub. Install once at the top, or grab each skill step by step.

All the YouTube skills live in one pack: cc-youtube-content. The publishing dashboard ("Content Studio") is a separate Mini App you rebuild from a single prompt (covered in Step 8).

The big decision first: which lane?

Before any of this, understand what kind of video you are making. It changes everything about the effort.

  • Presentation-style - You take a topic and explain it over a set of slides. No live building. Example: "How to build an AI-first company" - 20 minutes of me walking through slides. This is what I lean on now, because my audience is decision-makers (CEOs, VPs) who want the thinking, not a tools tutorial.
  • Tutorial-style - You share your screen and actually do the thing live (e.g. building in Claude Code). This is much more work. Live demos are unpredictable, you sit through loading and failures, then cut it all out. Historically one tutorial video could take 2 days to prep, a full day to record, a full day to edit. One per week, max.

Pick your lane based on your audience. Solopreneurs who need to DO the work want tutorials. Decision-makers want presentations. Most of this workflow assumes presentation-style, which is the faster, more repeatable path.

One-time setup (install the whole pack)

Paste this into Claude Code once. It installs all 9 skills used across this workflow.

I want you to install the YouTube Content skill pack from GitHub. Run:

git clone https://github.com/bohdan-aif/cc-youtube-content.git /tmp/cc-youtube-content

cd /tmp/cc-youtube-content && ./install.sh --all

Then check I have these set up and help me add anything missing:

  • API keys in my ~/.zshrc: YOUTUBE_API_KEY, GEMINI_API_KEY, YOUTUBE_CHANNEL_ID (and optional SCRAPECREATORS_API_KEY)

  • Python deps: pip install google-api-python-client google-auth google-auth-oauthlib

  • ffmpeg: brew install ffmpeg

Then list every skill that got installed and tell me which ones still need setup from me.

If you would rather install skills one at a time, every step below has its own copy-paste prompt.

──────────────────────────────────────────

The workflow at a glance

PLAN                                         (once per quarter)

  └─ Brainstorm 10 videos with Claude Code + lay them on an Excalidraw board

PER VIDEO

  1. /write-script        ──►  draft, then revise all day until it's YOUR voice

  2. /generate-diagrams   ──►  whiteboard slide images ("create 20 slides")

  3. /gdrive-upload       ──►  Google Doc for your editor (script + slide cues)

  4. /script-to-teleprompter ─► spoken-only Google Doc for the teleprompter

  5. FILM                 ──►  read from Elgato Prompter (+ Screen Studio if tutorial)

  6. HAND OFF             ──►  video editor combines slides, voiceover, recordings

  7. Content Studio       ──►  paste transcript -> description + chapters + 1st comment

  8. /youtube-thumbnail   ──►  4 thumbnail options, pick one

Step 1 - Plan your content roadmap

Do this once per quarter (or every two months). The goal is consistency: pick the ONE message you want your channel to convey this quarter, then break it into a batch of videos that all push that message. Don't talk about gold in one video and voice agents in the next - viewers need a through-line.

What I actually do:

  1. Sit down with Claude Code and brainstorm a batch of videos around the quarter's message. I can brainstorm 2-3 videos at once - one message broken into steps.
  2. Drop them onto a whiteboard in Excalidraw (excalidraw.com): Day 1, Day 3, Day 5, Day 7, with a topic on each. These are topics, not final titles - writing titles takes too long at this stage. I just tag each as a hook video, a proof video, presentation vs tutorial, etc.
  3. Get roughly 10 videos planned ahead so you always have a roadmap. You can rethink the rest after the first few ship.

Optional skill: /research-brief finds what is already working on YouTube for a topic (top videos, gaps, search-intent titles) so your roadmap targets real demand.

Recreate the research skill - paste into Claude Code:

Install the research-brief skill from my YouTube content pack. Run:

git clone https://github.com/bohdan-aif/cc-youtube-content.git /tmp/cc-youtube-content

cd /tmp/cc-youtube-content && ./install.sh research-brief

Then confirm /research-brief is available and tell me if I need a YOUTUBE_API_KEY.

Use it: /research-brief "how to use AI agents for small business"

Tool: Excalidraw (free, browser) for the visual roadmap board.

Step 2 - Write and revise the script

Generate a first draft with Claude Code, then spend real time revising it. The draft will be a bit AI-written - the work is going through it and making it the message YOU actually want to convey. By the time you have revised it all day, it's your voice, which is exactly why reading it back from a teleprompter later still feels like you.

Skill: /write-script - writes a full script with hook options, retention structure, B-roll cues, and [DIAGRAM] / slide markers. It reads your brand voice and example scripts so it sounds like you.

Recreate this skill - paste into Claude Code:

Install the write-script skill from my YouTube content pack. Run:

git clone https://github.com/bohdan-aif/cc-youtube-content.git /tmp/cc-youtube-content

cd /tmp/cc-youtube-content && ./install.sh write-script

Then help me set up my brand voice file and 1-3 example scripts so it matches my voice, and confirm /write-script works.

Use it: /write-script (point it at your topic or a research brief). Then revise, revise, revise.

Step 3 - Generate the slides (whiteboard diagrams)

Once the script is final, I tell Claude Code to create the slides for the video - "create 20 slides for this video." Some slides get generated automatically from the script with no descriptions from me. These are the hand-drawn whiteboard-style images that go behind the voiceover.

Skill: /generate-diagrams - reads the [DIAGRAM] markers in your script and generates each one as a clean, hand-drawn whiteboard slide (16:9 PNG). This is the slide generator I use for YouTube.

Recreate this skill - paste into Claude Code:

Install the generate-diagrams skill from my YouTube content pack. Run:

git clone https://github.com/bohdan-aif/cc-youtube-content.git /tmp/cc-youtube-content

cd /tmp/cc-youtube-content && ./install.sh generate-diagrams

Then confirm /generate-diagrams works and tell me if I need a GEMINI_API_KEY and reference screenshots for the style.

Use it: /generate-diagrams from ./my-video/script.md

Add 2-5 reference screenshots of the whiteboard style you want - that's what makes the output look consistent instead of generic.

Step 4 - Send the script to your video editor (Google Doc)

I send my editor a Google Doc of the script with all the pointers baked in: "this is the hook, show this slide for this paragraph, show this slide next." My editor takes that Doc plus the slide images and puts the video together.

Skill: /gdrive-upload - turns a local script file into a clean, formatted Google Doc and gives you the shareable link.

Recreate this skill - paste into Claude Code:

Install the gdrive-upload skill from my YouTube content pack. Run:

git clone https://github.com/bohdan-aif/cc-youtube-content.git /tmp/cc-youtube-content

cd /tmp/cc-youtube-content && ./install.sh gdrive-upload

This skill creates Google Docs, so walk me through the one-time Google setup:

  • Create a project at console.cloud.google.com, enable the Google Drive API and Google Docs API

  • Create an OAuth client ID of type "Desktop app", download the JSON, save it as ~/.claude/.gdrive/credentials.json

  • Run: python3 ~/.claude/skills/gdrive-upload/authorize.py

Then upload a test file and give me the Google Doc link.

Use it: /gdrive-upload ./my-video/script.md

Google Drive setup is one-time.* After you run the authorizer once, this and the teleprompter skill just work.*

Step 5 - Make the teleprompter version

I make a second version of the script - spoken text only, no slide cues, no production notes - and upload that as its own Google Doc. I load it into a teleprompter (I use the Elgato Prompter, which sits in front of the camera) and read from it while looking straight down the lens. It is not noticeable: I'm reading, but it looks like I'm talking to you. It works because I wrote and revised the script myself, so it's genuinely my words.

This is the single biggest time-saver in filming. Before the teleprompter I'd re-say the same sentences over and over. Now what used to take 3 hours of filming takes about 1.

Skill: /script-to-teleprompter - strips a script down to spoken-only text and uploads it as a teleprompter Google Doc automatically.

Recreate this skill - paste into Claude Code:

Install the script-to-teleprompter skill from my YouTube content pack. Run:

git clone https://github.com/bohdan-aif/cc-youtube-content.git /tmp/cc-youtube-content

cd /tmp/cc-youtube-content && ./install.sh script-to-teleprompter

It uploads to Google Docs through the gdrive-upload skill, so make sure that one is installed and the Google authorizer has been run (see Step 4). Then make a teleprompter version of my latest script and give me the link.

Use it: "make a teleprompter version of this script"

Tool: Elgato Prompter (the teleprompter that mounts in front of your camera/lens).

Step 6 - Film

Read your teleprompter version into the camera.

  • Presentation-style: just talk through the script. The slides get layered in by your editor later.
  • Tutorial-style: also record your screen while you demo. I use Screen Studio - it auto-zooms when you click, so the recording looks edited the moment you stop. In post, your editor combines the screen recordings with your voiceover.

Gear, camera settings, audio, and lighting setup are all covered in my "Set Up Content Infrastructure*" video in the Client Acquisition section - I did the research so you don't have to. *

Step 7 - Hand off to your editor

Your editor gets:

  1. The Google Doc with the script + slide cues (Step 4)
  2. The slide images (Step 3)
  3. Your camera footage (and screen recordings if it's a tutorial)

They assemble everything. Rough cost: about $70 for a 20-minute video, around $160 for 40-60 minutes, roughly $100 on average. I recommend keeping videos around 20 minutes - they perform well and stay affordable.

Step 8 - Generate publishing assets (Content Studio)

Once the video is live, I generate everything I need to publish properly - description, chapter timestamps, and a pinned first comment - in one click instead of the 40 minutes it used to take me to scrub the video for chapter timestamps.

How I do it:

  1. On the published YouTube video, click More -> Show transcript. Copy the whole transcript (YouTube's native transcript has clean timestamps).
  2. Paste it into the Publishing tab of my Content Studio dashboard.
  3. Click Generate Publishing Assets. Out comes the description, the chapter timestamps ready to paste, and the first comment.

Content Studio is not a skill you clone from GitHub - it's a Mini App you rebuild from a single prompt.

Recreate the Content Studio dashboard:

*In the classroom, go to ****Claude Code Mini Apps -> ***Content Creation App. Copy the highlighted prompt on that page, paste it into Claude Code, and it builds the same dashboard for you - all the tabs and logic included. (You may need to plug in your own API key once it's built.)

** I would highly suggest that you just create a custom skill for your own channel description in your Claude Code so that it does all the publishing assets for you based on the video transcript. You can just do it once manually, give it an example of that description, and then every time you paste a transcript of your video to Claude Code, it will create the whole description for your video.*

*So you don't have to really recreate my content creation app because all the skills in this module replace the utility of it, but with higher quality, I'd say. *

Step 9 - Create the thumbnail

I generate thumbnails directly in Claude Code.

Skill: /youtube-thumbnail - generates 4 completely different professional thumbnail options (composited with your headshot) plus a comparison grid, then iterates on your favorite.

Recreate this skill - paste into Claude Code:

Install the youtube-thumbnail skill from my YouTube content pack. Run:

git clone https://github.com/bohdan-aif/cc-youtube-content.git /tmp/cc-youtube-content

cd /tmp/cc-youtube-content && ./install.sh youtube-thumbnail

Then help me add a headshot photo to the skill's assets and confirm I have a GEMINI_API_KEY set. Generate 4 thumbnail options for a test title.

Use it: /youtube-thumbnail "How I Replaced My Team with AI Agents"

A note on titles and search (do this while your audience is small)

YouTube is the second-largest search engine after Google, and your videos also show up in Google search results. While nobody knows your face yet, structure your title to answer a real search request ("How to integrate Custom GPT into your website"). People click because it solves their problem, not because of who you are - that's how you earn trust early. Later, once you're known, the title matters less because people click on YOU. The /generate-title skill helps here.

Recreate the title skill - paste into Claude Code:

Install the generate-title skill from my YouTube content pack. Run:

git clone https://github.com/bohdan-aif/cc-youtube-content.git /tmp/cc-youtube-content

cd /tmp/cc-youtube-content && ./install.sh generate-title

Then confirm /generate-title works.