Skip to content
Automation
Skill

/youtube-thumbnail

Generate on-brand YouTube thumbnails for Ben van Sprundel using Higgsfield in one shot. Use when the user says create a thumbnail, make a YT thumbnail, thumbnail for video, generate ben thumbnail, variation of last thumbnail, or shares a video concept and asks for a thumbnail.

From plugin
benai-skills
61152 skills17 agents1 hook4 MCP
Install
$ npx -y skills add naveedharri/benai-skills --skill youtube-thumbnail --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/youtube-thumbnail

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate on-brand YouTube thumbnails for Ben van Sprundel using Higgsfield in one shot. Use when the user says create a thumbnail, make a YT thumbnail, thumbnail for video, generate ben thumbnail, variation of last thumbnail, or shares a video concept and asks for a thumbnail.

SKILL.md

youtube-thumbnail.SKILL.md
name: youtube-thumbnail
description: "Generate on-brand YouTube thumbnails for Ben van Sprundel using Higgsfield in one shot. Use when the user says create a thumbnail, make a YT thumbnail, thumbnail for video, generate ben thumbnail, variation of last thumbnail, or shares a video concept and asks for a thumbnail. Auto-infers mode from the inputs (variation, new-with-ben, ben-plus-other, no-face), defaults to 3 variants, asks at most one question. On topic-driven runs it first researches what is working in the niche (VidIQ preferred, else Apify or the youtube connector), distills the winning patterns, and lets the user pick or mix before generating. Uses reference images as the identity anchor and anchors on the 10 most recent shipped thumbnails in references/brand-examples/. No Soul training required. Reads the locked style spec at Context/youtube-thumbnail-style.md if present. Real logos are never rendered; the thumbnail fills the frame edge-to-edge and the user composites the logo in post."
disable-model-invocation: true

YouTube Thumbnail Generate

One-shot thumbnail generation. Takes a concept (plus optional reference image and count), infers everything else, ships 3 variants and a manifest.

Inputs

Two things, ideally both in the user's first message:

1. **Concept**: what the thumbnail should show. A sentence or phrase. ("Claude Code Skills, why it changes everything for solo founders") 2. **Reference image(s)** (optional but recommended, may be multiple): a past thumbnail, a photo of Ben, a second subject, a style anchor, a real logo PNG, or any combination. Determines the mode AND all of them must be passed into the generation. Never silently drop a user-supplied reference; if they gave you one, it must end up in `medias[]`. If they gave you a LIST, read EVERY image in the list, then pass every relevant one (don't pre-select just one). Every reference image MUST be visually read with the `Read` tool before the prompt is built (see rule 2).

**If the user mentions a reference image but does not provide a path or attachment, ASK for the path BEFORE doing anything else.** Examples that require asking: "use my previous thumbnail as a ref" (which file?), "include the Anthropic logo" (where is the PNG?), "match this style" (which image?). Ask in one short line: *"Got it, what's the file path for the reference image?"* Do not guess, do not proceed, do not generate without seeing the path.

Optional third: **variant count**. Defaults to 3. Max 4.

If the concept is missing or genuinely unclear, ask ONE combined question:

> "What should the thumbnail show, and how many variations do you want? (default 3)"

Do not split into multiple questions. Do not ask about mode, model, or palette; all of that is inferred or read from the style spec.

Identity Anchor (no Soul required)

Every `new-with-ben` thumbnail uses a reference photo of Ben as the identity anchor, passed as `medias[0]`. The photo lives at `Projects/youtube/thumbnails/refs/ben_reference_{YYYY-QQ}.jpg`.

If the user did NOT attach a photo of Ben and there is no `ben_reference_*.jpg` in `refs/`, ask once for a photo. Without it, `new-with-ben` cannot produce a faithful Ben rendering.

If multiple `ben_reference_*.jpg` files exist, pick the most recent (highest `YYYY-QQ` suffix). Note which one was used in the manifest.

Mode Auto-Inference

| User attached | Concept hints | Mode | Model | Reference flow | |---|---|---|---|---| | 16:9 image that looks like a past thumbnail | "vary this", "tweak this", "redo with X" | `variation` | `nano_banana_2` | past thumbnail as `medias[0]` | | A portrait of Ben | Ben centered in the concept | `new-with-ben` | `nano_banana_2` | user-supplied photo as `medias[0]` | | Two images (Ben + something) | "Ben plus X" | `ben-plus-other` | `nano_banana_2` (multi-ref) | Ben as `medias[0]`, second subject as `medias[1]` | | No image | Object or abstract concept, no Ben | `no-face` | `nano_banana_2` (or `gpt_image_2` if concept centers on rendered text) | optional style anchor as `medias[0]` | | No image | Concept mentions Ben | `new-with-ben` | `nano_banana_2` | most recent `ben_reference_*.jpg` from `refs/` as `medias[0]`. If none, ask. |

`nano_banana_2` is the default model for every mode. Switch to `gpt_image_2` only when text rendering is the hero element of a no-face thumbnail.

Style Spec (silent)

Read `Context/youtube-thumbnail-style.md` if it exists; pull palette, framing library, expression library, lighting, prohibited list, and anchor refs. If it is missing or has `[FILL]` blocks, do not refuse: fall back to the locked Ben AI visual language in `references/visual-language.md` (the source of truth for palette, layout, framing, wardrobe, lighting, banned colors, prohibited elements, and logo handling). Surface a one-line note at the end (not before generation): "Style spec missing or incomplete; used the locked Ben AI thumbnail visual language."

UX Rules

1. **One question max per run, and only if a required input is missing.** Default everything else. 2. **No raw IDs in chat.** Save `job_id`s to the manifest. Show the user file paths and a one-line summary. 3. **No internal jargon.** Don't narrate "inferring mode...", "loading style spec...", "calling generate_image...". Just do it. 4. **Detect language and respond in it.** Technical args (hex codes, model names) stay English. 5. **Don't preview the prompt** unless the user asks. The 4-block prompt is internal. 6. **Don't suggest mode switches** unless generation fails. Trust the inference.

Flow

The whole loop is one chat turn. No intermediate confirmations.

1. Parse user message: extract concept, attached images, count.
2. Infer mode. For new-with-ben without an attached photo, pull the most recent ben_reference_*.jpg from refs/. If missing, ask once.
3. NICHE RESEARCH (topic-driven runs only). When the input is a video idea/topic and mode is new-with-ben, ben-plus-other, or no-face, run the research pass i
Read more
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

Get the whole plugin

Other skills on benai-skills.