Skip to content
Automation
Skill

/generate-visual

Generate on-screen visuals for Ben van Sprundel's YouTube videos using Higgsfield. Same brand system as the thumbnails (charcoal + coral, dot-grid, flat-stylized icons, bold uppercase text), but optimized for in-video slides shown during a tutorial. Use when the user says

From plugin
benai-skills
62152 skills17 agents1 hook4 MCP
Install
$ npx -y skills add naveedharri/benai-skills --skill generate-visual --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/generate-visual

Context preview

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

Generate on-screen visuals for Ben van Sprundel's YouTube videos using Higgsfield. Same brand system as the thumbnails (charcoal + coral, dot-grid, flat-stylized icons, bold uppercase text), but optimized for in-video slides shown during a tutorial. Use when the user says

SKILL.md

generate-visual.SKILL.md
name: generate-visual
description: >
  Generate on-screen visuals for Ben van Sprundel's YouTube videos using
  Higgsfield. Same brand system as the thumbnails (charcoal + coral, dot-grid,
  flat-stylized icons, bold uppercase text), but optimized for in-video slides
  shown during a tutorial. Use when the user says generate a visual, make a
  slide, on-screen graphic, video visual, explain this concept visually,
  progressive disclosure, step-by-step reveal, or shares a concept and asks
  for a slide to show during their video. Two modes: single (one slide from
  one prompt) and progressive-disclosure (N sequential frames where each
  builds on the previous by adding one element at a time, locking
  background/composition across the entire sequence). Saves per-video to
  Projects/youtube/{video-slug}/visuals/.
disable-model-invocation: true

Generate Visual

On-screen video visual generator. Takes a concept and produces either a single visual or a progressive-disclosure sequence in Ben's locked brand system.

Two Modes

`single`

One slide, one prompt, one call. Same flow as the thumbnail generate skill except no Ben in frame by default (slides are the visual the audience sees, Ben is talking over them). The supporting visual IS the hero.

Use when the user says: "make a slide showing X," "visual for this section," "one image of the concept."

`progressive-disclosure`

A sequence of N visuals (typically 2 to 6) where each frame adds one new element to the previous. The story unfolds as Ben clicks through them on-screen. Background, palette, composition, and previously-shown elements stay LOCKED across the entire sequence; the only change between frame K and frame K+1 is the ADDITION of one new piece.

Use when the user says: "progressive disclosure," "step-by-step reveal," "build this up across slides," "show the layers," "frame-by-frame walkthrough," or describes a concept that naturally unfolds in stages.

Implementation: iterative image-to-image. Generate frame 1 from a prompt. For frame 2, pass frame 1 as `medias[0]` and prompt the model to add element X. For frame 3, pass frame 2 (the just-generated image) as `medias[0]` and add element Y. Continue until all N frames are generated. This locks visual continuity because each frame is literally derived from the previous one. See `references/progressive-disclosure.md` for the full mechanic.

Inputs

What the skill needs from the user:

1. **Concept** — what the visual should show. ("The skills folder structure: SKILL.md plus references/ inside it") 2. **Mode** — `single` or `progressive-disclosure`. Inferred from the concept if not stated (multi-stage concepts default to progressive-disclosure). 3. **Number of steps** — only for progressive-disclosure (default 4, max 6). 4. **Video slug** — the topic-slug of the video this visual belongs to (used in the output path: `Projects/youtube/{video-slug}/visuals/`). Required. Ask once if missing. 5. **Reference image(s)** (optional but recommended, may be multiple) — past slides, sketches, screenshots, real logo PNGs, or anything that should anchor the look. All references must be READ first via the `Read` tool, then passed to `medias[]`. **If the user mentions a reference but doesn't provide a path or attachment, ASK for the path BEFORE doing anything else.** Do not guess, do not proceed, do not generate without seeing the path.

If the concept is vague or `video-slug` is missing, ask ONE combined question:

> "What's the video slug for this visual (e.g., `claude-code-skills-explained`), and what should the visual show?"

UX Rules

1. **One question max per run, only if a required input is missing.** 2. **No raw IDs in chat.** Save them to `manifest.md`. Show file paths and the per-frame summary. 3. **No internal jargon.** Don't narrate "generating frame 2 from frame 1...". The user sees images appear. 4. **Read references visually.** Use the `Read` tool on every reference image before building prompts. Extract palette, composition, motifs, lighting. Fold into the prompt. 5. **Detect language and respond in it.** Technical args stay English.

Brand System (locked, mirrors thumbnails)

Visuals use the same Ben AI thumbnail visual language documented in this skill's `references/visual-language.md` (which is a near-copy of the thumbnail-generate skill's version).

Defaults:

  • **Background**: deep charcoal `#1F1F1F` with subtle dot-grid texture (or cream `#F5E6D8` / solid coral `#E97B5D` for variety)
  • **Accent**: coral `#E97B5D` on folders, app icons, asterisk marks, key shapes
  • **Text**: pure white on dark, near-black on light, bold uppercase sans-serif (Inter Black style); editorial black serif (Playfair Display style) for wordmarks
  • **Render style**: supporting visuals are flat-stylized, NOT photoreal; any photographic element stays photoreal
  • **Layout**: visual is usually the hero, centered or composed for clarity. Ben is NOT in frame by default. Text is concise (2 to 4 words per line max)
  • **Aspect ratio**: always 16:9

If Ben should appear in the visual (rare for slides), use the latest `ben_reference_*.jpg` from `Projects/youtube/thumbnails/refs/` as `medias[0]` for that frame only.

Flow

Single Mode

1. Parse user message: concept, video-slug, references, mode. If a reference is mentioned but no path was provided, STOP and ask for the path before continuing.
2. READ every reference image visually using the Read tool on each file path. MANDATORY — do not skip even when you think you know what's in the image. Extract palette, composition, motifs, lighting, render style, any brand marks visible. State observations briefly in chat (one sentence per ref) so the user can verify you actually read them.
3. Load Ben AI thumbnail visual language defaults.
4. Build the prompt (4-block template adapted for slides: Scene, Hero Visual, Style, Negatives).
5. Generate ONE call: nano_banana_2, count: 1, aspect_ratio: "16:9", resolution: "2k". Pass any referen
Read more
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

Get the whole plugin

Other skills on benai-skills.