writing-video-prompts
Writes the motion prompt for a video clip — what moves, how the camera behaves, the physics and the audio, in the shape the chosen model wants.
Skill by SupercmoHQ
Chalk Labs
Need help deploying writing-video-prompts?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/supercmohq-writing-video-prompts
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets, writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/writing-video-prompts
What's inside
- Skill name
writing-video-prompts- Description
- Writes the motion prompt for a video clip — what moves, how the camera behaves, the physics and the audio, in the shape the chosen model wants. Works from a brief alone, from a start frame, from a source video, or from a storyboard sheet where each panel becomes a cut. Handles one clip or a whole set, returning one prompt per clip. Nothing is generated here. Use when a clip's model, duration and content are settled and it needs the prompt written.
- License
- Apache-2.0
- Metadata
- summary: Translates your scenes into the highly specific, detailed instructions that different video models require. It times the camera motion and steers around known AI rendering limits to match your exact visual brief. · version: 0.6.0 · category: creative
- Instructions
- 245 lines in SKILL.md · view on GitHub
Files (8)
- SKILL.md
- eval_cases.json · evals/
- prompt-gemini-omni.md · references/
- prompt-grok.md · references/
- prompt-kling.md · references/
- prompt-seedance.md · references/
- prompt-veo.md · references/
- prompt-wan.md · references/
SKILL.md (first lines)
# Clip prompts Turn a clip into a prompt its video model will honour. **Text only — nothing is generated here.** **A video may be one clip or several.** Write a prompt for every clip in it, then hand them all back together. Clips in one video share a model, an aspect ratio and a look. Write only what the clip actually has. No person on camera means no performance direction, no product means no product rules, no speech means no dialogue. ## Workflow ### Step 1: Read what the clip has Ask only for what would change the prompt and can't be defaulted. - **The model and the duration.** Where no model was named, use `seedance-2.0-fast` and say so. The aspect ratio is a call parameter rather than prompt text — carry it if it was given, don't ask. - **What happens in the clip** — as beats, or as a single action. - **The media, and what each one is for** — a storyboard sheet, a start frame, an end frame, reference images, a source video, an audio track. **Any of them may be absent**, and they differ from clip to clip. - **The dialog segment**, where anyone speaks, and whether they are on camera or heard over the picture. ### Step 2: Pick the clip's form **With a storyboard sheet, one cut per panel** — panel 1 is the first cut, panel 2 the second, hard cut between them. Without a sheet, cut only where the brief asks for one. **Where a beat's opening frame is fixed** — by a panel or by a start frame — the hands, the grip, the product, the props and the positions are already there when it opens. Write what happens next, not how it starts. Write "a hand reaches in" or "she brings it into frame" only when the frame genuinely has no such element. Introduce something that is already there and the model renders a second one — an extra hand, a duplicate arm, a doubled person. ### Step 3: Read the chosen model's guide | Model | Guide | | --- | --- | | `seedance-2.5` | `references/prompt-seedance.md` | | `seedance-2.0` | `references/prompt-seedance.md` | | `veo-3.1` | `references/prompt-veo.md` | | `gemini-omni` | `references/prompt-gemini-omni.md` | | `gemini-omni-1.1` | `references/prompt-gemini-omni.md` | | `kling-3.0-pro` | `references/prompt-kling.md` | | `grok-imagine-video` | `references/prompt-grok.md` | | `wan-2.7` | `references/prompt-wan.md` | | `wan-3.0` | `references/prompt-wan.md` | The `-fast` / `-lite` / `-turbo` / `-standard` / `-mini` variants share their family's guide. **The guide owns how the prompt is laid out** — the order the elements go in, how references are labelled, how speech and sound are marked, and how to keep something out of frame. Follow it on all of those, over anything the steps below imply about layout. It does not own which sections the prompt is built from or the order they come in. Step 6 fixes those, and they are the same whatever the model. **It does not decide whether the clip cuts.** Step 2 already did, from the media. A guide showing how to write a sequence of shots is giving you the layout to use *if* the clip has one — not a reason to add cuts to a clip that doesn't. ### Step 4: Label the media Where more than one piece of media goes on the call, name each one in the prompt, in the order it will be passed, and say once what each is. Unlabelled, the model picks its own subject out of the set. **The labelling convention comes from the model's guide** — a numbered slot, a tag, or plain words. A clip carrying a single start frame and nothing else has nothing to label — just say what it opens on. - **A storyboard sheet** — labelled once at the top as the storyboard for this clip. Don't contradict it and don't caption it: a sentence that would work as a caption for the panel is a description of a still, so write that panel's beat in motion instead. - **A start or end frame** — named as the frame the clip opens or closes on. - **The person** — labelled on first mention in a beat, then the plain noun. Repeat the label later in the same beat and the render snaps back to the reference, breaking continuity. - **The product** — pointed at by its label and its name, never described; words about its colour, finish, shape or markings compete with the image and the sheet, both already on the call. A fuller description from the plan is for your reference, never for the prompt. Label it where it is shown intact: first introduction, a hero close-up, a label point-out. Drop the label during any verb that changes it — opening, tearing, pouring, scooping, applying, drinking, mixing, putting on — because carrying it through forces the product back to its reference state mid-beat, so an opened jar snaps shut. Pick the label up again once it is shown intact. - **Several product images** — point at whichever shows the angle that beat needs. **Never put a label inside quoted speech.** Quoted text is read aloud as written, so the label gets spoken. ### Step 5: Read the storyboard Skip this where the clip has no sheet. Run `image_analysis` on the sheet before writing anything, and take these from each panel as it actually rendered: - the camera position — held at arm's length, locked off, over the shoulder - the framing distance - the action - which hand is doing what - where the product is — held, set down, worn, hidden, absent - the expression **Where the sheet and the plan disagree, the sheet is what the model will see, so the sheet wins.** Write the cut to the panel, and say which panel disagreed and how. ### Step 6: Write the clip **Every prompt is built from the same sections, in this order:** 1. **The look** — 6a below. 2. **What the clip is** — 6b below. 3. **The beats** — 6c to 6e below. 4. **The audio** — Step 7. 5. **The closing block** — Step 8. The guide names each section and marks what goes in it. Leave out a section the clip has no use for; never reorder them, and never fold one into another.
From SupercmoHQ/superCMO-skills, Apache-2.0.
More from SupercmoHQ/superCMO-skills
- 0.796score
analyzing-own-ads
SupercmoHQ
Audits the ads a company is running itself — what's live now, what it has already stopped, and which have run longest.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
writing-ad-copy
SupercmoHQ
Writes the words of an ad — the headline, primary text, description and call to action that go into the ad platform's own fields, shaped to the channel it…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
planning-campaigns
SupercmoHQ
Decides what to make next — turns the brand, the product, your own running ads and competitor research into the concepts worth testing next.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
researching-competitor-ads
SupercmoHQ
Analyzes the ads competitors are running — the ones live now, the ones they have already stopped, and which have run longest.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-products
SupercmoHQ
Normalizes a product into generation-ready facts — from an e-commerce URL (a clean description plus curated product images) or from a photo alone (category…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
cloning-video-ads
SupercmoHQ
Clones an existing video ad — reads a supplied reference ad, keeps its structure, pacing, shots, camera and hook, and rebuilds it as a new video with the…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-ad-videos
SupercmoHQ
Makes a product ad video — a product showcase with no one on screen, or a story or lifestyle commercial where a presenter or actor plays a role in the brand's…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
adapting-formats
SupercmoHQ
Resizes an existing image ad into the other shapes it has to run in — reads the ad first, then regenerates it at each ratio with the original passed in as a…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-audio
SupercmoHQ
ALWAYS read this skill before generating spoken audio or calling audio_generate — a voiceover, narration, an ad read, a character line, or any script read…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-cartoon-videos
SupercmoHQ
Generates a cartoon video for a product — a drawn, animated, anime, illustrated or painted spot that holds one art style and the same characters across every…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-image-ads
SupercmoHQ
Turns a product photo or URL into a static image ad — one image, or a set.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-images
SupercmoHQ
ALWAYS read this skill before generating or editing any image, or calling image_generate — text-to-image or image-to-image, simple or complex.
SkillAFreshness: A★ 206Claude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 206
- Forks
- 23
- Open issues
- 9
- Contributors
- 4
- Last commit (this folder)
- Oct 15, 2026 (16 days ago)
- Last release
- Oct 21, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.6.0
- License
- Apache-2.0
- Repository
- github.com/SupercmoHQ/superCMO-skills
- Website
- getsupercmo.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from SupercmoHQ
- 0.796score
adapting-formats
SupercmoHQ
Resizes an existing image ad into the other shapes it has to run in — reads the ad first, then regenerates it at each ratio with the original passed in as a…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-brand
SupercmoHQ
Analyzes a brand from its own website — its colours and fonts, the logo and imagery it uses, how it sounds, who it sells to, the claims it makes, and what it…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-own-ads
SupercmoHQ
Audits the ads a company is running itself — what's live now, what it has already stopped, and which have run longest.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-products
SupercmoHQ
Normalizes a product into generation-ready facts — from an e-commerce URL (a clean description plus curated product images) or from a photo alone (category…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
cloning-video-ads
SupercmoHQ
Clones an existing video ad — reads a supplied reference ad, keeps its structure, pacing, shots, camera and hook, and rebuilds it as a new video with the…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-ad-videos
SupercmoHQ
Makes a product ad video — a product showcase with no one on screen, or a story or lifestyle commercial where a presenter or actor plays a role in the brand's…
SkillAFreshness: A★ 206Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get writing-video-prompts running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
writing-video-prompts skill. Agent Mart. https://agentmart.dev/skills/supercmohq-writing-video-prompts (last updated 2026-10-24)