Communitygithub.com

upload-optimizer

Turns a video transcript into a ready-to-paste YouTube upload (titles, description, chapters, tags, pinned comment). Use when a video is ready to go live.

What is upload-optimizer?

upload-optimizer is a Claude Code agent skill that turns a video transcript into a ready-to-paste YouTube upload (titles, description, chapters, tags, pinned comment). Use when a video is ready to go live.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/beavermindai/beavermind-20-claude-skills/tree/main/skills/upload-optimizer

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Upload Optimizer

This skill writes everything a video needs on the upload screen: title options, the description, chapters, tags and a pinned comment. You paste in the transcript of the final cut. It reads the whole thing, maps the topic shifts and the strongest moments, and hands back blocks you can paste straight into YouTube Studio. Use it for every long-form upload: a planned video, a recorded webinar, a podcast episode, or a live session. If you only need the description and chapters, say so and it skips the titles.

Before you start

  1. Read the Business Context file first. Look for it in the Project knowledge or in this chat. Pull out: what you sell and to whom, the buyer you want to attract and the viewer you do not serve, the words your buyers use, the topics and search phrases your channel is known for, your links (booking page, free guide, website), whether you appear on camera, and your voice (including words you never use). Never ask for something the file already answers.
  2. Ask only for what is missing. Put every question in one short numbered message, four questions at most. Skip any item the file or the chat already answers. Priority order:
    • If there is no Business Context file and the chat does not say: "In one line: what do you sell, to whom, and are you on camera?" This counts toward the four.
    • The transcript of the final cut, and where it came from. Required. It must match the exact file you will upload. Best source: YouTube's own captions. Upload the final file as private or unlisted, wait for the automatic captions, then in YouTube Studio open Subtitles, pick the video, and on the Automatic track click Options, then Download. Second best: your editor's export of the finished edit. A transcript from the raw recording (a call recorder, a webinar platform) is timed to the uncut file, so every cut shifts all the times after it.
    • The one next step you want viewers to take (book a call, get the free guide, watch the next video) and its link. If there is no link yet, use [LINK].
    • The title, if you already chose one. A working title or a rough idea does not count. Treat it as no title and write proper options. Skip this question if the user asked only for the description, chapters or tags.
    • The video length. Only if the transcript has no timestamps.
    • Competitor titles. Only if web search is off, no title is given yet, and title options are needed: "Paste 3 to 5 titles you see ranking for this topic."
  3. Use a fallback for anything not asked or not answered. No business line: write the About line as "[About line: who you are and who you help]", take the audience from who the video speaks to, use the default tone (see Rules), assume you are on camera, and list each of these under Before you publish. No next step: use "[your next step]: [LINK]". No title: write title options. No video length: estimate it from the word count at about 150 spoken words a minute. No competitor titles: skip the field check and say so in one line.
  4. Check the transcript is whole and matches the cut. If it stops mid-sentence or is far shorter than the video, say so and ask for the full one. Chapters built from half a transcript are wrong. If it came from the raw recording and the video was edited, treat every timestamp as an estimate and list that under Before you publish. If you cannot tell where it came from, say so there too, and ask the user to check the first three chapter times against the video.

How it works

Work through the steps in order. Hand back only the blocks under "What you get", with no commentary between them.

Measure, do not guess. Skills run with code execution on. Measure every title you write, the tag list and the description with code (len() in Python) and show the measured count. A miscount of a few characters silently breaks a limit. If code is not available, count by hand, aim for the middle of each range, and mark the count "hand count".

Step 1. Read and map the transcript

Read all of it before writing a word. Note for yourself:

  • The promise: what the video delivers, in one sentence.
  • The main search phrase: the words a buyer would type to find this video. Take it from the transcript and the Business Context, not from generic trends.
  • The best moments, with timestamps: specific numbers, a story with a result, a surprising claim, a mistake admitted on camera.
  • Every clear topic shift, with its timestamp: a new concept, a new case study, a new step in a framework, a Q&A section, or a move from story to lesson.

Field check (only when you are writing title options): if web search is on, search the main phrase and read the titles of 5 to 10 videos on it, keeping each link. If it is off, use the titles the user pasted. If there are none, skip the check and write "Titles not checked against competitor videos." Use the field to make your titles stand apart, never to copy them. Never list a competitor title from memory.

Step 2. Title options

Write title options only when no title is given and the user wants the full package or asks what to call the video.

  • The user gave a title: use it exactly as written. If it breaks a rule below, add one line under Before you publish and do not change it. Titles picked with title-and-thumbnail in this pack already follow the same ranges.
  • The user asked only for the description, chapters or tags: skip this step. Go straight to Part 2, build the hook from the video's promise, and show the title line as "[your title]".

Write one title per lane, six lanes, so the user picks between real strategies and not six rewordings of one idea:

#LaneWhat it sells
1Case studyA specific result or situation
2BreakdownHow something works, step by step
3Operator lessonWhat you learned from running it yourself
4EconomicsThe revenue, cost or time angle
5MistakeWhat most people get wrong
6Inside viewBehind the scenes of a real system

A lane can stay empty. If the video gives a lane nothing honest to stand on, write one line instead, for example "#5 Economics: no honest title in this video (no cost or revenue point is made)". Never force a title to fill a lane. Forced lanes are where made-up results and numbers come from.

Title rules (for titles this skill writes, the same ranges as title-and-thumbnail):

  • 55 to 75 characters, measured. Punchy, not padded.
  • Put the main search phrase in the first 40 characters when it reads naturally. Phones and the suggested feed can cut the rest.
  • First person wherever it fits: "How I", "Why I", "I tested", "I replaced", "I stopped".
  • Earned, not claimed. It should sound like something a founder says after running the experiment, not before.
  • Specific numbers do the work, but only numbers said in the transcript or written in the Business Context. Never invent, round up or stretch a number.
  • Proven structures: "How I [did X] without [obstacle]", "I [did X]. Here's what happened.", "Why I [made a hard decision]", "Your [thing] costs [X]. [Better thing] costs [Y]."
  • "How to" only when no "How I" version fits.
  • Attract the buyer from the Business Context. Repel only the viewer the Business Context says you do not serve. If it does not say, repel freebie hunters and tool shoppers only, and never beginners unless the file says so. Many coaches sell to beginners.
  • Paid off in the video. Every title points to a specific moment in the transcript that delivers it. If you cannot name that timestamp, drop the title.
  • No clickbait and none of these words: insane, crazy, shocking, secret, hack.

Each title gets a thumbnail concept, because viewers read the title and the thumbnail as one unit:

  • Face: if you appear on camera, your face is in almost every thumbnail and the expression is the main signal. Match it to the title: certain, decisive, analytical, quietly surprised. Never shock or hype faces.
  • Text overlay: 2 to 4 words at most, bold, high contrast. Shorter is better. It must NOT repeat the title. It teases the punchline or names the tension the title leaves open.
  • Background: clean. A studio, a desk, a neutral wall. No clutter.
  • No generic topic imagery: no robots for AI, piles of cash for money, rockets for growth.
  • One prop at most (phone, laptop, printed sheet), and only if it adds direct meaning to the title.

Mark one option as your recommended pick with a one-line reason. Then stop and wait for the user to choose. If the user says "do everything" or "you pick", use your recommended option and say so in one line.

Step 3. Description

Build it in this order:

  1. The hook, 1 to 2 sentences. Say what the video breaks down and what the viewer will understand or be able to decide. Make them curious, not informed. Put the main search phrase in the first sentence. The first 150 or so characters show in search results and above the "more" fold, so they must stand alone. No emojis, no bullet points.
  2. One next step. A single call to action with its link, from the Business Context or the user. One only. More links split the click.
  3. The chapters from Step 4.
  4. One About line. Who you are and who you help, in one sentence, from the Business Context. If there is none, use the placeholder from "Before you start".

Style of the hook: "This video breaks down how I [did X] in a real [setting] and what actually drove the result. I walk you through the numbers, the context and the conditions that made it work."

Stay under YouTube's 5,000-character limit, measured. A founder's description rarely needs more than a few hundred words.

Step 4. Chapters

YouTube only shows chapters when the list starts at 00:00, has at least three timestamps in ascending order, and every chapter lasts at least 10 seconds. Always meet those rules.

When to start a new chapter:

  • Only at a clear topic shift: a new concept, a new case study, a new framework step, a Q&A section, or story turning into lesson.
  • Never for minor commentary, filler or a passing example.
  • Place each timestamp where the new topic starts, at the start of the sentence that opens it, not mid-thought.

How many:

  • Up to 30 minutes: at least 2 minutes apart (2 to 3 is ideal), 10 chapters at most.
  • Over 30 minutes: about one chapter every 4 to 6 minutes, 20 at most.
  • Q&A sections: one chapter per question only when each answer runs 2 minutes or more. Otherwise use one Q&A chapter named for its best question, for example "41:20 Q&A: what to charge for a first pilot".

Chapter titles:

  • 5 to 10 words. Idea-based, not label-based.
  • Each one creates curiosity or states the core idea of that segment.
  • The 00:00 chapter names the promise or the hook, not "Intro".
  • Never use: Introduction, Overview, More Examples, Conclusion, Discussion.

Weak: "05:40 Case study". Strong: "05:40 Why the second follow-up call closed the deal".

Special cases:

  • No timestamps in the transcript: estimate each position from where it falls in the text (about 150 spoken words a minute), scaled to the real video length. Mark every time as an estimate to check against the video before publishing.
  • Transcript from the raw recording of an edited video: keep the chapter breaks, but mark every time as an estimate and list it under Before you publish. Only a transcript of the final cut gives exact times.
  • Videos over an hour: use the 1:02:30 format.
  • Fewer than three real topic shifts: say chapters will not display and skip them. Never invent breaks to hit the minimum.

Step 5. Tags

  • 15 to 25 tags, comma-separated. No hashtags, no duplicates.
  • Measure the list as you will paste it, commas included, and keep it under 450 characters. YouTube's limit is 500, and it counts characters you do not see, such as quotes around tags that contain spaces.
  • Mix: the main search phrase, mid-tail phrases, problem phrases (the pain in your buyer's words), terms from your niche and offer, and common misspellings of names or terms said in the video.
  • Only tags that match what the video actually covers.
  • Keep this step fast. YouTube says tags play a small role in discovery and help most with misspellings. The title, the thumbnail and the first lines of the description do the heavy lifting.

Step 6. Pinned comment

You post this from your own channel right after the video goes live, then pin it. Give it one job:

  • Start the conversation: one specific question tied to the video's core tension, easy to answer in a few words. "Which one costs you more right now: no-shows or slow follow-up?" beats "What do you think?"
  • Point to the next step: one line sending ready viewers to the same call to action as the description, with the link.
  • Add something: a resource, a correction, or a detail you mentioned but did not show.

Rules: 1 to 3 short lines. The first line must stand alone, because on phones the rest hides behind "Read more". It should sound like you typed it. Write one recommended comment and one alternate that does a different job. If a pinned comment carries a call to action, it is the same one as in the description.

Step 7. Check before you hand it back

  • Every title this skill wrote measures 55 to 75 characters, and the measured count is shown. A title the user gave is unchanged.
  • Every title is paid off by a specific moment in the transcript, and its timestamp is named.
  • Empty lanes say why in one line. No lane is forced.
  • Every number in a title, description or comment appears in the transcript or the Business Context.
  • Every thumbnail overlay is 2 to 4 words and does not repeat its title.
  • Chapters start at 00:00, number at least three, sit at least 2 minutes apart, and stay within the cap for the video's length.
  • Estimated timestamps (no timestamps, or a raw-recording transcript of an edited video) are marked and listed under Before you publish.
  • The measured tag list is under 450 characters, and the measured description is under 5,000.
  • The description has exactly one call to action. If a pinned comment carries a call to action, it is the same one.
  • Missing links are shown as [LINK], never made up. A missing About line is the placeholder, never invented.

What you get

Use this structure every time. Normal formatted text, except the description, the tags and the pinned comment: put each of those inside its own plain code block so the user can copy it in one click.

Part 1. Title options (only when no title was given and the user did not ask for the description, chapters or tags alone; stop after this part and wait)

Title options for: [the video's promise in one line] Main search phrase: [phrase] Checked against: [number] competitor titles, with links or pasted by you. Or: Titles not checked against competitor videos.

#1 Case study: [full title] ([n] characters, measured)

  • Paid off at: [timestamp], [what is said there, in a few words]
  • Search angle: [the phrase a buyer would type, and why this title matches it]
  • Lever: [what it pulls on: proof, curiosity, fear of loss, a contrarian view]
  • Pulls in: [the viewer this title attracts]
  • Thumbnail: [visual and setting] | Text: "[2 to 4 words]" | Expression: [one word] | Why it pairs: [one line]

[Repeat for #2 Breakdown, #3 Operator lesson, #4 Economics, #5 Mistake, #6 Inside view. An empty lane is one line: #5 Economics: no honest title in this video ([why]).]

Recommended: #[n], because [one line]. Pick a title (for example "use #3") and I will build the full upload package around it.

Part 2. Upload package

Title: [final title] ([n] characters, measured). If the user asked only for the description, chapters or tags: [your title]

Description (code block):

[Hook, 1 to 2 sentences]

Chapters 00:00 [Chapter title] 02:40 [Chapter title] 05:15 [Chapter title]

[About line]

Tags (code block):

[tag one, tag two, tag three, ...]

Measured: description [n] characters | tags [n] characters

Pinned comment (code block):

[Recommended comment]

Alternate pinned comment ([its job]): [text]

Before you publish: [only what the user must check or fill in: estimated timestamps and why, [LINK] and About line placeholders, [your title] to fill, the on-camera assumption, a rule the user's own title breaks (one line, title left unchanged), numbers to confirm. Write "Nothing to check" if there is nothing.]

Rules

  • Read the whole transcript first. Titles and chapters written from the first ten minutes miss the best moment and misplace every break.
  • Match the final cut. Timestamps are exact only when the transcript comes from the file you upload. Otherwise they are estimates, and the output says so.
  • Never invent anything. No made-up numbers, results, client names, quotes or links. Use only the transcript, the Business Context and what the user gives you. Otherwise leave a clear placeholder like [LINK] or [client result].
  • Title gate. With no title, stop after Part 1 and wait for a pick, unless the user asked you to choose. If the user asked only for the description, chapters or tags, skip Part 1 entirely.
  • Keep the user's title. Use a given title exactly as written. Flag a broken rule under Before you publish. Never rewrite it.
  • Measure, do not guess. Titles, tags and the description are measured with code, and the counts are shown.
  • No commentary. No explaining what you are about to do, no notes between sections. Just the blocks.
  • No emojis anywhere.
  • No hype words: insane, crazy, secret, hack, game-changer, revolutionary, transformative, unleash, unlock, skyrocket. Also cut any word the Business Context voice bans.
  • Tone: use the voice in the Business Context. If there is none: calm, direct and confident, like a founder who already ran the numbers.
  • Serve the real buyer. Never push away the people who actually buy from you. Beginners are repelled only when the Business Context says you do not serve them.
  • Education before persuasion. Systems over tools. Results over features.
  • One call to action per upload. The description has exactly one. If a pinned comment carries a call to action, it is the same one.
  • Plain words. If a 12-year-old could not repeat the title after one read, rewrite it.
  • Stay on the upload screen. This skill does not write promo emails, social posts or scripts. To pick a title before you record, use title-and-thumbnail.

Part of the free 20-skill pack by Ruben Davoli at BeaverMind (beavermind.ai).

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

ai-board

Runs a costly, hard-to-undo decision (price, hire, offer, partner, spend) past 3 to 5 of 22 advisor methods, then rules once. Also for what would Buffett or Hormozi say, who to ask, show the board.

client-onboarder

Turns a new client

clip-finder

Finds and ranks the best clips in a video, podcast or webinar transcript, with or without timestamps. Use to pull highlights or pick what to repurpose into Shorts, Reels, TikToks or LinkedIn clips.

deal-autopsy

Finds where a sales call that didn

delegation-radar

Picks the next task to hand off using Buyback Rate math and a time and energy audit. Use when buried in admin or delivery, or asking what to delegate or who to hire.

funnel-doctor

Finds which step of your funnel loses people and gives you one fix. Use when leads, booked calls, show-ups or sales stall and you are not sure which step is to blame.

headline-lab

Diagnoses why a headline, subject line, cold email opener, ad or post hook is ignored, then rewrites it. Use for low open rates, few replies or clicks, or to write or check a new one.

market-researcher

Researches your market, competitors or any business question on the web, with a real source link on every claim. Use for competitor scans, market sizing, head-to-head comparisons or niche news.

mobile-checker

Scores your booking page on phones out of 100 and gives a ranked fix list. Use before you send traffic to a page, after a redesign, or when booked calls drop and most visitors are on mobile.

offer-stress-test

Stress-tests your offer and your price with the Value Equation and Grand Slam Offer test. Use when you set or raise a price, build or fix an offer, or prospects keep saying no.

price-guard

Writes a reply that holds your price when a prospect pushes back. Use for too expensive, discount or payment-plan asks, no budget, need to think, ask my partner, cheaper quote, gone quiet, call prep.

repurpose-engine

Turns one video transcript into a week of LinkedIn and Instagram posts (quote cards, carousels, captions), with your OK at each step. Use when you paste a transcript and want posts from it.

rival-breakdown

Breaks down competitor or rival videos from pasted transcripts (hook, awareness, persuasion, gaps) and outlines a better one. Use to analyze a competitor video, see why it took off or find the gap.

sales-page-fixer

Rewrites your sales page so more of the right people buy, using Ogilvy

script-writer

Writes a video script ready to record. Outline first, then every spoken line, fact-checked and clip-safe. Use for a YouTube video, short, course lesson or the teaching part of a webinar.

straight-answer

Gives one fast, straight answer when you

testimonial-builder

Turns a client interview or testimonial call into a hook-first testimonial video script, keep list and compliance check. Use to cut a testimonial, make a success-story clip or find its hook.

title-and-thumbnail

Turns a video idea into 6 title options, each with a matching thumbnail concept, before you record. Use when planning a YouTube video or asking what to call it or how it should look.

video-to-mail

Turns a new video into a ready-to-send promo email, with 4 subject lines and a resend subject for non-openers. Use when a video goes live and you want your email list to watch it.

Related Skills