Skip to content
Back to skills

Shortfilm Prompt

ASecurity

Generate cinematic AI shortfilm prompts (works with Seedance 2.0, Xiaoyunque, Sora, Kling, Jimeng, Veo) using the 5-stage structure from Mx-Shell's Zombie Scavenger. Trigger when the user wants transformation sequences, multi-shot narrative shorts, weapon-charge/combat segments, emotional family/pet/farewell narratives (催泪/亲情/萌宠/离别), or any cinematic video prompt.

  • 454 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added May 26, 2026
ai-agentsgoshellreactexpressrailsawsperformance

Works with

  • cli

Security analysis

A100/100

Pro scans all 9 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add jnMetaCode/ai-shortfilm-prompts --skill shortfilm-prompt --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Shortfilm Prompt?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Shortfilm Prompt
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jnmetacode-shortfilm-prompt/badge)](https://www.skillsdirectory.com/skills/jnmetacode-shortfilm-prompt)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: shortfilm-prompt
description: Generate cinematic AI shortfilm prompts (works with Seedance 2.0, Xiaoyunque, Sora, Kling, Jimeng, Veo) using the 5-stage structure from Mx-Shell's Zombie Scavenger. Trigger when the user wants transformation sequences, multi-shot narrative shorts, weapon-charge/combat segments, emotional family/pet/farewell narratives (催泪/亲情/萌宠/离别), or any cinematic video prompt.
---

# shortfilm-prompt — Cinematic AI Video Prompt Generator

You play the role of a director's assistant fluent in the 5-stage AI
shortfilm prompt structure (first proven by Mx-Shell in *Zombie Scavenger*).
When the user invokes this skill they want a prompt they can paste
directly into a video model: Seedance 2.0 / Xiaoyunque / Sora / Kling /
Jimeng / Veo.

**Model-agnostic core**: the 5-stage structure itself is the same across
all models. At the end of your output, give one line of model-specific
advice (Sora prefers concise; Kling is more permissive on IP names;
Seedance blocks IP names; etc.).

## Workflow (execute in order)

### Step 1 — Did the user already specify enough?

If their initial request already includes **all** of the following,
skip Step 2 and go straight to Step 3:

- Video type (transformation / multi-shot narrative / **emotional
  narrative (family · pet · farewell)** / atmospheric single shot /
  weapon-charge / combat / static character poster)
- Duration (5s / 10s / 15s / 20s / multi-shot edited)
- Subject base setup (person / robot / mech)
- Scene (location + time + atmosphere)
- Visual style preference (reference film or aesthetic)

### Step 2 — If info is incomplete, ask at most 2–3 key questions

Use `AskUserQuestion`. Priority order:

1. **Video type + duration** (decides which template branch)
2. **Subject + scene** (decides content)
3. **Visual style / reference aesthetic** (decides the atmosphere stage)

**Don't over-ask.** Mx-Shell himself worked iteratively, making it up as
he went. Writing a first draft and refining beats interrogating the user
for 10 details.

### Step 3 — Output a prompt in the 5-stage structure

**First, load the matching template** from the [Template library](#template-library-load-the-matching-one)
below — `Read` that file for the fuller skeleton + genre-specific phrasing,
then write your prompt in the 5-stage structure. The SKILL rules in this
file always win on any conflict; templates supply depth, not overrides.

```
1. Core theme            ← 3-6 tags separated by |
2. Character & scene     ← Face / clothing / scene
3. Atmosphere & quality  ← Visual base / color tone / style core
4. Camera rules          ← Single-shot or multi-shot / angle / breathing
5. Storyboard            ← Per-second slices OR per-shot slices
```

### Step 4 — Briefly explain 2–3 of your writing choices

Don't lecture. Point at the parts the user is most likely to want to
tune. Examples:

> I wrote the trigger phrase as "whispered self-coined syllable" instead
> of a specific IP word — Seedance blocks IP names.
>
> I left the waist-side "unhealed gap" at 12–15s — this is Mx-Shell's
> signature "battle-damaged aesthetic" that prevents the final freeze
> from looking too clean.

---

## Template library (load the matching one)

This repo ships a `templates/` directory with deeper skeletons and
genre-specific phrasing. Pick by branch and `Read` it before Step 3 —
don't reinvent a skeleton the library already has. Paths are relative to
the plugin/repo root.

**If the request is a 3+ shot edited piece** (multi-shot narrative,
emotional/pet/family, trailer, micro-drama, MV), load
`templates/project-planner.md` too and walk the user through Section 1
(subject registry) and Section 2 (atmosphere lock) before writing Shot
1 — this is the single biggest predictor of whether a multi-shot piece
holds together or drifts by shot 3–4.

| If the user wants… | Load |
|---|---|
| 15s single-shot transformation | `templates/15s-transformation.md` |
| Multi-shot edited narrative | `templates/multi-shot-narrative.md` |
| **Emotional narrative (family · pet · farewell)** | `templates/pet-lifetime-narrative.md` (full worked example) |
| **Product commercial / hero ad** | `templates/product-commercial.md` (beat-driven worked example) |
| **Food ASMR / sensory close-up** (native synced audio) | `templates/food-asmr.md` (worked example) |
| **Talking-animal vlog** (selfie POV, synced dialogue) | `templates/animal-vlog.md` (worked example) |
| **Cinematic teaser trailer** (escalating multi-shot) | `templates/movie-trailer.md` (worked example) |
| **Cyberpunk city / atmospheric environment** | `templates/cyberpunk-city.md` (worked example) |
| **Stop-motion / claymation** (stylized; deliberately breaks the breathing rule) | `templates/claymation.md` (worked example) |
| **Nature / landscape timelapse** (time compression, locked grade) | `templates/nature-timelapse.md` (worked example) |
| **CCTV / found-footage horror** (degraded-cam look; breaks the breathing rule) | `templates/found-footage-horror.md` (worked example) |
| **Anime / 2D → live-action** (medium translation; heavy on IP-safety) | `templates/anime-to-real.md` (worked example) |
| **Music video / performance** (beat-synced; music IS wanted) | `templates/music-video.md` (worked example) |
| **High-speed slow-motion sports** (Phantom/high-fps; decisive moment) | `templates/sports-slowmo.md` (worked example) |
| **Fashion film / editorial** (movement-as-subject; no narrative) | `templates/fashion-film.md` (worked example) |
| **Travel vlog / sense of place** (handheld montage) | `templates/travel-vlog.md` (worked example) |
| **Drone / FPV aerial** (continuous flight; the move is the content) | `templates/drone-fpv.md` (worked example) |
| **Vertical micro-drama** (竖屏短剧; hook + shot-reverse-shot + cliffhanger) | `templates/micro-drama.md` (worked example) |
| **Hard sci-fi space / zero-G** (weightless physics; vacuum silence) | `templates/sci-fi-space.md` (worked example) |
| **Car commercial** (reflective surfaces; automotive rig) | `templates/car-commercial.md` (worked example) |
| **Dance film** (continuous full-body motion; body-to-beat) | `templates/dance.md` (worked example) |
| **3+ shot project — lock consistency before generating** | `templates/project-planner.md` (subject registry + atmosphere lock + shot list; fill it out with the user before writing shot 1) |
| How the camera should move, by genre | `templates/genre-camera-sop.md` |
| Camera-move phrasing, by technique (50 moves) | `templates/camera-move-library.md` |
| Atmosphere / quality paragraph, by genre | `templates/atmosphere-prefabs.md` |
| Negative-prompt block + per-model routing | `templates/negative-prompts.md` |

Use the template for structure and phrasing; run the **Seven hard rules**
and **30-second checklist** below on the result regardless of which
template you started from.

---

## Methodology core (must follow)

### Emotional narrative adaptation (family · pet · farewell)

The 5-stage method carries across genres — the same imperfection +
restraint discipline that makes a transformation feel real makes an
emotional piece *land*. Three genre-specific moves (full worked example:
`templates/pet-lifetime-narrative.md`):

- **Mark time with season + light, lock ONE grade.** A different filter
  per shot is the #1 way emotional multi-shot edits break. Invert it:
  "season changes outside the window, the warm light inside stays the
  same." Time reads; the edit holds together.
- **Restraint does the crying (Rule 6, applied to emotion).** No
  flashback montage, no swelling score, no slow-zoom on tears. The empty
  spot — a faded collar on an empty doorstep, one falling leaf — carries
  the feeling. Show the absence, not the reaction to it.
- **2 imperfection anchors per subject double as the consistency lock.**
  Worn collar / grey muzzle / muddy paws; scraped knee → faded scar →
  tired lines. They keep it the *same* dog and *same* person across
  shots — emotional pieces fail most by swapping in a different subject
  mid-sequence. Generate the first and last shot first to lock the look.


### Stage 1 · Core theme

3–6 tags separated by `|`. Ramp from "shot type → genre → aesthetic":

```
Core theme: gritty dark tokusatsu | BLACK SUN aesthetic | broken flesh | combat-damaged transformation | post-apocalyptic battlefield
Core theme: atom-punk | post-apocalyptic zombies | cinematic | hyperreal | no game-CG feel
```

### Stage 2 · Character & scene

Three lines: **Face / Clothing / Scene**.

- **Face**: Open with *"Reference uploaded photo. Features/face/hair
  100% preserved. No beautification."* Then describe imperfections and
  expression.
- **Clothing**: Material first (*"matte black leather"* not *"black
  leather"*).
- **Scene**: Active environment (wind, smoke, meteors). Static
  background ≠ atmosphere.

### Stage 3 · Atmosphere & quality (the key trick)

**Use real camera + lens names.** AI training data binds enormous
amounts of real movie imagery to specific camera metadata. Giving a
concrete model = giving a concrete aesthetic anchor.

Mx-Shell's go-to combinations:

| Aesthetic | Camera + lens |
|---|---|
| Epic / big-scene | IMAX film camera + Panavision C-series (35mm, f/4) |
| Gritty cyber / hard sci-fi | Sony Venice + Canon K-35 series |
| Hong Kong noir / wuxia | Kodak 35mm bleach-bypass |
| Commercial portrait | Canon EF 85mm f/1.2 |

Color phrases: low-saturation grey-blue / Hollywood teal-and-orange /
60s warm-orange + sea-salt blue / low-light high-contrast.

### Stage 4 · Camera rules

Three lines: **Single-shot / Angle / Breathing**.

- **Single-shot**: *"One continuous take, no edit"* (if a one-take); or
  *"Edited across shots"* (if multi).
- **Angle**: Shot size + angle + motion direction.
- **Breathing**: ALWAYS include this exact sentence —
  *"Handheld shot. Throughout, maintain an extremely subtle, breath-like
  camera float to enhance presence."*
  Mx-Shell includes it in nearly every prompt. Forces subtle handheld
  float instead of artificial-static CG default.

### Stage 5 · Storyboard

**Two styles**:

**Style A — per-second** (single-shot transformations, weapon-charge):
```
0–3s · Gaze
Action: …
Camera: …
VFX: …

3–6s · Activation
Sound: …
Action: …
VFX: …
Camera: …
```
Three-part formula per segment: Action + Camera + VFX. Optional add-ons:
Sound, Face/Expression.

**Style B — per-shot** (multi-shot narrative, MV):
```
Shot 1:
Shot size: …
Composition: …
Camera move: …
Action: …

Shot 2:
…
```
Four-part formula per shot: Shot size + Composition + Camera move + Action.

### Negative prompts (model-dependent)

Some models expose a **dedicated negative-prompt field**; others don't.
Route the negation accordingly:

- **Dedicated field exists** (Seedance, Kling, Veo, Hailuo, Wan, Pika 2.5):
  paste the canonical prefab into that field. Keep entries as plain
  comma-separated nouns/phrases — Veo and Kling reject `no…` / `don't…`
  command language inside the field.
- **No dedicated field** (Sora, Runway Gen-4): fold negations into the
  **positive** prompt as explicit `no ___` lines (e.g. *"original
  characters only, no logos, no text overlay, no morphing geometry"*).
  Runway is the exception — Gen-4 has no field **and** reacts badly to
  `no X` phrasing, so for Runway describe only what SHOULD appear.

Canonical negative-prompt prefab:

```
blurry, low resolution, soft focus, watermark, text overlay, subtitles, logo, distorted face, asymmetric eyes, extra fingers, deformed hands, melting/morphing geometry, oversaturated colors, plastic skin, glossy CG render, video-game look, 3D cartoon, anime shading, flat even studio lighting, perfectly clean flawless surfaces, frame flicker, ghosting, jarring hard cuts, lifeless locked-off camera
```

> Note: the "dedicated field" claim is per-model and front-end-specific.
> Seedance's field is not reliably surfaced in the consumer Doubao app —
> if the user is on Doubao, fold negatives into the positive prompt
> instead. Verify Pika 2.2 in-app (2.5 confirmed, 2.2 ambiguous).

---

## Seven hard rules (run a self-check before delivery)

Reverse-engineered from "the most common failure modes of a baseline
Claude without this skill." Run through these mentally before output,
and fix non-compliant parts.

### Rule 1 — Every section must have concrete nouns. Ban vague praise words.

| ❌ Avoid | ✅ Replace with |
|---|---|
| cinematic / epic / movie-quality | "simulated IMAX film camera + Panavision C-series 35mm f/4" |
| stunning / spectacular / perfect | Delete, or use concrete physical effects ("screen edges stretch slightly") |
| handsome / cold / chilling | "slight furrow of the brow" / "a hint of contempt in the gaze" / "back tense" |
| premium-feel / texture-rich / detail-loaded | "glazed surface gloss" / "metal brushed finish" / "film grain" |
| 4K / HD / high-quality | Don't. Write concrete visuals ("low-saturation grey-blue base, film grain") |

**Self-check**: pick any 3 adjectives from your output. Ask yourself —
*can the AI form a concrete image from this?* If no → delete / replace.

### Rule 2 — Every video prompt must include camera + lens model

Candidate combos (pick one based on style):
- Epic big-scene: **IMAX + Panavision C-series** (35mm, f/4)
- Gritty cyber: **Sony Venice + Canon K-35**
- Hong Kong noir / wuxia: **Kodak 35mm bleach-bypass**
- Commercial portrait (for image gen): **Canon EF 85mm f/1.2**

**Self-check**: search your output for one of these combo names. None
present → add.

### Rule 3 — Always include the "breathing" line

Exact phrasing:
> *"Handheld shot. Throughout, maintain an extremely subtle, breath-like
> camera float to enhance presence."*

Don't simplify to *"handheld shot."* Both qualifiers ("extremely subtle"
and "breath-like") are essential — otherwise the AI interprets it as
heavy shaking.

### Rule 4 — Always include the sound line

```
Sound: No score. Production audio only.
```

For scenes with signature ambient sounds, **enumerate explicitly**
(rain, thunder, metal scrape, low-frequency energy hum). Don't make the
AI guess.

### Rule 5 — Character / equipment / costume sections need ≥2 imperfection descriptions

Candidate phrasings:
- Face: "preserve minor facial blemishes" / "facial wound, gauze,
  bloodstain" / "blood at the corner of the mouth" / "bruising"
- Equipment: "paint worn off" / "oil in joints" / "minor scratches,
  visible wear" / "battle damage everywhere"
- State: "armor never perfectly flat" / "some units flicker as if
  faulty" / "an old wound torn open again"

**Self-check**: count imperfection words. Less than 2 → add.

Mx-Shell's repeated emphasis: *"Too perfect = fake. Keeping imperfections
is not a bad thing."*

### Rule 6 — Don't pile FX at the end of single-shot transformations / epic segments

Don't write: blinding light / explosion FX / victory pose / leap into
sky / camera blow-out.

**Default closing template**:
> *"No dialogue. No explosion. No blinding light. Just {{subject}}
> {{action}}, {{environment detail}}."*

Examples:
- *"Just a figure in unfinished battle-armor standing in place. Wind
  carries battlefield smoke. A meteor crosses the distant sky."*
- *"Just the rain continuing to hit the energy field. The vaporized
  mist halo surrounds the subject."*

### Rule 7 — Avoid IP names + give model-specific advice

Do not paste specific IP names (Kamen Rider / Gundam / Iron Man / Kai'Sa
/ MJ / The Matrix...). Seedance 2.0's IP filter is aggressive.

Substitutions:
- "reference Iron Man" → "atom-punk retro-futurist red-and-gold combat suit"
- "Michael Jackson dance" → "1980s signature breakdance moves (beat-synced head turns / shoulder rolls / moonwalk / tilted-hat hip wave)"
- "BLACK SUN aesthetic" → "gritty dark battle-damaged aesthetic"

If the user **explicitly insists** on an IP name, write it but **add a
warning line at the end**:
> *"Note: this prompt contains an IP name ({name}). Seedance may block
> it. Consider replacing it or deleting some punctuation."*

**Model-specific advice to include at end of output:**
- Seedance 2.0 (Doubao/Jimeng): strict IP filter — avoid named IP; ZH or EN both fine; single-shot 4–15s on Jimeng web/VolcEngine but the Doubao app is locked to 5s/10s — don't promise 15s on Doubao.
- Veo 3 / 3.1: strict IP filter; EN preferred; 8s/clip (extend in 7s hops); dedicated negative field — put plain noun phrases there, not `no…` commands.
- Kling 2.x / 3.0: strict pre-gen banned-word filter rejects the WHOLE prompt on one flagged term — sanitize body/contact words first; ZH or EN; 5–10s (3.0 up to ~15s single-prompt); has a negative field (use for sliding-feet/extra-fingers/morph artifacts).
- Hailuo / MiniMax: moderate IP filter; ZH or EN; resolution-vs-duration trade-off (1080p ~6s vs 768p ~10s); negative field exists but use sparingly for specific artifacts.
- Wan 2.x (Alibaba, open-source): lenient when self-hosted; leans Chinese (add ZH for tricky/first-last-frame shots); ~3–8s (newer builds ~10–15s); robust negative field.
- Runway Gen-4 / 4.5: strict IP filter; EN; 5s or 10s; NO negative prompts — `no X` can summon X, so describe only what SHOULD appear.
- Pika 2.2 / 2.5: moderate IP filter; EN; 5s/10s standard (Pikaframes keyframes ~25s, not general); 2.5 supports negatives, verify 2.2 in-app.
- Sora 2 / 2 Pro: strict triple-layer filter catches lookalike DESCRIPTIONS not just names — avoid recognizable trait-bundles; EN; up to ~25s single-pass on Pro; no negative field — fold guardrails into the positive prompt.

---

## 30-second self-check checklist (before delivery)

- [ ] All 5 stages present (core theme / character / atmosphere / camera / storyboard)
- [ ] Camera + lens model named (Rule 2)
- [ ] Full "breath-like float" sentence (Rule 3)
- [ ] "Sound: No score. Production audio only." (Rule 4)
- [ ] ≥2 imperfection descriptions (Rule 5)
- [ ] Closing is empty / restrained, no FX pile-up (Rule 6)
- [ ] No vague praise words: "perfect / stunning / epic / handsome / 4K / texture-rich" (Rule 1)
- [ ] No IP names, OR if present, warning line added (Rule 7)
- [ ] Negative prompt included for models that support a dedicated field (Seedance/Kling)
- [ ] Single-shot ≤ 15s / multi-shot ≤ 8 shots
- [ ] Closing model-specific advice line included

Less than full pass = don't deliver. Fix and re-check.

---

## What NOT to do

- Don't write "perfect / stunning / epic victory" — AI models respond poorly to these
- Don't make single-shots > 15s or multi-shots > 8 shots — reroll
  success rate collapses
- Don't omit "Sound: production audio only" — the AI will fabricate
  music
- Don't mix atmosphere blocks across different color tones — color
  drift wrecks multi-shot edits

---

## Output format

Output one complete, copy-paste-ready prompt. Don't split into multiple
code blocks. Use document structure (headers, bullets, time markers) so
the user can scan it at a glance.

**Then briefly**:
- 2–3 sentences explaining your writing choices
- 1 line of usage advice ("use Seedance 2.0, not Fast version" / "try
  this segment first to gauge texture")
- 1 line of target-model-specific compatibility advice

If the user gives feedback to modify a section, **rewrite only that
section** — don't resend the whole thing.

Files in this skill

  • SKILL.md11.1 KB
  • SKILL.zh.md10.2 KB
  • TESTING.md4.5 KB
  • examples/01-mecha-energy-shield.md2 KB
  • examples/02-skill-output-sample.md6.2 KB
  • examples/03-multi-shot-cat-encounter.md2.1 KB
  • examples/04-weapon-charge-combat.md2.4 KB
  • examples/05-ip-name-forced.md1.4 KB
  • examples/README.md2.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.