Skip to content
Video & Audio
Skill

/universal-video-prompt-skill

Write one model-agnostic video prompt spec, then compile it to whichever video model you can actually call. Use for cross-model prompt work, model comparison matrices, reusing one brief across providers, or when the target model is not yet available and the work must proceed on

BOOST
From plugin
awesome-seedance-25-prompts-skills
2412 skills
Install
$ npx -y skills add AtlasCloudAI/awesome-seedance-2.5-prompts-skills --skill universal-video-prompt-skill --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/universal-video-prompt-skill

Context preview

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

Write one model-agnostic video prompt spec, then compile it to whichever video model you can actually call. Use for cross-model prompt work, model comparison matrices, reusing one brief across providers, or when the target model is not yet available and the work must proceed on

SKILL.md

universal-video-prompt-skill.SKILL.md
name: universal-video-prompt-skill
description: >-
  Write one model-agnostic video prompt spec, then compile it to whichever
  video model you can actually call. Use for cross-model prompt work, model
  comparison matrices, reusing one brief across providers, or when the target
  model is not yet available and the work must proceed on another one.

Universal Video Prompt Skill

Write the spec once. Compile it per model. A spec is not a prompt: it is the decisions a prompt encodes, kept separate from the dialect that expresses them.

Language route

  • For an English request, follow this file and the `*.md` references.
  • For a Chinese request, read [the Chinese workflow](references/workflow.zh-CN.md)

first, then use the matching `*.zh-CN.md` reference files.

  • Keep model IDs, JSON keys, commands, media placeholders, and audio symbols

exactly as code. Do not translate them.

1. Two axes govern every line you write

Judge each line of a spec on both axes before keeping it.

**Scope** — what does this line govern?

| Bucket | Governs | Examples | |---|---|---| | 1 · Global | The whole video | Film type, scene, style, director's premise, camera principle | | 2 · Locks | Anything that must not drift | Identity, reference roles, audio source, supporting cast, negatives | | 3 · Time | One beat or stage | Stage events, end states, timing when it is warranted |

A line in the wrong bucket is the most common cause of drift. Global rules buried inside beat 3 stop applying at beat 4.

**Verifiability** — can this line be checked after generation?

Unverifiable intent must be rewritten as observable result. This single rule carries more weight than any vocabulary choice:

| Do not write | Write instead | |---|---| | `keep it consistent` | the visible end state of each stage | | `tense`, `warm`, `oppressive` | 2–4 observable cues: gaze, brow, mouth, breathing, hands | | `rack focus` | `rack focus: foreground leaves blur while the face resolves` | | `use these references` | what each reference controls **and what not to use from it** | | `make it fast-paced` | a time budget per stage |

If a line cannot be checked on the output, it cannot be debugged either. Read [verifiability](references/verifiability.md) for the full patterns.

2. Write the spec

Fill the three buckets. Skip what does not apply; do not pad.

[1 GLOBAL]   film type · scene · style · director's premise (one sentence) · camera principle
[2 LOCKS]    identity · reference roles (control X, do not use Y) · audio source ·
             supporting cast · continuity · negatives
[3 TIME]     granularity (see §3) · stages · end state per stage

Two writing conventions:

  • **Restate the few most expensive locks at the physical end of the prompt.**

Recency helps. This is a convention, not a fourth bucket — the content still belongs to buckets 1 and 2.

  • **Order the output explicitly** when a model writes the spec for you, or the

buckets bleed into each other.

Reusing a proven film type? Do not re-derive the premise. Load its DNA — 3–5 minimum reusable conditions — and re-skin. See [film type DNA](references/film-type-dna.md).

3. Choose time granularity before writing bucket 3

Granularity is a **prior decision**, not a switch to flip afterwards. Writing beats at second precision and then downgrading means rewriting them.

| Granularity | Write | Use when | |---|---|---| | **None** | Event order only | One continuous action, mood pieces, single shots. Timestamps here fragment the shot: the model invents pauses to hit the marks | | **Stages + end states** | Stage 1/2/3, one primary change each | Most narrative work. **Default** | | **Second-level** | `[start–end s]` | Only under an external hard constraint |

Second-level costs model freedom, not author effort. Too much content in a range causes over-cutting or dropped events. Prefer the loosest granularity that still meets the constraint.

Do not decide this silently

Infer it when the input settles it; ask when it does not.

| Signal | Action | |---|---| | Music or voiceover track supplied | Second-level. Do not ask | | User says mood piece, one-take, single shot | None. Do not ask | | Explicit hard beat (brand reveal at 0:07, lip sync, reference handoff) | Second-level. Do not ask | | **Multi-event narrative, no external constraint** | **Ask** |

When you ask, **recommend with a reason** — never present a bare menu. An experienced creator confirms or overrides at a glance; everyone else learns the criterion. Do not ask again for a re-skin: granularity is a DNA field.

Timestamps allocate time budget. They are not frame-accurate edit points. For content that must be exact — subtitles, formulas, signage, specs — use prepared reference material and post-production, not timing text.

4. Compile the spec to a target model

The spec is portable. Not everything in it is. Three layers behave differently:

| Layer | Contents | Handling | |---|---|---| | **Language** | Buckets, end states, observable cues, emotion, term-plus-description | Portable as written | | **Bias** | Anti-AI-look suffixes, negatives, transition vocabulary, addressing dialect | Per-model profile. **Measured, never assumed** | | **Capability** | Reference count, multi-shot in one generation, hard cuts, duration, timing adherence | Probe, then degrade |

Load the target's [model profile](references/model-profile-schema.md). No profile means no assumptions: run the smallest probe that settles the question, record it, and degrade the spec to what the model actually supports. Report a degrade; never let it pass silently.

Term plus observable description beats a dialect table

For any craft term whose recognition varies across models, keep the term **and** translate it:

<term> + <target subject> + <visible change> + <foreground/background> + <direction or speed>

A model that knows `bullet time` takes the shortcut; one that does not follows the description. One prompt se

Read more
Ships withawesome-seedance-25-prompts-skills

A curated library of Seedance 2.5 video prompts plus Seedance 2.5 Skill, an installable Agent Skill that improves prompts, plans and reviews storyboards when needed, and generates controllable video.

Get the whole plugin
Stats
243
Stars
22
Forks
Active
Maintenance
TypeScript
Language
3d ago
Last commit
4mo ago
Created
5h ago
Added

Repo: AtlasCloudAI/awesome-seedance-2.5-prompts-skills