New to Claude Skills? Learn how to install them →

nexu-io on GitHub

Video Shortform

Free

Generate 3-10 second video clips for quick visuals.

by nexu-io84.9k stars on nexu-io/open-design
8 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Video Shortform does

The Video Shortform skill is designed to create concise video clips ranging from 3 to 10 seconds, ideal for product reveals, motion teasers, and ambient loops. It leverages text-to-video models like Seedance 2, Kling 3/4, Veo 3, and Sora 2 to generate high-quality MP4 outputs saved directly to your project folder. This skill is particularly useful for developers and designers looking to enhance their projects with quick, engaging video content without the need for extensive video editing skills.

To use the Video Shortform skill effectively, you start by reading the project metadata, which includes essential parameters like videoModel, videoLength, and videoAspect. These parameters guide the video generation process, ensuring that the output meets the constraints of the chosen model. The skill emphasizes planning each shot carefully before dispatching the video generation command, allowing for precise control over the video content and style.

The skill operates under a straightforward workflow. After planning the shot, you compose a prompt tailored to the specific video model being used, ensuring that the prompt adheres to the model's requirements. The final step involves dispatching the request to generate the video, which is then automatically saved and made available for viewing. This structured approach ensures that users can create effective short-form videos with minimal hassle.

This skill is particularly suited for those in the design and marketing fields who need to produce quick, impactful videos for social media or promotional purposes. It streamlines the video creation process, allowing users to focus on creativity rather than technical details.

When to use it

Use this skill when you need to produce brief video clips for marketing, product showcases, or social media content.

When not to use it

This skill is not suitable for creating long-form videos or complex narratives, as it focuses solely on single-shot video generation.

What you can build with it

Product Launch Teaser

Generate a quick 10-second video clip to showcase a new product feature for social media.

Event Promotion

Create a short motion teaser for an upcoming event to capture audience attention.

Ambient Video Loop

Produce a 5-second ambient video loop for use in a digital display or background.

How to install Video Shortform

View source

1. Install with the skills CLI

npx skills add nexu-io/open-design/video-shortform --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by nexu-io

Video Shortform Skill

Short-form (≤ 10s) is the sweet spot for current text-to-video models — they're great at one shot with one idea, weaker at multi-cut narratives. Plan one shot per call.

Special case: hyperframes-html is not a photoreal text-to-video model. It's a local HTML-to-MP4 renderer. For that model, do not roleplay cinematography or "real-world" camera physics. Treat the brief as a motion design card / title-frame / product interstitial, ask at most one clarifying question, then dispatch immediately.

Resource map

video-shortform/
├── SKILL.md
└── example.html

Workflow

Step 0 — Read the project metadata

videoModel, videoLength (seconds), videoAspect. These are hard-locks — clamp the prompt to whatever the chosen model supports (Seedance 2 caps at 10s; Kling 4 supports up to 10s + image-to-video; Veo 3 supports 8s with audio).

Step 1 — Plan the shot

Write the shotlist BEFORE calling the model:

SlotContent
SubjectWhat's in frame?
CameraStatic / pan / push-in / orbit?
LightingKey direction + temperature
MotionWhat moves, at what pace? Subject motion vs camera motion.
SoundAmbient bed? (only if the model supports audio)

Normally, show this to the user as a one-sentence plan before dispatching — they can redirect cheaply.

For hyperframes-html, skip the extra pre-dispatch narration once the user has answered the discovery form. Collapse the plan into the actual generation prompt and dispatch immediately.

Step 2 — Compose the prompt

Use the format the upstream model prefers (Seedance: motion + camera + mood; Kling: subject + camera + style; Veo: subject + cinematography + sound). Bind the project's videoAspect and videoLength directly to the API parameters; never put them in prose.

For hyperframes-html, write a concise motion-design brief instead of a camera-realism prompt. Focus on subject, layout, palette, motion character, and overall tone. Do not spend turns narrating environment checks, missing side files, or "I am about to dispatch" status updates.

Step 3 — Dispatch via the media contract

Use the unified dispatcher — do not call provider APIs by hand:

"$OD_NODE_BIN" "$OD_BIN" media generate \
  --project "$OD_PROJECT_ID" \
  --surface video \
  --model "<videoModel from metadata>" \
  --aspect "<videoAspect from metadata>" \
  --length <videoLength seconds> \
  --output "<short-slug>-<seconds>s.mp4" \
  --prompt "<assembled shot prompt from Step 2>"

The command prints one line of JSON: {"file": {"name": "...", ...}}. The bytes land in the project; the FileViewer plays it automatically.

Step 4 — Hand off

Reply with: shot summary, the filename returned by the dispatcher, and one sentence on what to try if the user wants a variation.

For hyperframes-html, keep the reply especially short: what was rendered, the filename, and one concrete variation idea.

Hard rules

  • One shot per turn. Multi-shot timelines belong in a hyperframes / interactive-video skill, not here.
  • Match videoAspect exactly — re-renders are slow.
  • Never ship a video without saving the file — the user expects something to play in the file viewer.
  • When the underlying model fails (NSFW filter, content policy, timeout), report the error verbatim. Don't silently retry.
  • Do not claim a render has been "sent", "started", or "is running" unless you have already called "$OD_NODE_BIN" "$OD_BIN" media generate.

Frequently asked questions about Video Shortform

Similar skills