Agent skill

Youtube Thumbnail

by hassancs91 in hassancs91/claude-youtube-editor

Dedicated YouTube thumbnail generator — interviews you for exactly the style elements you want (environment, text budget, extras, accent color), then renders high-contrast, vibrant, face-consistent…

MITAuto-check: notesMedia & Creative

Install Youtube Thumbnail

skills CLI
$ npx skills add hassancs91/claude-youtube-editor --skill youtube-thumbnail -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hassancs91/claude-youtube-editor youtube-thumbnail --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hassancs91/claude-youtube-editor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/thumbnail .claude/skills/youtube-thumbnail && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
youtube-thumbnail
GitHub stars
328
Token cost
~2.1k tokens
SKILL.md length
1,054 words
Files
2 (incl. references)
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Dedicated YouTube thumbnail generator — interviews you for exactly the style elements you want (environment, text budget, extras, accent color), then renders high-contrast, vibrant, face-consistent…

  • Works in 7 steps: Locate context → The interview (the point of this skill) → Confirm the words → …
  • You want to create
  • SKILL.md covers The baseline look (always on,…, The element menu (opt-in —…, The flow and Failure modes → fixes (learned…
  • Calls python; needs GEMINI_API_KEY

What it does

Youtube Thumbnail is an agent skill from hassancs91/claude-youtube-editor. Dedicated YouTube thumbnail generator — interviews you for exactly the style elements you want (environment, text budget, extras, accent color), then renders high-contrast, vibrant, face-consistent thumbnails with Nano Banana Pro and verifies every frame before showing it. Use whenever you want to create, redo, or iterate thumbnail variants for a video — "make a thumbnail", "new version of B", "more realistic", "less text", "put the app on the screen", "another angle for the test". Renders into…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/style-elements.md`).

It sits in Media & Creative, covering Social media graphics, Image generation and Video production. It works with YouTube and Google Gemini. The repository describes itself as: Record the talking head, Claude Code does the rest: the cut, the visuals, the voice, the sound effects, the thumbnail, and the YouTube upload. Every screen moment is built as… The licence is MIT.

When your agent uses it

  • You want to create
  • Iterate thumbnail variants for a video — make a thumbnail
  • New version of B
  • Put the app on the screen

Example prompts

  • “make a thumbnail”
  • “new version of B”
  • “more realistic”
  • “/youtube-thumbnail”

Requirements

  • Python 3
  • A credential in GEMINI_API_KEY

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Locate context
  2. The interview (the point of this skill)
  3. Confirm the words
  4. Build the prompt
  5. Render
  6. Verify (every render, before the user sees it)
  7. Iterate

What it can do on your machine

Read from SKILL.md and the folder at commit a6ac742. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GEMINI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Youtube Thumbnail loads about 2.1k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 166 tokens; SKILL.md has 1,054 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~166
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:57
    /faces/README.md`), `GEMINI_API_KEY` in `.env`.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hassancs91/claude-youtube-editor at commit a6ac742, republished under its MIT licence (© hassancs91). 1,054 words, ~2,149 tokens.

Download SKILL.mdSave it as .claude/skills/youtube-thumbnail/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
youtube-thumbnail
description
Dedicated YouTube thumbnail generator — interviews you for exactly the style elements you want (environment, text budget, extras, accent color), then renders high-contrast, vibrant, face-consistent thumbnails with Nano Banana Pro and verifies every frame before showing it. Use whenever you want to create, redo, or iterate thumbnail variants for a video — "make a thumbnail", "new version of B", "more realistic", "less text", "put the app on the screen", "another angle for the test". Renders into videos/<project>/packaging/thumbs/. Works standalone or as the render engine for Stage 5 of /packaging (which owns titles, bets, and descriptions).

YouTube Thumbnail Generator

Turns a thumbnail concept into rendered, verified frames — with the style built from an element menu you pick from, not a fixed template. One number matters: CTR.

Division of labor: /packaging decides what to bet on (one fixed title, 3 distinct thumbnail levers, honesty checks). This skill decides what the frame looks like and renders it. Run standalone for iteration ("give me a new B"), or let packaging Stage 5 delegate here. Both inherit two non-negotiables from packaging:

  • Honesty guardrail — the frame must promise only what the video keeps.
  • Loud-vs-calm — thumbnails are deliberately louder than brand.md. Never tone down to match the in-video brand.

The baseline look (always on, never asked about)

Every render, regardless of selections: high contrast (deep darks OR clean brights, never flat) · vibrant saturated color with one accent doing the work · clear focal hierarchy (headline → hero object → face, three steps max) · big high-energy positive face from the media/library/faces/ kit · premium, clickable finish — crisp edges, no clutter · every text element perfectly spelled and razor sharp.

These came from a real before/after CTR comparison (the "Image 13" guide, 2026-08): the flat, low-contrast, no-hierarchy frame lost to the bold high-contrast hierarchical one ~4.4x on views. The axes are always-on; the decorations below are strictly opt-in.

The element menu (opt-in — this is what you ask about)

Exact prompt language for every element lives in references/style-elements.md. Summary:

ElementWhat it isCost
single-hookONE text element, huge (word or number)the default; cleanest
tiered-headlinesmall white italic context line + huge green grunge power line+1 text block
stickertilted yellow badge, black caps, red underline, arrow to the hero+1; ≤2 short words or it garbles
checkstripslim bottom strip, 3 green-check benefits+3 micro-texts; busy fast
brush-tagbrush-stroke tag at strip end (e.g. WITH CLAUDE)+1
results-fanfan/burst of result cards from the hero (pure imagery, no lettering)busy-frame risk
glow-burstneon energy + particles radiating from the herocheap, usually worth it
real-logopass the actual logo file as a --ref so it renders faithfullyextra ref
real-app-screenpass a real UI screenshot as a --ref for the on-screen appextra ref; micro-text caveat

Environments (pick one): dark-studio (neon-on-black, dramatic) · real-office (candid DSLR look, anchored to the real room visible in the face refs) · bright-graphic (saturated studio composite, the classic loud style).

The flow

1 — Locate context

Project dir, existing packaging/thumbs/ (what letters/versions exist), the locked title if packaging ran (thumbnail text must never repeat it), face kit present (no kit → stop and ask, see media/library/faces/README.md), GEMINI_API_KEY in .env.

2 — The interview (the point of this skill)

Ask before generating — one AskUserQuestion round. Skip any axis the user already specified in their request; ask only what's still open.

  1. Environment — dark-studio / real-office / bright-graphic.
  2. Text budget — single-hook (recommended default) / headline-plus-one (tiered headline + at most ONE accent element) / full-kit (headline + sticker + checkstrip + tag — warn that it's the busy end; opt-in only).
  3. Extras (multi-select) — glow-burst, results-fan, real-logo, real-app-screen, a prop/object, none.
  4. Accent color — green (house default) / yellow / red / cyan.

Calibration note (real creator feedback, 2026-08): the default is MINIMAL text. The full-kit look was tried and rejected as "too much text"; high contrast + vibrant were explicitly kept. Never stack every element just because the guide contains them — each text block after the first must earn its slot.

3 — Confirm the words

Echo the exact hook text (and sticker/strip words if selected) before rendering. Check against the locked title: thumbnail text never repeats title words — the two combine into one message.

4 — Build the prompt

Assemble from references/style-elements.md blocks: labeled brief (Reference roles → Subject & Action → Composition & Hierarchy → Setting & Lighting → Text → Style), letter-by-letter spelling for every rendered word, positive framing with the one earned negation (sub-images carry no lettering/logos). Hardware rule: laptops/phones are "generic, plain dark bezel, no logos or lettering on the hardware" — otherwise you get a MacBook.

Show full SKILL.md (414 more words)Show less
5 — Render
venv/Scripts/python tools/gen_thumbnail.py --prompt-file videos/<p>/packaging/thumbs/<X>.txt \
    --out videos/<p>/packaging/thumbs/<X>.png --jpg --seed <N>
  • Default refs = the whole face kit. Any explicit --ref replaces that default — when passing a logo or app screenshot, re-include the face ref explicitly, and name each image's role in the prompt ("Image 1 = identity, Image 2 = the app").
  • real-app-screen source: pull a frame from the project's baked preview with ffmpeg, crop to the window, save to media/projects/<p>/ (reusable, committed path) — never screenshot by hand if the beat already exists in the video.
6 — Verify (every render, before the user sees it)

Read the image back: hook spelled right + legible · face reads as the creator · one dominant focal element · bright/saturated/positive expression · hands sane (count fingers, no phantom limbs) · no stray lettering in sub-images · hardware unbranded · honesty (screen/props match the real product) · 16:9, JPG <2MB. Fix-and-rerender before surfacing; flag anything borderline honestly (e.g. micro-text garble in a real-app screen).

7 — Iterate
  • Letters are bets, numbers are dressings (A, A2, D3…): a new concept gets a new letter; a restyle/refinement of the same lever bumps the number. One A/B/C test slot per letter family.
  • Before overwriting <X>.txt/.png, preserve the old one as <X>-v1.*.
  • Hold --seed to iterate composition-stable; change seed to explore. Change one thing at a time.
  • Restitch the labeled contact sheet (thumbs/_ABC-set.jpg) after every accepted render so the set is always comparable at browse-wall scale.

Failure modes → fixes (learned on real renders)

SymptomFix
Sticker/badge word garbled≤2 short words per badge, letters spelled out (L-I-F-E-T-I-M-E); re-render
Checkstrip drops a checkmarkphrase as "each item a green circular checkmark immediately followed by…"
MacBook bezel / brand on hardware"generic slim laptop, plain dark bezel, no logos or lettering on the hardware"
Real app screen: micro-text garblesexpected — invisible at browse size; if it matters, blur-text reroll or perspective-warp the real screenshot in post
Face color cast (purple/green hand or skin)name the light: "warm skin tones preserved; the screen adds only a faint cool glow"
Clone/double renders a stranger"BOTH men in this image are this exact man" + give the double a distinct material (wireframe, hologram)
Office looks genericanchor it: describe the real room visible in the face ref (wall color, plant) and say "match the real office behind him in Image 1"
Word spelled right but flat/pastedgrunge texture + soft outer glow + hard drop shadow, restate "razor sharp"

Model ids, API details, template history: .claude/skills/packaging/references/thumbnail-generation.md. Worked examples (proven prompts): videos/video-1/packaging/thumbs/*.txt — A2 (bright-graphic

  • full kit + real logo), B (dark-studio outcome scene), C (dark-studio clone), D2 (real-office
  • full kit), D3 (real-office + single-hook + real-app-screen).

© hassancs91, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in .claude/skills/thumbnail of hassancs91/claude-youtube-editor.

  • SKILL.md
  • references/style-elements.md

Open the folder on GitHubat commit a6ac742

Compare with similar skills

Youtube Thumbnail next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Youtube Thumbnail compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Youtube Thumbnail this skillhassancs91/claude-youtube-editor328—~2.1kAutomated safety check: NotesMIT
SEO Image GeneratorAgriciDaniel/claude-seo19k2 repos~2.1kAutomated safety check: PassMIT
Nano Bananakkoppenhaver/cc-nano-banana3781 repos~1.4kAutomated safety check: PassMIT
Smart Illustratoraxtonliu/smart-illustrator564—~1.8kAutomated safety check: PassMIT
Xiaohongshu Cover GeneratorVivixiao980/xhs-cover-skill204—~2.9kAutomated safety check: PassNone
Generate Youtube Thumbnailkrusemediallc/arcads-claude-code1.6k—~2.4kAutomated safety check: NotesMIT

Similar skills

  • SEO Image Generator

    AgriciDaniel/claude-seo

    Generates Open Graph previews, blog hero images, product photos and infographics for SEO use through Gemini image tools and the banana extension.

    19k GitHub starsUsed in 2 repos~2.1k tokens
    Media & CreativeAuto-check passed
  • Nano Banana

    kkoppenhaver/cc-nano-banana

    REQUIRED for all image generation requests. An agent skill from kkoppenhaver/cc-nano-banana.

    378 GitHub starsUsed in 1 repo~1.4k tokens
    Media & CreativeAuto-check passed
  • Smart Illustrator

    axtonliu/smart-illustrator

    Generates article illustrations, batch slide infographics and cover images from your text, using Gemini, Mermaid or Excalidraw engines and a prompt-only mode.

    564 GitHub stars~1.8k tokensUpdated 3 mo ago
    Media & CreativeAuto-check passed
  • Xiaohongshu Cover Generator

    Vivixiao980/xhs-cover-skill

    Creates and edits Xiaohongshu (RedNote) cover images from a portrait photo and text, using GPT Image 2 first and a Gemini CLI script as fallback.

    204 GitHub stars~2.9k tokensUpdated 4 mo ago
    Media & CreativeAuto-check passed
  • Generate Youtube Thumbnail

    krusemediallc/arcads-claude-code

    Generate high-CTR YouTube thumbnails using Nano Banana 2 via the Arcads external API.

    1.6k GitHub stars~2.4k tokensUpdated 18 days ago
    Media & CreativeAuto-check: notes
  • Picture It

    geongeorge/picture-it

    Generate and edit images from the CLI using picture-it. An agent skill from geongeorge/picture-it.

    132 GitHub stars~3.7k tokensUpdated 6 mo ago
    Media & CreativeAuto-check passed

More from hassancs91/claude-youtube-editor

All 8 skills in this repo
  • Brand Setup

    hassancs91/claude-youtube-editor

    Makes this repo's videos look like YOUR channel instead of the house default — interviews you for palette, fonts, wordmark, motion energy, delivery specs and SFX taste, then rewrites brand.md +…

    328 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Clean Cut

    hassancs91/claude-youtube-editor

    Step 1 of the AI Video Editor pipeline — turn raw talking-head footage into a clean master cut.

    328 GitHub stars~4.3k tokensUpdated 1 mo ago
    Auto-check: notes
  • Fake Screencast

    hassancs91/claude-youtube-editor

    Turn static SCREENSHOTS into a simulated screen recording (TSX) — a fake screencast with an animated cursor that eases to targets and clicks, a browser URL bar that updates per page, hard-cut…

    328 GitHub stars~2.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Make Tsx

    hassancs91/claude-youtube-editor

    Step 2 of the AI Video Editor pipeline — build the visual beats (Remotion TSX shots) over a project's master cut and bake a composited preview.

    328 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check: notes
  • Suggest Sfx

    hassancs91/claude-youtube-editor

    Step 4 of the AI Video Editor pipeline — the SFX pass. An agent skill from hassancs91/claude-youtube-editor.

    328 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed
  • Youtube Packaging

    hassancs91/claude-youtube-editor

    Generates click-optimized YouTube packaging — 3 thumbnail bets under one fixed title, engineered for YouTube's built-in A/B/C thumbnail test, plus a value-forward description, then renders the…

    328 GitHub stars~3.7k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Youtube Thumbnail

What does Youtube Thumbnail do?

Dedicated YouTube thumbnail generator — interviews you for exactly the style elements you want (environment, text budget, extras, accent color), then renders high-contrast, vibrant, face-consistent…. Youtube Thumbnail is an agent skill from hassancs91/claude-youtube-editor. Dedicated YouTube thumbnail generator — interviews you for exactly the style elements you want (environment, text budget, extras, accent color), then renders high-contrast, vibrant, face-consistent thumbnails with Nano Banana Pro and verifies every frame before showing it.

When should I use Youtube Thumbnail?

Youtube Thumbnail fits situations like: you want to create; iterate thumbnail variants for a video — make a thumbnail; new version of B; put the app on the screen.

How do I install Youtube Thumbnail in Claude Code?

Run `npx skills add hassancs91/claude-youtube-editor --skill youtube-thumbnail -a claude-code`. Or copy the skill folder (.claude/skills/thumbnail in hassancs91/claude-youtube-editor) into .claude/skills/youtube-thumbnail in your project. Claude Code loads it when a task matches its description.

How do I install Youtube Thumbnail in Codex?

Run `npx skills add hassancs91/claude-youtube-editor --skill youtube-thumbnail -a codex`. Or copy the skill folder (.claude/skills/thumbnail in hassancs91/claude-youtube-editor) into .agents/skills/youtube-thumbnail in your project. Codex loads it when a task matches its description.

Can I use Youtube Thumbnail in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hassancs91/claude-youtube-editor --skill youtube-thumbnail -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/youtube-thumbnail, .gemini/skills/youtube-thumbnail, .github/skills/youtube-thumbnail and .opencode/skills/youtube-thumbnail in your project.

What does Youtube Thumbnail need to run?

Going by SKILL.md and its folder, Youtube Thumbnail needs the command-line tools its instructions call (python) and credentials named GEMINI_API_KEY. Our summary lists: Python 3; A credential in GEMINI_API_KEY.

Does Youtube Thumbnail access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Youtube Thumbnail safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Youtube Thumbnail use?

Youtube Thumbnail is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Youtube Thumbnail use?

About 2.1k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.

What are the alternatives to Youtube Thumbnail?

Skills that share tags, products or a category with Youtube Thumbnail: SEO Image Generator (AgriciDaniel/claude-seo, 19k stars), Nano Banana (kkoppenhaver/cc-nano-banana, 378 stars), Smart Illustrator (axtonliu/smart-illustrator, 564 stars) and Xiaohongshu Cover Generator (Vivixiao980/xhs-cover-skill, 204 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Youtube Thumbnail?

hassancs91 (a GitHub user) maintains it in hassancs91/claude-youtube-editor, which has 328 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on August 18, 2026.

Source: hassancs91/claude-youtube-editor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.