New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Turn a YouTube video idea into a designer-ready thumbnail

YouTube Thumbnail Brief

by sergebulaev · MIT license · ★ 36 on GitHub · updated Sep 17

YouTube Thumbnail Brief cover

Turn a YouTube video idea into a designer-ready thumbnail brief: focal subject, face and emotion, a text overlay of 4 words or fewer that the title does not repeat, contrast and composition, and 2 to 3 A/B concepts for Test and Compare.…

---
name: yt-thumbnail-brief
description: "Turn a YouTube video idea into a designer-ready thumbnail brief: focal subject, face and emotion, a text overlay of 4 words or fewer that the title does not repeat, contrast and composition, and 2 to 3 A/B concepts for Test and Compare. Built on 2026 principles (one focal point, legible at 120 pixels, complements the title). Outputs the brief plus the Publora attach step (the image upload itself is out of band). Use to plan a thumbnail. Not for title words (use yt-title-optimizer)."
---

# YouTube Thumbnail Brief

This skill does not generate an image. It writes the brief a human designer (or
an image tool) executes, grounded in what actually drives the click in 2026, and
documents how a custom thumbnail gets attached when you auto-publish.

## When to use

- User says "what should the thumbnail be for this video"
- User wants a brief to hand to a designer or paste into an image generator
- User wants 2 to 3 thumbnail concepts to A/B test
- User is auto-publishing and needs the thumbnail upload steps

Overview

This skill does not generate an image. It writes the brief a human designer (or an image tool) executes, grounded in what actually drives the click in 2026, and documents how a custom thumbnail gets attached when you auto-publish.

Manual install (npx, ZIP)
Claude Codenpx skills add sergebulaev/youtube-skills --skill yt-thumbnail-brief -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/sergebulaev/youtube-skills/tar.gz/0e0a8cae2a7c \ | tar -xz -C ~/.claude/skills --strip-components=4 youtube-skills-0e0a8cae2a7c/.codex-marketplace/youtube-skills/skills/yt-thumbnail-brief
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/fe01341550adf39f12a6/yt-thumbnail-brief.zip" -OutFile "$env:TEMP\yt-thumbnail-brief.zip"; Expand-Archive "$env:TEMP\yt-thumbnail-brief.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md5.6 KB
  • references/1 file · 2.7 KB
Read the files here
sergebulaev/0e0a8ca2 files
Shared references3SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text111 lines

YouTube Thumbnail Brief

This skill does not generate an image. It writes the brief a human designer (or an image tool) executes, grounded in what actually drives the click in 2026, and documents how a custom thumbnail gets attached when you auto-publish.

When to use

  • User says "what should the thumbnail be for this video"
  • User wants a brief to hand to a designer or paste into an image generator
  • User wants 2 to 3 thumbnail concepts to A/B test
  • User is auto-publishing and needs the thumbnail upload steps

What the brief contains

For each concept the skill outputs:

  • Concept name and the angle it sells (and how it complements the title).
  • Focal subject: a face plus the specific emotion, or the object/result.
  • Text overlay: the exact words (4 or fewer), and where they sit. Never the same words as the title.
  • Background and contrast: color, lighting, and how the subject separates.
  • Composition: rule-of-thirds placement, gaze direction, crop.
  • 120-pixel test note: what must still read when shrunk to mobile size.

Steps

  1. Gather inputs. The title (so the thumbnail complements, never repeats it), the video's payoff and emotional tone, whether there is a face available, the single most visual moment or result, and long-form vs Short. If a URL is given, parse it with lib/url_parser.py.
  2. Split the load with the title. Decide what the title already says and make the thumbnail carry the rest (the face/emotion, the result, the object). List the split explicitly.
  3. Write 2 to 3 concepts. Vary one big element between them (face vs object, text vs no text, color), not five small things, so the A/B test is readable. Each concept fills the six fields above.
  4. Apply the non-negotiables. One focal point, a legible real emotion, high contrast, 4 words or fewer of text, and it must read at 120 px. Flag any concept that risks failing the shrink test.
  5. Recommend the lead concept for YouTube's Test & Compare and say why.
  6. Hand off the brief. The user gives it to a designer or an image tool. This skill writes words, not pixels.
  7. If auto-publishing, give the upload flow (see below). Otherwise the user sets the thumbnail in YouTube Studio.

The thumbnail flow (auto-publish)

A custom thumbnail cannot be set on create-post because the thumbnail upload needs a postGroupId first. The order is:

  1. Create the video post as a draft (create-post, no scheduledTime) -> returns the postGroupId.
  2. Upload the thumbnail image out of band. Publora requires the thumbnail to be a tracked media asset from its dedicated YouTube thumbnail endpoint (JPEG or PNG, max 2 MB, 1280x720 recommended). That upload is not wired into this bundle: do it in the Publora dashboard (or via the dedicated endpoint once available). The generic get-upload-url media flow is not accepted for thumbnails. The upload returns a mediaId and url.
  3. Attach it: call update-post with platformSettings.youtube.thumbnail = {mediaId, url} (the lib.PubloraClient.set_thumbnail(post_group_id, media_id=, url=) helper wraps this attach step). This is the part the bundle automates.
  4. Schedule the post.

So this skill outputs the thumbnail brief plus the attach instructions, not a one-call thumbnail upload. If you do not have a tracked {mediaId, url} yet, ship the video without the custom thumbnail and set it in YouTube Studio.

Constraints: the channel must be verified; the apply is best-effort (a rejected thumbnail does not block the video, it just ships without the custom one); and you cannot change the thumbnail while the post is processing.

Hard rules

Global voice rules: see root SKILL.md Voice rules. Additional skill-specific rules:

  • Text overlay is 4 words or fewer, and never repeats the title's words.
  • One focal point per concept. Two competing subjects halve the click.
  • The emotion on a face must match the video. A shocked face on a calm tutorial is a broken promise the retention graph punishes.
  • Every concept must pass the 120-pixel mobile read test.
  • Always produce 2 to 3 concepts, each varying one big element.

Anti-patterns (skill will refuse)

  • Repeating the full title as the thumbnail text.
  • A face with a fake exaggerated expression that the video does not earn.
  • A busy collage with no single focal point.
  • Tiny text or full sentences that vanish at 120 px.
  • A thumbnail showing a moment that is not in the video.
  • Punctuation in overlay text, em dashes included (a 3-word overlay is read at thumbnail size; it carries words, not clauses).

Resources

  • ../../references/thumbnail-principles.md - the full design language and the upload flow
  • ../../references/algorithm-heuristics.md - packaging, CTR, Test & Compare
  • references/brief-template.md - the fill-in brief a designer or image tool can execute
  • yt-title-optimizer - the other half of the click; build them as a pair
  • yt-hook-scripter - the spoken open should match the thumbnail's emotion
  • yt-content-planner - pair titles and thumbnails across a week
1---
2name: yt-thumbnail-brief
3description: "Turn a YouTube video idea into a designer-ready thumbnail brief: focal subject, face and emotion, a text overlay of 4 words or fewer that the title does not repeat, contrast and composition, and 2 to 3 A/B concepts for Test and Compare. Built on 2026 principles (one focal point, legible at 120 pixels, complements the title). Outputs the brief plus the Publora attach step (the image upload itself is out of band). Use to plan a thumbnail. Not for title words (use yt-title-optimizer)."
4---
5 
6# YouTube Thumbnail Brief
7 
8This skill does not generate an image. It writes the brief a human designer (or
9an image tool) executes, grounded in what actually drives the click in 2026, and
10documents how a custom thumbnail gets attached when you auto-publish.
11 
12## When to use
13 
14- User says "what should the thumbnail be for this video"
15- User wants a brief to hand to a designer or paste into an image generator
16- User wants 2 to 3 thumbnail concepts to A/B test
17- User is auto-publishing and needs the thumbnail upload steps
18 
19## What the brief contains
20 
21For each concept the skill outputs:
22 
23- **Concept name and the angle** it sells (and how it complements the title).
24- **Focal subject:** a face plus the specific emotion, or the object/result.
25- **Text overlay:** the exact words (4 or fewer), and where they sit. Never the
26 same words as the title.
27- **Background and contrast:** color, lighting, and how the subject separates.
28- **Composition:** rule-of-thirds placement, gaze direction, crop.
29- **120-pixel test note:** what must still read when shrunk to mobile size.
30 
31## Steps
32 
331. **Gather inputs.** The title (so the thumbnail complements, never repeats it),
34 the video's payoff and emotional tone, whether there is a face available, the
35 single most visual moment or result, and long-form vs Short. If a URL is
36 given, parse it with `lib/url_parser.py`.
372. **Split the load with the title.** Decide what the title already says and make
38 the thumbnail carry the rest (the face/emotion, the result, the object). List
39 the split explicitly.
403. **Write 2 to 3 concepts.** Vary one big element between them (face vs object,
41 text vs no text, color), not five small things, so the A/B test is readable.
42 Each concept fills the six fields above.
434. **Apply the non-negotiables.** One focal point, a legible real emotion, high
44 contrast, 4 words or fewer of text, and it must read at 120 px. Flag any
45 concept that risks failing the shrink test.
465. **Recommend the lead concept** for YouTube's Test & Compare and say why.
476. **Hand off the brief.** The user gives it to a designer or an image tool. This
48 skill writes words, not pixels.
497. **If auto-publishing, give the upload flow** (see below). Otherwise the user
50 sets the thumbnail in YouTube Studio.
51 
52## The thumbnail flow (auto-publish)
53 
54A custom thumbnail cannot be set on `create-post` because the thumbnail upload
55needs a `postGroupId` first. The order is:
56 
571. Create the video post as a **draft** (`create-post`, no scheduledTime) ->
58 returns the `postGroupId`.
592. **Upload the thumbnail image out of band.** Publora requires the thumbnail to
60 be a tracked media asset from its dedicated YouTube thumbnail endpoint (JPEG
61 or PNG, max 2 MB, 1280x720 recommended). That upload is **not wired into this
62 bundle**: do it in the Publora dashboard (or via the dedicated endpoint once
63 available). The generic `get-upload-url` media flow is not accepted for
64 thumbnails. The upload returns a `mediaId` and `url`.
653. Attach it: call `update-post` with
66 `platformSettings.youtube.thumbnail = {mediaId, url}` (the
67 `lib.PubloraClient.set_thumbnail(post_group_id, media_id=, url=)` helper wraps
68 this attach step). This is the part the bundle automates.
694. Schedule the post.
70 
71So this skill outputs the thumbnail **brief plus the attach instructions**, not a
72one-call thumbnail upload. If you do not have a tracked `{mediaId, url}` yet, ship
73the video without the custom thumbnail and set it in YouTube Studio.
74 
75Constraints: the channel must be **verified**; the apply is **best-effort** (a
76rejected thumbnail does not block the video, it just ships without the custom
77one); and you cannot change the thumbnail while the post is `processing`.
78 
79## Hard rules
80 
81Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific
82rules:
83 
84- Text overlay is 4 words or fewer, and never repeats the title's words.
85- One focal point per concept. Two competing subjects halve the click.
86- The emotion on a face must match the video. A shocked face on a calm tutorial
87 is a broken promise the retention graph punishes.
88- Every concept must pass the 120-pixel mobile read test.
89- Always produce 2 to 3 concepts, each varying one big element.
90 
91## Anti-patterns (skill will refuse)
92 
93- Repeating the full title as the thumbnail text.
94- A face with a fake exaggerated expression that the video does not earn.
95- A busy collage with no single focal point.
96- Tiny text or full sentences that vanish at 120 px.
97- A thumbnail showing a moment that is not in the video.
98- Punctuation in overlay text, em dashes included (a 3-word overlay is read at thumbnail size; it carries words, not clauses).
99 
100## Resources
101 
102- `../../references/thumbnail-principles.md` - the full design language and the upload flow
103- `../../references/algorithm-heuristics.md` - packaging, CTR, Test & Compare
104- `references/brief-template.md` - the fill-in brief a designer or image tool can execute
105 
106## Related skills
107 
108- `yt-title-optimizer` - the other half of the click; build them as a pair
109- `yt-hook-scripter` - the spoken open should match the thumbnail's emotion
110- `yt-content-planner` - pair titles and thumbnails across a week
111 
View all files on GitHub →

Details

Updated
Sep 17, 2026
License
MIT
Stars on the repo
★ 36
Checked
Source
sergebulaev/youtube-skills ↗
Creator
sergebulaev · 77 listings
View creator

Similar skills

See all →
SkillDesign a high-CTR YouTube thumbnailMuapi youtube thumbnailSamurAIGPT/Generative-Media-Skills · by SamurAIGPTDesign a high-CTR YouTube thumbnail — striking imagery, bold text placement, and emotional face/subject if needed.★ 4.3k GitHub starsSkillGenerate a branded YouTube thumbnail from a video titlecharlie947/social-media-skills · by charlie947Generate a branded YouTube thumbnail from a video title. Uses a reference photo of the creator, high-CTR thumbnail principles, and brand colours to produce a ready-to-generate image prompt for Gemini. Use this skill whenever the user says "thumbnail", "youtube thumbnail", "build me a thumbnail", or wants a video cover image before writing the script. The thumbnail-first workflow mirrors the graphic-first approach for LinkedIn: sells the video before anyone hears a word of the script.★ 3.7k GitHub starsSkillGenerate article or newsletter thumbnail candidatesThumbnail Creator Skill (via Gemini)mohitagw15856/pm-claude-skills · by mohitagw15856Generate article or newsletter thumbnail candidates using the Gemini API from inside Claude Code. Claude reads article copy, proposes composition concepts, writes image generation prompts incorporating brand specs, calls Gemini to generate the images, evaluates the results via computer vision, and returns ranked candidates with rationale. Use when asked to create thumbnails, generate cover images, or produce visual candidates for an article or newsletter.★ 1.4k GitHub starsSkillPlan, write, and publish for YouTube and YouTube ShortsYouTube Marketing Skillssergebulaev/youtube-skills · by sergebulaevPlan, write, and publish for YouTube and YouTube Shorts. Use when the user wants high-CTR video titles, an SEO description with chapters and links, a first-30-seconds retention script (or a 3-second Shorts hook), a designer-ready thumbnail brief, a community-tab post or poll, or a weekly upload plan. The user supplies the video; the skills produce the title, description, hook, and thumbnail brief, then on approval upload and schedule via the Publora API.★ 36 GitHub starsSkillGenerate high-CTR YouTube thumbnails using Nano Banana ProGenerate youtube thumbnailnovoads/agent-skills · by novoadsGenerate high-CTR YouTube thumbnails using Nano Banana Pro via the Novoads API. Handles reference image upload, character likeness alignment, proven CTR-tested prompt formulas, and bounded batch generation. Use when the user asks to create a YouTube thumbnail, video thumbnail, A/B test thumbnail variations, or refers to thumbnail design with their face, brand assets, or product photos.★ 23 GitHub starsPromptA vertical social media thumbnail comparing an impressionistYouTube Thumbnail - AI Realism Thumbnail: Girls with LanternsYouMind-OpenLab/awesome-gpt-image-2 · by VideoProc AIA vertical social media thumbnail comparing an impressionist oil painting of two girls with lanterns to its photorealistic AI-generated recreation.New listing

More from sergebulaev

SkillBy density per paragraph, not per wordAI Tells — Complete Blacklist (V3, 2026-09)sergebulaev/linkedin-skills · by sergebulaevScored the way readers read: by density per paragraph, not per word. One marker in a paragraph is English. Three is a signature. The…★ 3.1k GitHub starsSkillFifteen rules from the linkedin-humanizer packageAI-Tell Rules: Tier-Classified Referencesergebulaev/linkedin-skills · by sergebulaevFifteen rules from the linkedin-humanizer package, sorted by what kind of evidence each one actually represents.★ 3.1k GitHub starsSkillPattern data from MagicPost LinkedIn analysisEmoji Patterns — AI vs. Humansergebulaev/linkedin-skills · by sergebulaevPattern data from MagicPost LinkedIn analysis (Feb 2026, viral post with 220 engagement).★ 3.1k GitHub starsSkillRead your Instagram niche and profile from real dataInstagram Audience Insightssergebulaev/instagram-skills · by sergebulaevRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).★ 138 GitHub starsSkillDraft an Instagram caption with the hook in the first 125Instagram Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillPlan an Instagram carousel slide by slide, up to 10 slidesInstagram Carousel Plannersergebulaev/instagram-skills · by sergebulaevPlan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer).★ 138 GitHub stars