Install
$ agentstack add skill-mikefluff-skills-video-prompt ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Write a tight, model-aware motion prompt for AI video generation. Output: one structured prompt string (beat-structured, with optional Dialogue / SFX / Ambient blocks, multi-shot blocks, or V2V single-verb instruction). This skill does NOT call the video model — it produces the text you paste into Veo / Sora / Kling / Runway / Luma / Pika / Hailuo / LTX / Hunyuan / Wan / Seedance / Higgsfield.
Use when the user wants a 4-15s clip from a still image (I2V), from text (T2V), as an edit of existing footage (V2V), as an extension of an existing clip, or as a multi-shot scene in one generation. Apply the CHARACTER FIRST, CAMERA SECOND law, beat-structure the motion, pick vocabulary the target model parses cleanly, add dialogue / SFX / ambient blocks for native-audio models, lock identity via reference labels for cameo / element / Soul ID models.
This skill does NOT:
- generate the video itself (that's the model)
- generate the still image (use
image-prompt) - write a full multi-scene storyboard (use a storyboarding tool / separate skill)
- write traditional film screenplays (use
essay-writeorprose-edit)
ROLE
Read request → identify subject + action + emotional beat → pick mode (T2V / I2V / V2V / extend / multi-shot) → pick target model from references/models/_index.md → apply CHARACTER FIRST law → beat-structure the motion → add camera move from exact vocabulary → add audio block if model supports it → return motion prompt + optional endFrame / reference list.
PIPELINE
- Clarify the shot. Need to know:
- Mode: T2V (text-only) / I2V (from a still) / V2V (edit existing footage) / extend (continue a clip) / multi-shot (several shots in one prompt).
- What action happens in the 4-15 seconds? (the model can't extrapolate offscreen).
- Emotional beat:
hook/tension/climax/breathing/resolution/setup. - Target model (default by mode — see
references/models/_index.md). - Dialogue or sound design? (only if model supports native audio: Veo 3.1, Sora 2, LTX-2).
- POV or third-person?
- Identity references attached? (cameos / elements / Soul ID).
- Apply CHARACTER FIRST. For ANY shot with character action — start motion prompt with what the character does (body parts, frequency, timing), NOT with a camera move. See
references/beat-structure.md.
- Beat-structure the motion (mandatory for action shots):
- Beat 1 (0% → 30%): initiating action / setup
- Beat 2 (30% → 70%): escalation / dialogue delivery
- Beat 3 (70% → 100%): resolution / reaction / final pose
See references/beat-structure.md for templates per emotional beat AND per dialogue-bearing model.
- Pick camera move from exact vocabulary. Use named terms (
slow dolly push-in,orbit 180,whip pan, or named Higgsfield preset likeCrash Zoom) — NOT vague "camera moves forward". Seereferences/camera-vocabulary.md.
- Mode-specific rules.
- T2V: 6-part build with full scene description.
- I2V: motion-over-still — don't re-describe the source frame; see
references/i2v-prompting.md. - V2V: single action verb (Add / Remove / Replace / Relight / Re-angle / Restyle / Extend); see
references/v2v-editing.md. - extend: Veo scene-extend / Kling Elements chain — see
references/multi-shot.md. - multi-shot: Sora 2 / Seedance — Shot 1/2/3 blocks with shared style anchor — see
references/multi-shot.md.
- Add audio block if model supports native audio (Veo 3.1, Sora 2, LTX-2) — Dialogue / SFX / Ambient layers, prosody adverbs, lip-sync rules. See
references/audio-prompting.md. ≤5 total audio elements per 8s clip.
- Add per-model rules from
references/models/.md:
- Kling 3.0 / Elements: temporal flow required, 4 refs for Elements
- Veo 3.1: more flexible structure; audio + lip-sync triggered by
Character: "line"syntax - Sora 2: NL paragraph + audio + multi-shot transitions (
new shot:,cut to:,match cut on) - Runway Gen-4 / Aleph: short clips; Aleph = single-verb V2V edit, 5s cap
- Higgsfield: named camera presets, max 3 stacked; Soul ID for character lock
- Identity references (if cameos / elements / Soul ID / HunyuanCustom):
- Name the reference:
[ref:Sarah],[ref:Marcus] - Do NOT re-describe locked physical traits (hair, face, body)
- See
references/identity-references.md.
- Apply pacing mode — narrative / action / comedy / documentary / timelapse / dialogue-scene / music-video. See
references/pacing-modes.md.
- Strip forbidden phrases that cause frozen-pose output. Replace with body-part-specific, timed, repeated actions. See
references/beat-structure.md§ Forbidden phrases.
- Output.
- The motion prompt as one fence-block (paste-ready), with Dialogue / SFX / Ambient blocks inline if audio mode
endFrameDescriptiononly if shot ends in a DIFFERENT composition from start- For multi-shot: each shot block fenced separately or in one block
- For V2V: just the single-verb instruction
- 1-line note: model + mode + key conventions + pacing mode
- (Optional) Execute via API. If
--executewas passed AND the env var(s) for the chosen model are set, also runpython3 scripts/run.py --model --prompt-file. Video gens are long-running — the runner polls and prints progress to stderr. ALWAYS confirms cost (any video is over the $0.10 threshold) unless--yes. Result lands in./generated/video/. On any failure, fall back to prompt-only. Seereferences/execute.md.
MODES
video-prompt --model— generate model-specific prompt. Valid:veo-3-1,veo-3-1-fast,sora-2,sora-2-pro,kling-3,kling-master,kling-elements,runway-gen-4,runway-gen-4-turbo,runway-aleph,runway-act-one,hailuo-02,hailuo-02-pro,pika-2-2,ray-3,ray-3-modify,ltx-2,hunyuan-1-5,hunyuan-custom,wan-2-2,seedance-1-pro,higgsfieldvideo-prompt --mode t2v|i2v|v2v|extend— pick mode explicitly; routes to the right referencevideo-prompt --audio— append Dialogue / SFX / Ambient blocks (default ON for Veo 3.1 / Sora 2 / LTX-2)video-prompt --dialogue ""or--dialogue file:— explicit dialogue input; auto-formats withCharacter: "..."syntaxvideo-prompt --end-frame ""— keyframe block for Kling tail / Pikaframes / Ray3 Start+End / Higgsfieldvideo-prompt --shots N— multi-shot Sora 2 / Seedance layoutvideo-prompt --ref =[,=...]— identity reference labelsvideo-prompt --cluster audio|i2v|v2v|open|aggregator— pick by capability when no model namedvideo-prompt --pacing narrative|action|comedy|documentary|timelapse|dialogue-scene|music-videovideo-prompt --beat hook|tension|climax|breathing|resolution|setupvideo-prompt --pov— first-person POV variantvideo-prompt --variants 3— 3 alternatives with different camera moves or pacingvideo-prompt --execute— also call the API if env var(s) for--modelare set; save MP4 to./generated/video/video-prompt --execute --output— custom output dirvideo-prompt --execute --yes— skip cost confirmationvideo-prompt --execute --timeout— override poll timeout (default 600s)video-prompt --check --model— verify env + connectivity, no generationvideo-prompt --list-providers— list executable providers given current env (video modality)
Deprecated aliases (accepted with warning): kling-1-6, kling-2, pika-1-5, pika-2-0, gen-3, gen-3-turbo, veo-3, sora, luma-dream.
REFERENCES (load on demand)
| File | When to load | |---|---| | [references/models/index.md](references/models/index.md) | Always at step 1 — quick-pick decision table, capability matrix, deprecations | | [references/camera-vocabulary.md](references/camera-vocabulary.md) | Picking camera move — DOLLY / PAN / TRACKING / CRANE / ORBIT / AERIAL / Higgsfield presets / Sora 2 multi-shot transitions / Cinema Studio lens vocab | | [references/beat-structure.md](references/beat-structure.md) | Always — Beat 1/2/3, CHARACTER FIRST, repeated-action patterns, body detail, forbidden phrases, dialogue-bearing beat structure | | [references/pacing-modes.md](references/pacing-modes.md) | When user specifies pacing — narrative / action / comedy / documentary / timelapse / dialogue-scene / music-video | | [references/audio-prompting.md](references/audio-prompting.md) | Native-audio models — Dialogue / SFX / Ambient grammar, prosody, lip-sync rules, talking-head template | | [references/i2v-prompting.md](references/i2v-prompting.md) | Mode i2v — motion-over-still rules, physical tethers, never-re-describe | | [references/v2v-editing.md](references/v2v-editing.md) | Mode v2v — action-verb-first grammar, single-change-per-pass, per-model duration caps | | [references/multi-shot.md](references/multi-shot.md) | Mode multi-shot or extend — Shot 1/2/3 blocks, style anchors, transitions | | [references/identity-references.md](references/identity-references.md) | When --ref attached — cameo / element / Soul ID / Act-One grammar | | [references/models/audio-tier.md](references/models/audio-tier.md) | Veo 3.1 / Sora 2 / LTX-2 — per-model audio templates | | [references/models/i2v-tier.md](references/models/i2v-tier.md) | Kling / Hailuo / Runway Gen-4 / Pika — per-model I2V templates | | [references/models/v2v-tier.md](references/models/v2v-tier.md) | Aleph / Act-One / Ray 3 Modify / Pika swaps-additions-frames | | [references/models/open-source.md](references/models/open-source.md) | LTX-2 / Hunyuan 1.5 + Custom / Wan 2.2 / Mochi 1 | | [references/models/aggregators.md](references/models/aggregators.md) | Higgsfield — Cinema Studio presets, Soul ID, Start+End frames | | [references/execute.md](references/execute.md) | --execute mode — provider matrix, env vars, cost preview, long-poll behaviour, troubleshooting, fall-back |
EXAMPLES
See [examples/before-after.md](examples/before-after.md) — calibration pairs covering hook / tension / breathing / POV / timelapse + dialogue (Veo 3.1) / I2V (Kling) / V2V (Aleph) / multi-shot (Sora 2) / RU audio.
CONSTRAINTS
- CHARACTER FIRST, CAMERA SECOND. Never start a motion prompt with a camera move when characters are in action. Camera is one supporting sentence at the end.
- Beat structure mandatory. Every shot with action gets Beat 1 / Beat 2 / Beat 3 timing. Single biggest defense against the "model freezes one pose" failure mode.
- Repeated, not single. "He extends his arm" → frozen statue. "He delivers 3-4 sharp jabbing motions, arm never fully returning to rest" → video.
- Two characters → describe both separately within each beat. "They look at each other" → synchronised statues.
- Use exact camera vocabulary — "Slow dolly push-in" not "camera moves forward". Or named Higgsfield preset (
Crash Zoom,Bullet Time). - No transition language inside one shot. "Cut to", "fade to", "reveal" are EDIT terms. Only
new shot:/cut to:/match cut onwork in Sora 2 multi-shot — and only as explicit multi-shot blocks. - Dialogue obeys beat budget. ≤8s speech per 8s clip. One speaker per beat. Prosody adverbs BEFORE the quote, not inside (no ellipsis-acting).
- No competing SFX during dialogue. Drop ambient under the line; layer SFX into setup or reaction beats, not on top of speech.
- Face must be visible for lip-sync. Cutting away during a line breaks sync.
- V2V: one action verb per generation. Stack edits by chaining multiple passes. Single-pass multi-edit produces unstable results.
- I2V: don't re-describe the source frame. The model already sees it. Describe only motion + tethers.
- Identity refs: don't re-describe locked traits. Wardrobe / action / expression / environment change; hair / face / body type are locked by the ref.
- Physical realism. A kiteboard → describe kite-line tension and edge angles, not generic "rides the wave".
- Props stay. Objects in frame don't teleport. Specify "cup stays in hand", "laptop screen glow continuous".
--executeis opt-in. Default flow stays prompt-only.- Never print API keys. Mask in errors. Refer to env var names, not values.
- Confirm cost always for video. Any video is above $0.10 threshold; user must answer Y unless
--yes. - Output dir is
./generated/video/by default. Don't write outside it without explicit--output. - API failure / timeout → fall back gracefully. Save prompt to
./generated/video/-prompt-only.txtwith reason. Long-running jobs may still complete server-side after a timeout — note that in the fall-back message.
INVOCATION HINTS
When the user says any of:
- "video prompt for {model}", "Veo / Sora / Kling / Runway / Pika / Hailuo / Luma / LTX / Hunyuan / Wan / Seedance / Higgsfield prompt"
- "motion prompt for this image", "animate this still", "image-to-video"
- "edit this clip", "V2V", "Aleph prompt", "Ray3 Modify", "Pikaswaps"
- "dialogue scene", "talking-head", "two characters arguing", "lip-sync"
- "multi-shot in one prompt", "Sora 2 multi-shot", "extend this scene"
- "character consistency across shots", "cameo", "Soul ID", "Act-One performance"
- "4-15 second clip of {action}"
- "shot for TikTok / Reels / Shorts"
- "music video shot", "beat-synced"
- "execute the video prompt", "actually render the clip", "fire the gen", "use my Veo / Sora / Kling / Runway key"
RU triggers:
- «промпт для Veo / Sora / Kling / Runway / Pika / Hailuo / Luma / LTX / Hunyuan / Wan / Seedance / Higgsfield»
- «оживи картинку / оживи это фото», «motion-промпт»
- «отредактируй клип», «V2V», «измени освещение на закат на этом видео»
- «диалоговая сцена», «говорящая голова», «двое спорят», «lip-sync»
- «multi-shot за один промпт», «3 кадра подряд», «расширь сцену»
- «единый персонаж на всех клипах», «cameo», «Soul ID»
- «motion-промпт для Reels / Shorts / TikTok»
- «4 секунды клипа с {действие}»
- «клип под музыку», «beat-synced»
- «выполни видео-промпт», «отрендери клип», «вызови Veo / Sora / Kling / Runway»
Prompt body is usually written in English (video models parse EN much better than RU). RU dialogue lines can pass verbatim inside Character: "..." quotes (Veo 3.1 handles multilingual speech). RU → EN camera-vocabulary mapping lives in [references/camera-vocabulary.md](references/camera-vocabulary.md) (section RU термины).
Use this skill. For static image — image-prompt. For full storyboard — neither (use a dedicated tool).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Mikefluff
- Source: Mikefluff/skills
- License: MIT
- Homepage: https://www.npmjs.com/package/@mikefluff/skills
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.