Skip to main content
skill CX Codex

generating-videos — Claude Code skill: what it does, how to install

Directs video briefs to suitable AI video models, maintains visual continuity across cuts, and joins rendered scenes into one output file.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add SupercmoHQ/superCMO-skills --skill generating-videos -a claude-code
Open on GitHub

What generating-videos does

This skill coordinates AI video generation from text briefs or reference assets. Before calling generation tools, the agent analyzes input media using image_analysis and video_analysis. When a product is present, it extracts fixed visual anchors, finishes, and dimensions to prevent the item from morphing across shots.

The system sets seedance-2.0-fast as its default model. It switches to seedance-2.5 for continuous shots longer than 15 seconds, routes dialogue requiring lip-sync to veo-3.1-fast, and uses kling-3.0-pro when a single character must remain consistent across separate angles.

Passing start_frame_image alongside any reference_* parameter is invalid because a start frame locks the opening composition exclusively. If an API call remains in pending status or times out, resubmission is blocked to avoid starting duplicate billed jobs.

What it helps with

  • route generation briefs to the optimal video model
  • preserve character and product continuity across multiple shots
  • stitch separate generated scenes into a single video file
  • trigger dedicated sub-workflows for UGC and product commercial ads

Example prompts for the agent

  • Generate a multi-clip video from this storyboard brief and join the scenes together.
  • Animate the product image bottle.png while keeping the label finish intact.
  • Produce a dialogue clip with accurate lip-sync using the Veo route.

How to install generating-videos

1Skills CLI (Vercel)

npx skills add SupercmoHQ/superCMO-skills --skill generating-videos -a claude-code

2Manually: put the files in place

~/.claude/skills/generating-videos/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/generating-videos/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about generating-videos

How to install generating-videos in Claude Code?

Run npx skills add SupercmoHQ/superCMO-skills --skill generating-videos -a claude-code. The skill file installs to ~/.claude/skills/generating-videos/SKILL.md.

What does generating-videos do?

It processes briefs, selects from models like Seedance, Veo, and Kling, builds model-specific prompts, and handles multi-clip storyboard continuity.

Can you combine a starting frame with style references?

No, start_frame_image works for a single clip only and cannot be paired with any reference_* parameter in the same call.

Source text

SKILL.md · Apache-2.0
---
name: generating-videos
description: ALWAYS read this skill before generating or animating any video, or calling video_generate — text-to-video, image-to-video, a start→end transition, or a reference / motion / audio-guided clip. Generates a video from a brief — one clip, or several clips joined into a single file at any length. Use when the user wants to make or generate a video, animate a photo, bring an image to life, produce b-roll, film a described scene, or move from one held frame to another. This skill should also be used when the video takes its motion or style from an existing video, or has to run to an existing audio track. 
license: Apache-2.0
metadata:
  version: "0.8.0"
  category: creative
  summary: "Routes your brief to the best of 10+ SOTA video models (like Veo, Seedance), writes detailed prompts as per model specifications and generates multi-clip stories that hold continuity across cuts, stitched into one file."
---

# Video Generation

Turn a brief into a video.

## Workflow

### Step 1: Read the brief and the media

**Look at everything the user supplied.** Run `image_analysis` on each image and `video_analysis` on
each video. Write down what each one shows — who is in it, where it is, how it is lit, how it is
framed — so the prompt matches it instead of describing something different. Send a product URL or
photo to `analyzing-products`. Skip an image you already know: you made it this turn, or you have
already analyzed it.

**Then read the brief**: how long the video runs, what happens in it, where it will be posted, and
whether anyone speaks.

**Where the video has a product, write one description of it** and reuse it unchanged in every
storyboard — rephrasing it between calls reads as a different product.

- **Material and finish**, surface by surface.
- **Size** — its width and height, and how it sits against a hand.
- **Two to five visual anchors** — features you can verify in the product image and nothing else:
  exact colours, the shape of a closure or handle, the gauge of a chain or strap, a surface finish, a
  distinguishing mark.
- **What may be done with each part** — which parts are fixed to it, and the whole of what the moving
  ones allow. Nothing later does anything to the product that isn't on this list.

**Don't transcribe what the label says.** Spelling out the printing invites the model to redraw it,
and redrawn text comes back warped.

### Step 2: Pick the model and load its parameters

**`seedance-2.0-fast` is the default** — the general-purpose workhorse; a weak result is usually the
prompt's fault, not the model's.

**The storyboard route always runs on `seedance-2.0-fast` unless the user named a model.** The table below
decides a single clip.

Reach past the default only on a clear signal:

| Reach for another model when the brief… | Model |
| --- | --- |
| Needs one unbroken shot longer than 15 seconds, or more than nine reference images | `seedance-2.5` |
| Needs spoken dialogue with lip-sync, the tightest prompt-following, or top cinematic quality | `veo-3.1-fast` |
| Is editing an existing clip — restyle it, add or replace an element, fix on-screen text — or hinges on legible on-screen text | `gemini-omni` |
| Must hold one person or character consistent across references or several shots | `kling-3.0-pro` |
| Has an edgy or sensitive subject Seedance would refuse, or wants the fastest, cheapest draft | `grok-imagine-video` |
| Is a high-volume or cost-sensitive batch where top quality isn't essential | `wan-2.7` |

When more than one fits, work down this list and stop at the first that applies:

1. The user named a model — use it.
2. The video takes the storyboard route — `seedance-2.0-fast`.
3. Seedance refused the brief (`nsfw` / `ip`) or keeps failing — use the fallback from the table.
4. The brief matches a row above — use that model.
5. Otherwise use `seedance-2.0-fast`. If two models tie, use the newer one.


Then **call `list_video_models` for the chosen model** and read its accepted modes, aspect ratios, durations, resolutions, and media — each validates its own subset, and you need these before writing the prompt.

### Step 3: Route

Take one of four paths:

- **The video is a UGC video** — a creator or customer, as themselves, sharing their own take on a product: a review, unboxing, try-on, tutorial, testimonial or influencer endorsement → Trigger the `generating-ugc-videos` skill workflow, whether or not the brief says UGC.
- **The video is a product ad or commercial** — a produced advertisement in the brand's voice: a product-hero showcase with no one on screen, or a story or lifestyle commercial where a presenter or actor plays a role in the brand's spot → Trigger the `generating-ad-videos` skill workflow.
- **One clip covers it** — the video runs no longer than the model's longest clip, and holds one continuous shot → Read and follow the steps in `references/direct-route.md`.
- **It needs more than one clip** — the video runs longer than the model's longest clip, or the brief needs a cut between shots → Read and follow the steps in `references/storyboard-route.md`.

`list_video_models` gives the model's longest clip. Storyboard sheets are what keep a person, a place
and a product looking the same from clip to clip, and what fixes the frame on both sides of a cut, so
anything with more than one clip takes the storyboard route.

A supplied image is used one of two ways. Ask which, if the brief doesn't say:

- As the **start frame**, the video begins on that exact image.
- As a **reference**, it shows what a subject or a style looks like and the video is a new scene.

**A start frame works for one clip only, and that clip can carry nothing else** —
`start_frame_image` cannot be combined with any `reference_*` input. Where a person, a product or a
style has to match an image that isn't the start frame, pass that image as a reference and drop the
start frame.

## Edge cases

- **Safety / NSFW rejection** → name a workable stand-in for whatever tripped the filter (cover the
  wardrobe, change the setting) and resubmit. If the subject itself is the block, switch to
  `grok-imagine-video` (see **Step 2**). A second rejection: tell the user which element is blocked
  instead of retrying blind.
- **Still generating (`status: "pending"`) or the call times out** → the clip is still rendering on
  the server, **not** a failure — do **not** resubmit (that starts a second billed job). If you got a
  pending handle, call `job_status` with it to rejoin; if the call timed out with no handle, wait and
  tell the user it's still processing rather than firing a fresh generation.
- **Generic failure** (an explicit error result, not a timeout) → read the error. If it names a
  parameter or a limit, correct that and resubmit. Otherwise resubmit once; if it fails again, either
  switch to a fallback model (**Step 2**) and write to its guide, or give the user the error text
  rather than guessing.
- **Reference or frame rejected on count / mode** → the error states the model's limit or supported
  modes; adjust to it, or check `list_video_models`.
- **Unsure which model fits a named request** → call `list_video_models` and pick by `strengths`.
- **The user wants a standalone audio file, not clip audio** — a voiceover to drop on a timeline, or
  a music track or sound effect they need to place themselves. Clip audio can't give them that; it is
  baked into the picture. Send speech to `generating-audio`, and say plainly that separate music and
  effects tracks aren't generated here.
- **`error: "no_provider_configured"`** → relay the tool's `hint` (the user must set their key).

## Reference

Each route is a complete workflow. Read the one Step 3 picked, and follow it to the end.

- `references/direct-route.md` — one clip: the six modes and what each one passes, the beats, the
  prompt and the call.
- `references/storyboard-route.md` — more than one clip: the video planned as beats, built through
  storyboards and joined into one file.

© SupercmoHQ · Apache-2.0 · SupercmoHQ/superCMO-skills

Similar skills

All skills for AI and ML →

From the same set23

researching-competitor-ads Pulls a competitor's live and stopped ads, has a vision model watch the video and read the stills, and shows which creatives held the longest. CX Codex +1 ★ 232repo stars planning-campaigns Organizes ad campaigns by analyzing your product and competitor ads. It writes production-ready concepts and waits for approval before building anything. CX Codex +1 ★ 232repo stars onboarding-user This skill builds a company profile from its website and identifies competitors. Use it when setting up a brand for future sessions. CX Codex +1 ★ 232repo stars identifying-competitors A skill that works out who a brand competes with: reads its site, searches the web for alternatives, and returns a shortlist with names and websites. CX Codex +1 ★ 232repo stars generating-ugc-videos Plan a creator-led product video with a review, unboxing, try-on, or tutorial format. The skill turns the brief into a concept and storyboard plan. CX Codex +1 ★ 232repo stars generating-storyboards Draws storyboard sheets for a video: one sheet per clip, vertical panels in a row, one action each. Useful once clip lengths and the story are locked but nothing is animated yet. CX Codex +1 ★ 232repo stars generating-product-photos Turns product photos or URLs into commercial photography prompts. It locks product geometry and materials across studio, lifestyle, and on-model shots. CX Codex +1 ★ 232repo stars generating-images Turns a brief and optional reference images into a model-specific prompt and image request. Use it for illustrations, posters, portraits, and edits. CX Codex +1 ★ 232repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor