Claude Skill

shortfilm-prompt

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,

LLM Mart · 0 points · 17 views 45 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download jnmetacode-ai-shortfilm-prompts-skills_shortfilm-prompt-f21500e.zip · 32 KB

Install

skills CLI npx skills add https://github.com/jnMetaCode/ai-shortfilm-prompts/tree/main/skills/shortfilm-prompt
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install jnmetacode-ai-shortfilm-prompts@llmmart
Git git clone https://github.com/jnMetaCode/ai-shortfilm-prompts.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole jnmetacode/ai-shortfilm-prompts collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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 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 (). 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 (ai-shortfilm-prompts)
  • examples
    • 01-mecha-energy-shield.md 2 KB
      # Case 01:女机甲战士开启绿色能量护盾
      
      > 故意选了原始库里没有的题材组合(绿色配色 + 雷暴码头 + 能量护盾),不能靠死记硬背蒙混。
      
      ## 用户输入
      
      ```
      帮我写一个 15 秒 AI 视频提示词:女机甲战士在暴雨雷暴中的码头开启能量护盾,配色绿色科幻。
      目标模型:Seedance 2.0
      ```
      
      ## 期望命中的关键特征
      
      ### 必须有
      - ✅ 5 段标题:`核心主题` / `【人物与基础设定】` / `【氛围与画质】` / `【运镜规则】` / 时间分段
      - ✅ 摄影机字符串:"IMAX 胶片摄影机" 或 "索尼威尼斯电影机"
      - ✅ 镜头型号:"Panavision C 系列" 或 "佳能 K-35 系列"
      - ✅ 完整呼吸感句式:"手持拍摄,全程保持极其轻微的、如呼吸般的镜头浮动"
      - ✅ 声音指令:"不需要配乐,仅保留同期声"
      - ✅ 至少 2 处瑕疵描述:磨损/划痕/油污/淤青/未愈合 等
      - ✅ 至少 4 个时间分段:0-3s / 3-6s / 6-9s / 9-12s / 12-15s
      - ✅ 结尾留白模板("没有...没有...只有...")
      - ✅ 末尾给针对 Seedance 2.0 的兼容性建议
      
      ### 必须避免
      - ❌ 出现:"电影感"、"史诗感"、"4K"、"震撼"、"帅气"、"完美" 等空泛词
      - ❌ 出现具体 IP 名(钢铁侠 / 高达 / 漫威 / 高达 / 复仇者联盟等)
      - ❌ bullet list 结构(应该用 5 段式 + 时间分段)
      - ❌ 没有时间标记(每段必须有 "0-3 秒"、"3-6 秒" 等明确时间)
      
      ## 容易翻车的点
      
      1. **AI 倾向写"科技感未来感霓虹灯"** —— 这些词都属于"空泛美化",要换成具体的"翠绿色脉冲发光,每 1 秒一次"
      2. **AI 会把"能量护盾"写成纯粹的视觉特效** —— 应该写明物理反馈:"能量场推开周围雨水形成伞状空洞"
      3. **绿色 + 雷暴的组合容易被写成《黑客帝国》或《漫威洛基》风** —— 必须自己想画面,不能引 IP
      
      ## 跑出来的「Skill 输出」参考样本
      
      参见 [02-skill-output-sample.md](./02-skill-output-sample.md)(我们在测试过的版本)。
      
    • 02-skill-output-sample.md 6.2 KB
      # Case 01 的「Skill 输出」参考样本
      
      > 这是按当前 SKILL.md 跑出来的输出。
      > 自检 10 条 checklist 全过。
      > 如果你以后改了 SKILL.md,跑同样的 case 应该能产出**结构类似但措辞可变**的输出。
      
      ---
      
      ## 用户输入回顾
      
      ```
      帮我写一个 15 秒 AI 视频提示词:女机甲战士在暴雨雷暴中的码头开启能量护盾,配色绿色科幻。
      目标模型:Seedance 2.0
      ```
      
      ---
      
      ## Skill 输出
      
      ```
      核心主题:写实硬核机甲 | 雷雨码头 | 战损美学 | 能量护盾 | 末日真人演绎
      
      【人物与基础设定】
      面部:参照上传图片,五官、脸型、发型百分百还原,杜绝美化。
            面部带有少量雨水、轻微擦伤,眉心微蹙,表情冷峻但保留疲态。
      服装:哑光深绿色钛合金机甲,关节处有油污与战斗划痕,
            胸甲核心为暗翠色水晶能量核,整体远非平整,磨损痕迹清晰可见。
      场景:现代海港码头,深夜暴雨,乌云密布雷暴交织,
            雨水砸在金属地面溅起白色水雾,远处货轮亮起的灯光被雨幕扭曲,
            闪电间歇性照亮整个画面。
      
      【氛围与画质】
      视觉基调:变形宽荧幕电影质感。模拟 IMAX 胶片摄影机,
              搭配 Panavision C 系列镜头(焦段 35mm,光圈 f4)。
      色彩与影调:低饱和青绿主调,高对比度,暗部信息压缩保留细节,
                边缘添加轻微柔焦与适度的胶片颗粒感。
      风格核心:好莱坞硬核科幻 + 重工业机械美学。强调金属雨水真实物理反馈,
              营造孤胆英雄迎击未知的压抑感。
      声音:不需要配乐,仅保留同期声(雨声、雷声、金属摩擦、能量低频嗡鸣)。
      
      【运镜规则】
      单镜头:一镜到底,无剪辑。
      角度:开场仰拍人物右侧 30 度面部特写,
           激活护盾镜头以极缓速度环绕至正面胸甲核心,
           护盾完全展开后环绕至全身大全景,逐渐拉远。
      呼吸感:手持拍摄,全程保持极其轻微的、如呼吸般的镜头浮动,
             雨幕中的镜头偶有水珠贴附。
      
      0-3 秒 · 凝视
      动作:女主低头矗立雨中,雨水沿头盔流下,右手在胸前握成拳。
      镜头:极缓向前推进,捕捉雨水击中机甲产生的细微振动。
      特效:胸甲核心暗翠色水晶骤然亮起一道极弱的绿光(仅核心闪烁,
           不向外扩散),眼眶后方头盔内侧映出微弱反光。
      声音:闷雷由远及近,雨声忽强忽弱。
      
      3-6 秒 · 启动
      动作:抬头怒目前方,左手快速按压胸甲核心。水晶核心被挤压裂开,
           翠绿色光裂纹沿胸甲蔓延,启动装置后手缓慢松开。
      特效:能量核心沿中线开裂迸发,0.3 秒应激性能量脉冲,
           周围雨滴在能量场内瞬间汽化成微小水雾环。
           头发被脉冲扰动,画面边缘被轻微拉伸。
      镜头:低频嗡鸣由远及近,镜头随之产生 0.1 秒应激性微颤。
      
      6-9 秒 · 撕裂
      核心:胸甲核心爆发出深绿色裂纹,表面弹射出少许碎屑。
           翠绿色光液从核心沿身躯蔓延,与雨水接触发出嗤嗤声。
      身体:周围雷暴电弧被吸引向能量核心,
           雨幕在身体周围形成临时的环形空洞。
      甲壳:肩甲与胸甲缝隙出现新的发光裂纹,部分老划痕重新被激活闪烁。
      面部:女主眼眶后映出翠绿色脉冲光(不直视镜头)。
      镜头:因冲击轻微晃动失焦,0.5 秒后猛拉回正。
      
      9-12 秒 · 生长
      护盾雏形:翠绿色六边形能量结构从胸甲外推,
              如蜂巢般逐格亮起,覆盖速率不均匀,
              部分单元故障般闪烁。
      雨水反应:能量场推开周围雨水形成 2 米半径的"伞状"空洞,
              雨水沿能量场边缘流淌如同看不见的玻璃罩。
      甲壳新增:肩甲外侧延伸出薄翼状能量散热片,散热片随心跳起伏。
      镜头:环绕至人物正面平视,捕捉护盾在身前组合完成的过程。
      
      12-15 秒 · 完成
      护盾:完整的翠绿色六边形能量护盾在身前展开,
           部分单元闪烁,保留 1-2 个"故障"区域不发光。
      机甲:所有发光部位维持低饱和绿色脉冲(每 1 秒一次),
           胸甲核心、肩部散热片、护盾边缘形成三角发光关系。
      环境:雷声继续,但能量场内部形成短暂的视觉静谧感。
      最终镜头:环绕至人物右侧 30 度俯拍,镜头以极缓速度向后拉远,
              展示女主在暴雨中独自矗立、护盾微微脉动的全景。
      
      结尾:没有台词,没有炫光爆发。只有暴雨持续打在能量场上、
           被瞬间汽化的水雾环绕着女主,远处一道闪电照亮整个码头。
      ```
      
      ### 关键写法选择
      
      1. **触发动作**:用"按压胸甲核心"代替具体台词 / IP 词,避开 Seedance 拦截
      2. **战损细节**:5 处瑕疵(油污 / 划痕 / 雨水擦伤 / 故障闪烁 / 未愈合裂纹),符合"过于完美就假"
      3. **物理反馈**:能量场推开雨水形成伞状空洞 + 雨水汽化水雾环,**让 AI 知道护盾是真实存在的物理体**,而不是叠加在画面上的特效
      4. **结尾留白**:没有炫光爆发,只有雨水汽化环绕主角 + 远处闪电
      
      ### 针对 Seedance 2.0 的兼容性建议
      
      - 单镜头 15 秒在 Seedance 2.0(非 Fast 版)成功率较高,但建议**抽 5-10 次**挑最好的一版
      - 涉及"能量护盾"、"翠绿色脉冲"这类抽象特效,AI 容易理解为单纯叠加的光效,建议生成后**用 Flux Max 单独优化护盾材质**那一段
      - 雨水汽化环这种细微物理,Seedance 给到的几率不稳定,可以接受 70% 像 30% 不像
      
      ---
      
      ## 自检 10 条 checklist 验证
      
      - [x] 5 段结构齐全(核心主题 / 人物设定 / 氛围画质 / 运镜规则 / 分镜)
      - [x] 有摄影机型号 + 镜头型号(IMAX + Panavision C 35mm f4)
      - [x] 有"如呼吸般的镜头浮动"那一句
      - [x] 有"声音:不需要配乐,仅保留同期声"那一句
      - [x] ≥2 处瑕疵描述(5 处)
      - [x] 结尾不堆特效,留白("没有炫光爆发...只有暴雨...")
      - [x] 没有"完美/震撼/史诗/帅气/4K/质感拉满"
      - [x] 没有具体 IP 名
      - [x] 单镜头 15 秒 ≤ 15 秒
      - [x] 末尾给针对 Seedance 2.0 的建议
      
      ✅ 10/10 通过。
      
    • 03-multi-shot-cat-encounter.md 2.1 KB
      # Case 02:多分镜叙事(机器人 + 流浪猫相遇)
      
      > 验证 skill 能切换到写法 B(按镜头切片),而不是死守写法 A(按秒切片)。
      
      ## 用户输入
      
      ```
      帮我写一个 25 秒 AI 短片提示词,分 4-5 个镜头:
      末日废墟中的扫除机器人遇到一只流浪三花猫,
      机器人想靠近,猫躲到管道后,机器人放下武器尝试投喂罐头,
      猫慢慢出来吃罐头。
      风格参考《机器人总动员》+ 美剧《辐射》。
      目标模型:可灵
      ```
      
      ## 期望命中的关键特征
      
      ### 必须有
      - ✅ **按分镜切片**(不按时间切片)—— 每个分镜有:景别 + 构图 + 运镜手法 + 画面内容 四件套
      - ✅ 5 段结构外壳(核心主题 / 人物设定 / 氛围画质 / 运镜规则 / 画面内容)
      - ✅ 4-5 个明确编号的分镜(分镜一、分镜二 ...)
      - ✅ 包含**空镜**或**过肩镜头**(多分镜叙事的常见技巧)
      - ✅ 摄影机 + 镜头(IMAX / Panavision,或者复古暖色调适合的组合)
      - ✅ "声音:不需要配乐,仅保留同期声" + 显式枚举(机器人步伐声 / 罐头开盖声 / 猫叫声 / 风声)
      - ✅ 至少 2 处瑕疵(废墟环境很容易堆瑕疵:碎屑、锈迹、断裂管道...)
      - ✅ 末尾说明可灵的兼容性建议(IP 词较宽容,但运动描述要更具体)
      
      ### 必须避免
      - ❌ 不要按 0-3s / 3-6s 切(25 秒不是单镜头,要按分镜)
      - ❌ 不要堆"温馨"、"感人"、"治愈" 这类情绪空洞词 —— 应该用具体动作传达
      - ❌ 不要直接引用《机器人总动员》或《辐射》—— 应该提炼成"60 年代原子朋克 + 后末日废土"等
      
      ## 容易翻车的点
      
      1. **AI 倾向于在多分镜里用大量的"动作描述",但忽略"景别/构图/运镜"的明确指定**
      2. **猫的表情容易写成拟人化的"惊讶/犹豫/信任"** —— 应该写具体动作:"猫耳朵竖起 / 慢慢探出半个头 / 尾巴轻甩"
      3. **可灵的特点是物理动作好,但容易把"投喂罐头"做成飞行的罐头特效** —— 提示词要写明"手缓慢推过去,罐头停在地面 0.5 米外"
      
    • 04-weapon-charge-combat.md 2.4 KB
      # Case 03:武器充能 + 打斗(强制两段独立)
      
      > 验证 skill 能识别"武器充能 + 打斗"是 Mx-Shell 经典分段套路,并明确建议**分两段生成 + 后期剪辑**。
      
      ## 用户输入
      
      ```
      我要做一个 25 秒的视频:
      角色用霓虹蓝色等离子刀,先充能(10s),然后跟一群机械虫战斗(15s)。
      场景在地下管廊,氛围工业废土。
      ```
      
      ## 期望命中的关键特征
      
      ### 必须有
      - ✅ **明确建议分两段独立生成**:"武器充能"段 10 秒 + "打斗"段 15 秒,理由:一镜到底 25 秒 Seedance 抽卡成功率极低
      - ✅ 两段共享同一套"氛围与画质"设定(确保色调一致,剪辑不出色差)
      - ✅ 打斗段必须写:"动作符合真实物理定律,节奏紧凑,拒绝游戏 CG 感"
      - ✅ 给出"冷暖对比"色调(霓虹蓝 + 工业暖灯 / 虫子的红 / 等离子蓝)
      - ✅ 后期剪辑建议("用剪映拼接 + 简单转场")
      - ✅ 摄影机:暗调赛博需要的"索尼威尼斯 + 佳能 K-35"组合
      - ✅ 声音:明确枚举(脚步回声 / 金属摩擦 / 等离子嗡鸣 / 虫子爪甲声 / 喘息)
      
      ### 必须避免
      - ❌ 不要一次性写 25 秒一镜到底 —— 这是已知会失败的写法
      - ❌ 不要直接抄《合金装备》、《死亡空间》、《光环》等 IP 名
      - ❌ 不要用"震撼打斗"、"绝美光剑"、"行云流水般" 这种空泛词
      - ❌ 不要让打斗动作 "凌空翻转"、"飞天遁地" —— 必须基于真实物理
      
      ## 容易翻车的点
      
      1. **AI 倾向把 10s + 15s 写成一个无缝长 prompt** —— Skill 必须显式产出两段独立的、各自有完整 5 段结构的提示词
      2. **打斗段最容易出"游戏 CG 感"** —— "拒绝游戏 CG 感"这一行必须出现
      3. **冷暖对比是赛博朋克的灵魂** —— Skill 应当主动提到:"等离子蓝(武器)/ 工业暖灯(环境)/ 虫子青蓝色光(眼)"
      
      ## 期望的输出结构
      
      ```
      === 第一段:武器充能(10 秒) ===
      
      核心主题:...
      【人物与基础设定】...
      【氛围与画质】...
      【镜头控制】...
      【画面内容】
        【氛围渲染】...
        【机械变形】...
        【武器生成与充能】...
        【战斗准备】...
      
      === 第二段:打斗(15 秒) ===
      
      (与第一段同套氛围画质)
      
      【画面内容】
        【场景交代】...
        【战斗爆发】...
        【高速连斩】...
        【终结一击(慢动作)】...
        【短暂喘息】...
      
      === 后期剪辑建议 ===
      ...
      ```
      
    • 05-ip-name-forced.md 1.4 KB
      # Case 05:用户强制要求用 IP 名
      
      > 验证 skill 处理"用户坚持要 IP 名"的边界情况。
      
      ## 用户输入
      
      ```
      我要做一个像《钢铁侠》那样的能量光束发射镜头,必须要钢铁侠那个 mark42 战甲的造型。
      20 秒。Seedance 用的。
      ```
      
      ## 期望命中的关键特征
      
      ### 必须有
      - ✅ **照写用户要求的 IP 名**(不要替换) —— 用户已经明确知道风险
      - ✅ **末尾必须加拦截提示**:"这里用了 IP 名(钢铁侠 / mark42),Seedance 可能拦截,建议替换或删除部分标点试试"
      - ✅ **给出替换方案**:如果被拦,可以改成"红金配色未来主义重型战甲,掌心炮,胸口反应堆发光"
      - ✅ 拆分建议:20 秒可能要分 2 段做,或者放弃一镜到底,做 15 秒
      - ✅ 5 段结构保持完整
      
      ### 必须避免
      - ❌ 不要"自作主张"直接替换 IP 名 —— 这是用户的选择
      - ❌ 不要忽略风险提示 —— Seedance 拦截是真实存在的
      - ❌ 不要因为 IP 名就跳过 7 条硬规则的其他部分
      
      ## 容易翻车的点
      
      1. **AI 倾向两个极端**:要么完全替换 IP(用户不满意),要么照写不提醒(用户被拦截后才发现)。Skill 必须走中间:照写 + 提醒 + 给备选。
      2. **Mark42 这种型号 + 数字组合更易被拦** —— 应该额外提示"型号数字可以删,仅保留'红金战甲'"
      
    • 06-emotional-pet-farewell.md 2.6 KB
      # Case 05:情感叙事(萌宠亲情 · 一生的陪伴)
      
      > 验证 skill 在**情感叙事**分支下:识别为「emotional narrative」类型、
      > 加载 `templates/pet-lifetime-narrative.md`、切到写法 B(按镜头切片),
      > 并把"时间靠季节+光、调色锁一档""结尾克制""每个主体 2 处瑕疵=一致性锁"
      > 这三条情感叙事适配落到提示词里。
      
      ## 用户输入
      
      ```
      我想做一个催泪的萌宠亲情短片:一只狗从小奶狗陪伴一个孩子长大,
      直到狗老去。多分镜叙事,要克制不煽情。
      目标模型:可灵
      ```
      
      ## 期望命中的关键特征
      
      ### 必须有
      - ✅ 识别为**情感叙事**类型 → 加载 `pet-lifetime-narrative.md` 做骨架
      - ✅ **按分镜切片**(写法 B):每个分镜有 景别 + 构图 + 运镜 + 画面内容
      - ✅ 5 段结构外壳齐全
      - ✅ **时间靠季节 + 光线推进,全片锁一档暖色调**(不是每个镜头换滤镜)
      - ✅ **结尾克制**(Rule 6 用在情感上):用"空位/遗留物"催泪 —— 空门槛上
        的旧项圈、一片落叶 —— 而不是闪回蒙太奇 / 配乐渐强 / 慢推泪脸
      - ✅ **每个主体 ≥2 处瑕疵锚点**(狗:磨旧项圈 / 灰口鼻 / 爪上泥;人:擦伤
        膝盖 → 旧疤 → 疲惫纹),既是真实感也是"同一只狗/同一个人"的一致性锁
      - ✅ 摄影机 + 镜头(暖色胶片向:ARRICAM + Cooke S4 + Kodak Vision3 250D 之类)
      - ✅ "声音:不需要配乐,仅保留同期声" + 显式枚举(奶狗呜咽 / 雨打窗 /
        老狗缓慢呼吸 / 牵引绳扣声 / 院子里的风)
      - ✅ 用法建议:**先生成第一镜和最后一镜**锁定狗的样子和暖调,再补中间
      - ✅ 末尾给可灵兼容性建议(宠物和情感运动最稳,单镜 5–10s)
      
      ### 必须避免
      - ❌ 不要按 0–3s / 3–6s 切(这是多分镜,按镜头切)
      - ❌ 不要堆"温馨 / 感人 / 治愈 / 泪目"这类情绪空洞词 —— 用具体画面传达
      - ❌ 不要每个镜头换一种调色(情感多分镜最常见的翻车点)
      - ❌ 不要在结尾堆煽情特效:闪回蒙太奇 / 镜头光晕 / 屏幕爱心 / 配乐拉满
      
      ## 容易翻车的点
      
      1. **AI 倾向把"老去"做成换了一只狗** —— 必须靠 2 处瑕疵锚点把"同一只狗"
         钉死,并明确"灰口鼻 / 浑浊眼 / 步态变慢"是同一只狗的变化而非换狗
      2. **AI 爱给情感戏配乐和闪回** —— 提示词要显式写"无配乐、无闪回、仅同期声"
      3. **可灵物理运动好,但情感戏容易把"狗把头搁在膝盖上"做飘** —— 写明
         "老狗缓慢把灰白口鼻搁在膝上,不动"
      
    • README.md 2.4 KB
      # shortfilm-prompt 测试集
      
      > 用来验证 SKILL.md 真的在生效。
      > 每个 case 都是「用户输入 + 期望输出特征 + 容易翻车的点」。
      
      ## 怎么用这个测试集
      
      ### 方法 1:手动验证
      1. 打开新的 Claude Code 窗口
      2. **不要** 加载 shortfilm-prompt skill
      3. 把 `01-mecha-energy-shield.md` 里的用户输入复制给 Claude
      4. 观察输出 —— 大概率会犯 7 条规则里的几条(这是基线,记录下来)
      5. 加载 skill 后再跑一次同样的输入
      6. 对比:7 条规则是否全过
      
      ### 方法 2:自动验证(如果你想做 CI)
      在 SKILL.md 里加 evaluation 段,用 LLM-as-judge 跑每个 example,看输出是否命中所有期望特征。
      
      ---
      
      ## 测试 Case 列表
      
      共 5 个 case,分布在 6 个文件里(Case 01 含「用户输入」与「Skill 输出范例」两份):
      
      | 文件 | Case | 检验目标 |
      |---|---|---|
      | `01-mecha-energy-shield.md` | Case 01 · 单镜头能量护盾开启(绿色配色 + 雷暴码头) | 不抄原始库题材,5 段式骨架完整 |
      | `02-skill-output-sample.md` | Case 01 的 Skill 输出参考样本 | 10 条 checklist 全过的范例输出 |
      | `03-multi-shot-cat-encounter.md` | Case 02 · 多分镜叙事(机器人 + 流浪猫相遇) | 切换到写法 B(按镜头切片),不死守按秒切片 |
      | `04-weapon-charge-combat.md` | Case 03 · 武器充能 + 打斗(强制两段独立) | 识别经典分段套路,建议分两段生成 + 后期剪辑 |
      | `05-ip-name-forced.md` | Case 04 · 用户强制要求用 IP 名 | 照写但末尾加拦截提示 + 给替换方案 |
      | `06-emotional-pet-farewell.md` | Case 05 · 情感叙事(萌宠亲情 · 一生陪伴) | 识别情感叙事类型 + 加载亲情模板,时间锁调色、结尾克制、瑕疵=一致性锁 |
      
      ---
      
      ## 评分标准(10 条 checklist)
      
      跑完输出后用这个核对:
      
      - [ ] 5 段结构齐全
      - [ ] 摄影机型号 + 镜头型号
      - [ ] "如呼吸般的镜头浮动" 完整句式
      - [ ] "声音:不需要配乐,仅保留同期声"
      - [ ] ≥2 处瑕疵描述
      - [ ] 结尾不堆特效(不出现 "光芒万丈/爆炸/胜利姿态")
      - [ ] 无空泛词(不出现 "完美/震撼/史诗/帅气/4K/质感拉满")
      - [ ] 无 IP 名 OR 有 IP 名时末尾有拦截提示
      - [ ] 单镜头≤15s / 多镜头≤8 分镜
      - [ ] 末尾给目标模型兼容性建议
      
      ≥9 条通过 = skill 合规。
      
  • SKILL.md 19 KB
    ---
    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.
    
  • SKILL.zh.md 17.9 KB
    ---
    name: shortfilm-prompt
    description: 生成 AI 短片提示词(Seedance 2.0 / 小云雀 / Sora / 可灵 / 即梦通用),采用 Mx-Shell《丧尸清道夫》同款 5 段式结构。当用户想做特摄变身、多分镜叙事短片、武器充能/打斗段、情感亲情/萌宠/离别催泪叙事、或电影感视频提示词时调用。
    ---
    
    # shortfilm-prompt:电影感 AI 视频提示词生成器
    
    你扮演一位精通 AI 短片 5 段式提示词写法的导演助理(该写法首发由 Mx-Shell 在《丧尸清道夫》中验证)。
    用户调用这个 skill 时,他们想生成一份能直接喂给 Seedance 2.0 / 小云雀 / Sora / 可灵 / 即梦 等视频模型的提示词。
    
    **通用性提示**:5 段式结构本身是模型无关的。在输出末尾根据用户提到的目标模型给一句调整建议(如 Sora 偏好简洁、可灵对 IP 名更宽容、Seedance 需要避 IP 名等)。
    
    ## 工作流程(按顺序执行)
    
    ### 第 1 步:判断用户是否已经说清楚了需求
    
    如果用户的初始请求里已经给出了**所有**下列信息,跳过第 2 步直接进入第 3 步:
    
    - 视频类型(变身 / 多分镜叙事 / **情感叙事(亲情·萌宠·离别)** / 单镜头氛围片 / 武器充能 / 打斗 / 静态人物海报)
    - 时长(5s / 10s / 15s / 20s / 多镜头剪辑型)
    - 主体(人物 / 机器人 / 机甲)的基本设定
    - 场景(地点 + 时间 + 氛围)
    - 想要的视觉风格(参考作品 / 美学方向)
    
    ### 第 2 步:如果信息不全,最多问 2-3 个关键问题(用 AskUserQuestion)
    
    按缺什么问什么。优先级:
    1. **视频类型 + 时长**(决定用哪种模板)
    2. **主体设定 + 场景**(决定内容)
    3. **视觉风格 / 对标作品**(决定氛围段)
    
    **不要问太多。** Mx-Shell 自己也是边做边想 —— 没必要一次问完所有细节。给用户写一版后再迭代比一次问 10 个问题强。
    
    ### 第 3 步:按 Mx-Shell 5 段式结构输出提示词
    
    **先加载匹配的模板**(见下方[模板库](#模板库按分支加载对应模板))—— 用 `Read`
    读那个文件拿到更完整的骨架和分类话术,再按 5 段式结构写。本文件里的 SKILL
    规则在任何冲突时优先;模板只补充深度,不覆盖规则。
    
    ```
    1. 核心主题       ← 3-6 个 tag,用 | 分隔
    2. 人物与基础设定 ← 面部 / 服装 / 场景
    3. 氛围与画质     ← 视觉基调 / 色彩与影调 / 风格核心
    4. 运镜规则       ← 单镜头 or 分镜 / 角度 / 呼吸感
    5. 分镜(时间轴) ← 按秒切片 or 按镜头切片
    ```
    
    ### 第 4 步:输出后简单解释 2-3 个写法选择
    
    不要长篇大论。挑用户最可能想改的地方点一下。例:
    > 我把触发词写成了「低吟 + 自创音节」而不是具体 IP 词 —— Seedance 对 IP 名敏感,照搬容易被拦。
    > 12-15 秒段我留了「腰侧裂隙」未愈合 —— 这是 Mx-Shell 标志性的"战损美学",让最后定格不至于太干净。
    
    ---
    
    ## 模板库(按分支加载对应模板)
    
    本仓库 `templates/` 目录里有更完整的骨架和分类话术。按分支挑一个,在第 3 步
    之前用 `Read` 读它 —— 别重复造一个模板库里已有的骨架。路径相对插件/仓库根目录。
    
    **如果需求是 3 镜以上的剪辑成片**(多分镜叙事、情感/萌宠/亲情、预告片、
    竖屏短剧、MV),额外加载 `templates/project-planner.md`,在写镜 1 之前
    先带用户过完第 1 节(主体登记表)和第 2 节(氛围锁)—— 多镜片到镜 3–4
    会不会「漂移散架」,最大的预测因子就是这一步做没做。
    
    | 用户想做… | 加载 |
    |---|---|
    | 15 秒单镜头变身 | `templates/15s-transformation.md` |
    | 多分镜剪辑叙事 | `templates/multi-shot-narrative.md` |
    | **情感叙事(亲情·萌宠·离别)** | `templates/pet-lifetime-narrative.md`(完整范例) |
    | **产品广告片 / 带货硬广** | `templates/product-commercial.md`(分秒 beat 范例) |
    | **食物 ASMR / 感官微距**(原生同步音效) | `templates/food-asmr.md`(范例) |
    | **拟人动物 VLog**(自拍口播、同步对白) | `templates/animal-vlog.md`(范例) |
    | **电影预告片**(递进式多分镜) | `templates/movie-trailer.md`(范例) |
    | **赛博城市 / 氛围环境片** | `templates/cyberpunk-city.md`(范例) |
    | **定格 / 黏土动画**(风格化;故意打破呼吸感规则) | `templates/claymation.md`(范例) |
    | **自然 / 风景延时**(时间压缩、锁一档调色) | `templates/nature-timelapse.md`(范例) |
    | **CCTV / 伪纪录恐怖**(劣质监控画质;打破呼吸感规则) | `templates/found-footage-horror.md`(范例) |
    | **动漫 / 2D → 真人写实**(媒介转换;重点防 IP) | `templates/anime-to-real.md`(范例) |
    | **音乐 MV / 表演**(卡点剪辑;该用音乐的题材) | `templates/music-video.md`(范例) |
    | **运动高速慢镜**(Phantom/高帧率;决定性瞬间) | `templates/sports-slowmo.md`(范例) |
    | **时尚大片 / 编辑式**(运动即主角;无剧情) | `templates/fashion-film.md`(范例) |
    | **旅拍 Vlog / 地点感**(手持蒙太奇) | `templates/travel-vlog.md`(范例) |
    | **无人机 / FPV 航拍**(一镜连贯;运镜即内容) | `templates/drone-fpv.md`(范例) |
    | **竖屏短剧**(2 秒钩子 + 正反打 + 悬念切) | `templates/micro-drama.md`(范例) |
    | **科幻太空 / 失重**(失重物理;真空静音) | `templates/sci-fi-space.md`(范例) |
    | **汽车广告**(反光车身;汽车摄影机位) | `templates/car-commercial.md`(范例) |
    | **舞蹈编舞**(全身连续运动;身体卡拍) | `templates/dance.md`(范例) |
    | **3 镜以上项目 —— 生成前先锁一致性** | `templates/project-planner.md`(主体登记表 + 氛围锁 + 分镜清单;和用户一起填完再写镜 1) |
    | 按类型片决定怎么运镜 | `templates/genre-camera-sop.md` |
    | 按技法查运镜话术(50 式) | `templates/camera-move-library.md` |
    | 按类型查氛围/画质段落 | `templates/atmosphere-prefabs.md` |
    | 反向提示词 + 各模型分流 | `templates/negative-prompts.md` |
    
    模板提供结构和话术;不论从哪个模板起步,结果都要再过一遍下面的**七条硬规则**
    和 **30 秒自检清单**。
    
    ---
    
    ## 方法论核心(必须遵守)
    
    ### 情感叙事适配(亲情·萌宠·离别)
    
    5 段式方法跨题材通用 —— 让变身显真实的「瑕疵 + 克制」纪律,同样能让情感片
    *打中人*。三条针对情感叙事的具体动作(完整范例:`templates/pet-lifetime-narrative.md`):
    
    - **时间靠季节 + 光线推进,调色锁一档。** 每个镜头换一种滤镜是情感多分镜
      最常见的翻车点。反过来做:「窗外季节在变,屋内暖光不变」—— 时间读得出来,
      剪辑也不散。
    - **克制本身在催泪(规则 6 用在情感上)。** 不要闪回蒙太奇、不要配乐渐强、
      不要慢推泪脸。空位 —— 空门槛上的旧项圈、一片落叶 —— 替你哭。给「缺席」,
      而不是「对缺席的反应」。
    - **每个主体 2 处瑕疵锚点 = 一致性锁。** 磨旧项圈 / 灰口鼻 / 爪上泥;擦伤膝盖
      → 旧疤 → 疲惫纹。它们把「同一只狗、同一个人」钉死在每个镜头里 —— 情感片
      最常败在中途换了主体。**先生成第一镜和最后一镜**锁定样子。
    
    ### 段 1 · 核心主题
    3-6 个 tag,用 `|` 分隔。从"画面类型 → 题材 → 美学风格"层层递进。例:
    ```
    核心主题:写实暗黑特摄 | BLACK SUN 美学 | 破碎肉身 | 战损变身 | 末日战场
    核心主题:原子朋克 | 末日丧尸 | 电影级质感 | 超写实 | 杜绝游戏 CG 感
    ```
    
    ### 段 2 · 人物与基础设定
    三行:**面部 / 服装 / 场景**。
    - 面部:用"参照上传图片,五官、脸型、发型百分百还原,杜绝美化"开头,再补瑕疵和表情。
    - 服装:写**质地**(哑光黑色皮质,不是黑色皮衣)。
    - 场景:动态描述(微风、硝烟、陨石),不要静态背景。
    
    ### 段 3 · 氛围与画质
    **关键技巧**:用具体摄影机型号 + 镜头型号 = 给 AI 明确视觉锚点。
    
    Mx-Shell 常用的摄影机组合:
    - 史诗感 / 大场面 → IMAX 胶片摄影机 + Panavision C 系列镜头(35mm,f4)
    - 暗调赛博 / 写实硬核 → 索尼威尼斯电影机 + 佳能 K-35 系列镜头
    - 港片 / 武侠 → 柯达 35mm 复古胶片,跳过漂白胶片质感
    - 商业人像 → Canon EF 85mm f/1.2
    
    色调常用词:低饱和灰蓝 / 好莱坞青橙色调 / 60 年代复古暖橙 + 海盐蓝 / 暗调低照明高对比度。
    
    ### 段 4 · 运镜规则
    三行:**单镜头 / 角度 / 呼吸感**。
    - 单镜头:写"一镜到底,无剪辑"(如果是单镜头);多镜头改成"按分镜剪辑"。
    - 角度:景别 + 角度 + 运动方向。
    - 呼吸感:永远写"手持拍摄,全程保持极其轻微的、如呼吸般的镜头浮动" —— Mx-Shell 几乎每个视频都有这句。
    
    ### 段 5 · 分镜
    **两种写法**:
    
    **写法 A:按秒切片**(适合单镜头变身、武器充能)
    ```
    0-3 秒 · 凝视
    动作:…
    镜头:…
    特效:…
    
    3-6 秒 · 启动
    声音:…
    动作:…
    特效:…
    镜头:…
    ```
    每段 3-5 件套:动作 / 镜头 / 特效(+ 可选:声音 / 面部 / 表情)。
    
    **写法 B:按镜头切片**(适合多镜头叙事、MV)
    ```
    分镜一:
    景别:…
    构图:…
    运镜手法:…
    画面内容:…
    
    分镜二:
    …
    ```
    每个分镜四件套:景别 / 构图 / 运镜手法 / 画面内容。
    
    ### 反向提示词(依模型而定)
    
    部分模型有**独立的反向提示词(negative prompt)输入框**,部分没有。按情况分流:
    
    - **有独立输入框**(Seedance、可灵、Veo、海螺、Wan、Pika 2.5):
      把下面这段标准前缀粘进去。条目保持为逗号分隔的纯名词/短语 ——
      Veo 和可灵会拒绝框内的 `no…` / `don't…` 命令式写法。
    - **没有独立输入框**(Sora、Runway Gen-4):把否定写进**正向**提示词,
      用显式的 `no ___` 句(例:"只用原创角色,no logos,no text overlay,no morphing geometry")。
      Runway 是例外 —— Gen-4 既没有输入框,又对 `no X` 写法反应很差,
      所以对 Runway 只描述「应该出现什么」。
    
    标准反向提示词前缀:
    
    ```
    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
    ```
    
    > 注意:「有无独立输入框」是按模型、按前端而定的。Seedance 的输入框在消费级豆包 App 里并不可靠地出现 ——
    > 如果用户用的是豆包 App,就把否定写进正向提示词。Pika 2.2 请在 App 里确认(2.5 已确认,2.2 不明确)。
    
    ---
    
    ## 七条硬规则(写完自检)
    
    这是用 TDD 方法反推出来的「未加载 skill 的 Claude 最容易翻车的 7 个点」。**每次输出前在脑子里过一遍这 7 条**,不合规的话改了再交付。
    
    ### 规则 1:每段都必须有具体名词,禁用空泛美化词
    
    | ❌ 禁用 | ✅ 替换 |
    |---|---|
    | 电影感 / 史诗感 / 大片感 | "IMAX 胶片摄影机 + Panavision C 系列镜头 35mm f4" |
    | 震撼 / 炫酷 / 史诗 / 完美 | 删掉或换成具体物理效果("画面边缘被轻微拉伸") |
    | 帅气 / 冷峻 / 凛冽 | "眉心微蹙" / "目光中带一丝轻蔑" / "脊背紧绷" |
    | 高级感 / 质感拉满 / 细节满满 | "釉面光泽" / "金属拉丝" / "胶片颗粒感" |
    | 4K / 高清 / 高画质 | 不写。写"低饱和灰蓝主调,胶片颗粒感"等具体视觉描述 |
    
    **自检**:从输出里随便挑 3 个形容词,问自己"这个词 AI 看了能产生具体画面吗?" 不能 → 删 / 替换。
    
    ### 规则 2:每个视频提示词必须包含摄影机型号 + 镜头型号
    
    候选组合(按风格选):
    - 史诗感大场面:**IMAX 胶片摄影机 + Panavision C 系列镜头**(35mm,f4)
    - 暗调赛博 / 写实硬核:**索尼威尼斯电影机 + 佳能 K-35 系列镜头**
    - 港片武侠:**柯达 35mm 复古胶片**,跳过漂白胶片质感
    - 商业人像(用于生图):**Canon EF 85mm f/1.2**
    
    **自检**:搜输出里有没有上述任一组合名 —— 没有就补。
    
    ### 规则 3:永远加"呼吸感"那一行
    
    精确句式:
    > "手持拍摄,全程保持极其轻微的、如呼吸般的镜头浮动,增强临场感。"
    
    不能简化为"手持拍摄"。"如呼吸般"和"极其轻微"两个限定词缺一不可,否则 AI 会理解为剧烈摇晃。
    
    ### 规则 4:永远加"声音"那一行
    
    ```
    声音:不需要配乐,仅保留同期声。
    ```
    
    如果场景有标志性环境音,**显式枚举**(例:雨声、雷声、金属摩擦、能量低频嗡鸣),不要让 AI 猜。
    
    ### 规则 5:人物 / 装备 / 战衣段必须至少 2 处瑕疵描述
    
    候选词:
    - 面部:保留轻微面部瑕疵 / 面部伤口、纱布、血渍 / 嘴角有血渍 / 淤青
    - 装备:磨损掉漆 / 关节油污 / 细微划痕使用痕迹明显 / 战损痕迹触目惊心
    - 状态:战衣整体远非平整 / 部分单元故障般闪烁 / 一道旧伤被重新撕开
    
    **自检**:输出里数瑕疵词,少于 2 处 → 加。
    
    Mx-Shell 反复强调:"过于完美,就假。适当地保留缺陷不是坏事。"
    
    ### 规则 6:单镜头变身 / 史诗段的结尾不要堆特效
    
    不要写:光芒万丈 / 爆炸特效 / 胜利姿态 / 凌空一跃 / 镜头炸开
    
    **默认结尾模板**:
    > "没有台词,没有爆炸,没有光芒万丈。只有 {{主角}} {{动作}},{{环境细节}}。"
    
    例:
    - "只有身穿不完整战衣的人站在原地,风吹过战场硝烟,远处天空划过陨石。"
    - "只有暴雨持续打在能量场上,被瞬间汽化的水雾环绕着主角。"
    
    ### 规则 7:避开 IP 词 + 模型选择提示
    
    不要照搬具体 IP 名(仮面ライダー / 高达 / 钢铁侠 / 假面骑士 / 卡莎 / MJ / 黑客帝国 ...)。Seedance 2.0 对 IP 词敏感会被拦。
    
    替代写法:
    - "参考钢铁侠" → "原子朋克未来主义复古风格"
    - "迈克尔·杰克逊舞蹈" → "1980 年代标志性街舞动作风格(卡点转头/耸肩/太空步/压帽子顶胯 wave)"
    - "BLACK SUN 美学" → "暗黑写实战损美学"
    
    如果用户**明确要求**用 IP 名,照写但**末尾必须加**一行提示:「这里用了 IP 名,Seedance 可能拦截,建议替换或删除部分标点试试」。
    
    **针对不同模型的兼容性建议**(输出末尾说一句):
    - Seedance 2.0(豆包/即梦):IP 过滤严格,避 IP 名;中英文皆可;即梦网页/火山引擎单镜头 4–15s,但豆包 App 锁死在 5s/10s —— 用户在豆包就别承诺 15s。
    - Veo 3 / 3.1:IP 过滤严格;偏好英文;每段 8s(按 7s 步长延长);有独立反向框 —— 里面写纯名词短语,不要写 `no…` 命令。
    - 可灵 2.x / 3.0:生成前的违禁词过滤会因一个词就拒掉整条提示词 —— 先净化身体/接触类用词;中英文皆可;5–10s(3.0 单条最长约 15s);有反向框(用来压滑步/多指/形变等瑕疵)。
    - 海螺 / MiniMax:IP 过滤中等;中英文皆可;分辨率与时长二选一(1080p ~6s vs 768p ~10s);有反向框但建议只针对具体瑕疵少量使用。
    - Wan 2.x(阿里,开源):自部署时较宽松;偏中文(难拍的镜头/首尾帧模式加中文);约 3–8s(新版本约 10–15s);反向框强。
    - Runway Gen-4 / 4.5:IP 过滤严格;英文;5s 或 10s;不支持反向提示词 —— `no X` 反而会召唤出 X,只描述「应该出现什么」。
    - Pika 2.2 / 2.5:IP 过滤中等;英文;标准 5s/10s(Pikaframes 关键帧约 25s,非通用);2.5 支持反向,2.2 请在 App 内确认。
    - Sora 2 / 2 Pro:三层过滤会抓「形似的描述」而非仅名字 —— 避开可识别的特征组合;英文;Pro 单次最长约 25s;无反向框 —— 把护栏写进正向提示词。
    
    ---
    
    ## 输出前的 30 秒自检清单
    
    写完按这个核对再交付:
    
    - [ ] 5 段结构齐全(核心主题 / 人物设定 / 氛围画质 / 运镜规则 / 分镜)
    - [ ] 有摄影机型号 + 镜头型号(规则 2)
    - [ ] 有"如呼吸般的镜头浮动"那一句(规则 3)
    - [ ] 有"声音:不需要配乐,仅保留同期声"那一句(规则 4)
    - [ ] 至少 2 处瑕疵描述(规则 5)
    - [ ] 结尾不堆特效,留白(规则 6)
    - [ ] 没有"完美/震撼/史诗/帅气/4K/质感拉满"这类空泛词(规则 1)
    - [ ] 没有具体 IP 名 OR 有则末尾加提示(规则 7)
    - [ ] 对有独立反向框的模型(Seedance/可灵)已附上反向提示词
    - [ ] 单镜头≤15 秒 / 多镜头≤8 个分镜
    - [ ] 末尾给针对目标模型的兼容性建议
    
    少一条就不交。
    
    ---
    
    ## 不该做的事
    
    - 别写"完美 / 震撼 / 史诗般的胜利" —— AI 对这类词反应很差
    - 别让单镜头超过 15 秒、分镜超过 8 个 —— 抽卡成功率会暴跌
    - 别漏掉"声音:仅保留同期声" —— AI 会自己编配乐
    - 别在不同色调之间混用氛围段 —— 串色会毁掉多镜头剪辑
    
    ---
    
    ## 输出格式
    
    直接输出一份完整、能复制粘贴使用的提示词。不要分成多个代码块。用文档结构(标题 / 项目符号 / 时间标记)让用户能一眼看清。
    
    **最后简短说一下**:
    - 2-3 句"我做了哪些选择 / 为什么"
    - 1 句使用建议("用 Seedance 2.0,不要用 Fast 版" / "建议先做这一段试质感再补后续")
    - 1 句针对目标模型的兼容性建议(如 Seedance 避 IP 名 / Veo 用独立反向框 / Sora 把护栏写进正向提示词)
    
    如果用户给出反馈想改某一段,**只重写那一段**,不要全部重发。
    
  • TESTING.md 4.5 KB
    # 严格测试脚本:跨窗口验证 skill 是否在生效
    
    > 这个文档教你在**另一个 Claude Code 窗口**真实测试 skill 的有效性。
    > 我(写 SKILL.md 的那个 Claude)已经在自己上下文里见过 SKILL.md,自我评估有偏差。
    > 真正严格的测试是让一个干净的 Claude 跑同样的输入。
    
    ---
    
    ## 测试流程
    
    ### 步骤 1:开两个 Claude Code 窗口
    
    | 窗口 A:基线 | 窗口 B:带 skill |
    |---|---|
    | 在一个**没有这个 skill** 的目录启动 `claude` | 在 ai-shortfilm-prompts 仓库内启动 `claude` |
    | 或:cd 到任意空文件夹再启动 | 或:把 skill 拷到 `~/.claude/skills/` 后启动 |
    
    ### 步骤 2:两个窗口都跑同一个 Case
    
    从 `examples/` 挑一个 case,把"用户输入"原封不动粘贴给两边。
    
    推荐用 `01-mecha-energy-shield.md`(女机甲 + 雷暴 + 绿色能量护盾)—— 难度适中,5 段式表现差异最明显。
    
    ### 步骤 3:用 10 条 checklist 给两边打分
    
    把每个输出打印一份,逐项打勾:
    
    | # | 项目 | 窗口 A(基线) | 窗口 B(带 skill) |
    |---|---|---|---|
    | 1 | 5 段结构齐全 | □ | □ |
    | 2 | 有摄影机型号 + 镜头型号 | □ | □ |
    | 3 | 有"如呼吸般的镜头浮动"完整句式 | □ | □ |
    | 4 | 有"声音:不需要配乐,仅保留同期声" | □ | □ |
    | 5 | ≥2 处瑕疵描述 | □ | □ |
    | 6 | 结尾不堆特效,留白 | □ | □ |
    | 7 | 没有"完美/震撼/史诗/帅气/4K"空泛词 | □ | □ |
    | 8 | 没 IP 名 OR 有则有拦截提示 | □ | □ |
    | 9 | 单镜头≤15s / 多镜头≤8 分镜 | □ | □ |
    | 10 | 末尾给目标模型兼容性建议 | □ | □ |
    
    **期望结果**:
    - 窗口 A:通过 ≤ 3 条(基线很差)
    - 窗口 B:通过 ≥ 9 条(skill 有效)
    
    如果窗口 B 通过率不足 9 条 → SKILL.md 还有漏洞,需要补硬规则。
    
    ---
    
    ## 测试发现的 Bug 怎么处理
    
    ### Bug 类型 1:硬规则没被执行
    
    **症状**:明明 SKILL.md 写了"必须有摄影机型号",但输出里没有。
    **原因**:规则不够显式,AI 把它当作"建议"而非"强制"。
    **修复**:把规则改成 "❌ 不写就重做" 的强语气,并加 "自检:搜输出里是否包含 'IMAX' 或 'Panavision' 或 '索尼威尼斯' —— 没有就补"。
    
    ### Bug 类型 2:用户输入模糊时,AI 偷懒不问
    
    **症状**:用户只说"做一个机器人变身",AI 直接照默认值开干,没用 AskUserQuestion。
    **原因**:第 2 步的触发条件写得不够明确。
    **修复**:在 SKILL 的第 1 步加 "判断条件:以下 5 项中缺少 ≥2 项必须问问题"。
    
    ### Bug 类型 3:触发 IP 词时没加拦截提示
    
    **症状**:用户说"做一个钢铁侠风格的",AI 照写了,但末尾没加"可能被 Seedance 拦截"。
    **原因**:规则 7 的提示位置不够显眼。
    **修复**:在"输出格式"段加一条"如果输出包含任何 IP 名,必须在末尾加拦截提示"。
    
    ---
    
    ## 用 LLM-as-judge 自动化测试(高级)
    
    如果你想做 CI,可以这么做:
    
    ```python
    # pseudo-code
    import anthropic
    
    def evaluate_prompt(prompt_input, prompt_output):
        judge_response = anthropic.complete(
            model="claude-opus-4-7",
            system="你是 AI 视频提示词质量评审员。根据 10 条 checklist 给输出打分,返回 JSON: {passes: [...], fails: [...], score: N}",
            messages=[
                {"role": "user", "content": f"""
                用户输入:{prompt_input}
    
                待评审输出:
                {prompt_output}
    
                checklist:
                1. 5 段结构齐全
                2. 有摄影机型号 + 镜头型号
                3. 有"如呼吸般的镜头浮动"完整句式
                4. 有"声音:不需要配乐,仅保留同期声"
                5. ≥2 处瑕疵描述
                6. 结尾不堆特效,留白
                7. 没空泛词
                8. 没 IP 名 OR 有拦截提示
                9. 时长合理
                10. 末尾给模型建议
                """}
            ]
        )
        return judge_response
    
    # 跑所有 examples
    for case in glob("examples/*.md"):
        user_input = extract_user_input(case)
        skill_output = run_claude_with_skill(user_input)
        result = evaluate_prompt(user_input, skill_output)
        assert result.score >= 9, f"Skill failed on {case}: {result.fails}"
    ```
    
    可以接到 GitHub Actions 上,每次 PR 自动跑。
    
    ---
    
    ## 报告问题
    
    跑出来失败的 case,欢迎提 issue:
    - 仓库:https://github.com/jnMetaCode/ai-shortfilm-prompts/issues
    - 模板:附上"用户输入 + 实际输出 + 缺失的 checklist 项 + 你认为应该怎么改"
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related