AugmentClaude

Shortfilm Prompt Generator

Generate cinematic AI video prompts for Sora, Kling, and other video models.

Installation

  1. Make sure Claude is on your device and in your terminal.

    Skills load from ~/.claude/skills/ when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. Paste into Claude Code or into your terminal.

    This copies the whole skill folder into ~/.claude/skills/shortfilm-prompt-jnmetacode/ — the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.

    Faster alternative (instruction-only skills)

    Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.

    Quick install (SKILL.md only)
    Sign up to copy
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

  4. Just ask Claude.

    Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.

Prefer to read the source first? Open on GitHub.

When Claude uses it

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.

What this skill does

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 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 user wants…Load
15s single-shot transformationtemplates/15s-transformation.md
Multi-shot edited narrativetemplates/multi-shot-narrative.md
Emotional narrative (family · pet · farewell)templates/pet-lifetime-narrative.md (full worked example)
How the camera should move, by genretemplates/genre-camera-sop.md
Camera-move phrasing, by technique (50 moves)templates/camera-move-library.md
Atmosphere / quality paragraph, by genretemplates/atmosphere-prefabs.md
Negative-prompt block + per-model routingtemplates/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:

AestheticCamera + lens
Epic / big-sceneIMAX film camera + Panavision C-series (35mm, f/4)
Gritty cyber / hard sci-fiSony Venice + Canon K-35 series
Hong Kong noir / wuxiaKodak 35mm bleach-bypass
Commercial portraitCanon 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 / perfectDelete, 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-qualityDon'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.

Related skills